Free, open source crypto trading bot
Go to file
Michael Egger 95ec2a517a Merge pull request #12 from vertti/stoploss
Add a stop-loss feature
2017-09-08 10:48:39 +02:00
rpc fix sqlalchemy session to use contextual session 2017-09-06 17:13:21 +03:00
.gitignore fix Session lint issues 2017-09-03 09:50:48 +03:00
.pylintrc add pylint rule file that allows to use logger in lowercase 2017-08-27 15:37:11 +03:00
analyze.py Merge branch 'master' into parabolic-sar 2017-09-04 12:07:13 +03:00
config.json.example add stoploss to example config and json schema validation 2017-09-07 17:31:55 +03:00
Dockerfile install TA-lib in Dockerfile 2017-09-03 17:35:58 +03:00
exchange.py implement get_markets 2017-09-02 01:09:57 +02:00
LICENSE Initial commit 2017-05-18 02:13:02 +02:00
main.py remove unnecessary parentheses 2017-09-08 08:03:24 +03:00
persistence.py fix sqlalchemy session to use contextual session 2017-09-06 17:13:21 +03:00
README.md update README to document stoploss 2017-09-07 17:39:16 +03:00
requirements.txt let TA-lib calculate macd, macdsignal and macdhistogram. remove the now unnecessary StockStats library 2017-09-02 11:56:56 +03:00
utils.py Merge pull request #12 from vertti/stoploss 2017-09-08 10:48:39 +02:00

freqtrade

Simple High frequency trading bot for crypto currencies. Currently supported exchanges: bittrex, poloniex (partly implemented)

This software is for educational purposes only. Don't risk money which you are afraid to lose.

The command interface is accessible via Telegram (not required). Just register a new bot on https://telegram.me/BotFather and enter the telegram token and your chat_id in config.json

Persistence is achieved through sqlite.

Telegram RPC commands:
  • /start: Starts the trader
  • /stop: Stops the trader
  • /status: Lists all open trades
  • /profit: Lists cumulative profit from all finished trades
  • /forcesell <trade_id>: Instantly sells the given trade (Ignoring minimum_roi).
  • /performance: Show performance of each finished trade grouped by pair
Config

minimal_roi is a JSON object where the key is a duration in minutes and the value is the minimum ROI in percent. See the example below:

"minimal_roi": {
    "2880": 0.005, # Sell after 48 hours if there is at least 0.5% profit
    "1440": 0.01,  # Sell after 24 hours if there is at least 1% profit
    "720":  0.02,  # Sell after 12 hours if there is at least 2% profit
    "360":  0.02,  # Sell after 6 hours if there is at least 2% profit
    "0":    0.025  # Sell immediately if there is at least 2.5% profit
},

stoploss is loss in percentage that should trigger a sale. For example value -0.10 will cause immediate sell if the profit dips below -10% for a given trade. This parameter is optional.

The other values should be self-explanatory, if not feel free to raise a github issue.

Prerequisites
  • python3.6
  • sqlite
  • TA-lib binaries
Install
$ cd freqtrade/
# copy example config. Dont forget to insert your api keys
$ cp config.json.example config.json
$ python -m venv .env
$ source .env/bin/activate
$ pip install -r requirements.txt
$ ./main.py

Docker

$ cd freqtrade
$ docker build -t freqtrade .
$ docker run --rm -it freqtrade