From afffa2f313bcc3a15dcb7c770ff7b7429a5ff15b Mon Sep 17 00:00:00 2001 From: misagh Date: Thu, 3 Jan 2019 14:38:38 +0100 Subject: [PATCH] =?UTF-8?q?changed=20to=20=E2=80=9CFree,=20open=20source?= =?UTF-8?q?=20=E2=80=A6=E2=80=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 72 ++++++++++++++++++++++++++++++++++++++--------- docs/bot-usage.md | 2 +- freqtrade/main.py | 4 +-- setup.py | 2 +- 4 files changed, 62 insertions(+), 18 deletions(-) diff --git a/README.md b/README.md index 50114a41c..e89edf76b 100644 --- a/README.md +++ b/README.md @@ -22,10 +22,33 @@ expect. We strongly recommend you to have coding and Python knowledge. Do not hesitate to read the source code and understand the mechanism of this bot. +## Exchange marketplaces supported + +- [X] [Bittrex](https://bittrex.com/) +- [X] [Binance](https://www.binance.com/) ([*Note for binance users](#a-note-on-binance)) +- [ ] [113 others to tests](https://github.com/ccxt/ccxt/). _(We cannot guarantee they will work)_ + ## Documentation +We invite you to read the bot documentation to ensure you understand how the bot is working. + Please find the complete documentation on our [website](https://www.freqtrade.io). +## Features + +- [x] **Based on Python 3.6+**: For botting on any operating system - Windows, macOS and Linux. +- [x] **Persistence**: Persistence is achieved through sqlite. +- [x] **Dry-run**: Run the bot without playing money. +- [x] **Backtesting**: Run a simulation of your buy/sell strategy. +- [x] **Strategy Optimization by machine learning**: Use machine learning to optimize your buy/sell strategy parameters with real exchange data. +- [x] **Edge position sizing** Calculate your win rate, risk reward ratio, the best stoploss and adjust your position size before taking a position for each specific market. [Learn more](https://www.freqtrade.io/en/latest/edge/). +- [x] **Whitelist crypto-currencies**: Select which crypto-currency you want to trade or use dynamic whitelists. +- [x] **Blacklist crypto-currencies**: Select which crypto-currency you want to avoid. +- [x] **Manageable via Telegram**: Manage the bot with Telegram. +- [x] **Display profit/loss in fiat**: Display your profit/loss in 33 fiat. +- [x] **Daily summary of profit/loss**: Provide a daily summary of your profit/loss. +- [x] **Performance status report**: Provide a performance status of your current trades. + ## Quick start Freqtrade provides a Linux/macOS script to install all dependencies and help you to configure the bot. @@ -42,40 +65,61 @@ For any other type of installation please refer to [Installation doc](https://ww ## Basic Usage +### Bot commands -```bash +``` usage: main.py [-h] [-v] [--version] [-c PATH] [-d PATH] [-s NAME] - [--strategy-path PATH] [--dynamic-whitelist [INT]] - [--dry-run-db] - {backtesting,hyperopt} ... + [--strategy-path PATH] [--customhyperopt NAME] + [--dynamic-whitelist [INT]] [--db-url PATH] + {backtesting,edge,hyperopt} ... -Simple High Frequency Trading Bot for crypto currencies +Free, open source crypto trading bot positional arguments: - {backtesting,hyperopt} + {backtesting,edge,hyperopt} backtesting backtesting module + edge edge module hyperopt hyperopt module optional arguments: -h, --help show this help message and exit - -v, --verbose be verbose - --version show program's version number and exit + -v, --verbose verbose mode (-vv for more, -vvv to get all messages) + --version show program\'s version number and exit -c PATH, --config PATH specify configuration file (default: config.json) -d PATH, --datadir PATH - path to backtest data (default: - freqtrade/tests/testdata + path to backtest data -s NAME, --strategy NAME specify strategy class name (default: DefaultStrategy) --strategy-path PATH specify additional strategy lookup path + --customhyperopt NAME + specify hyperopt class name (default: + DefaultHyperOpts) --dynamic-whitelist [INT] dynamically generate and update whitelist based on 24h - BaseVolume (Default 20 currencies) - --dry-run-db Force dry run to use a local DB - "tradesv3.dry_run.sqlite" instead of memory DB. Work - only if dry_run is enabled. + BaseVolume (default: 20) DEPRECATED. + --db-url PATH Override trades database URL, this is useful if + dry_run is enabled or in custom deployments (default: + None) ``` +### Telegram RPC commands + +Telegram is not mandatory. However, this is a great way to control your bot. More details on our [documentation](https://github.com/freqtrade/freqtrade/blob/develop/docs/index.md) + +- `/start`: Starts the trader +- `/stop`: Stops the trader +- `/status [table]`: Lists all open trades +- `/count`: Displays number of open trades +- `/profit`: Lists cumulative profit from all finished trades +- `/forcesell |all`: Instantly sells the given trade (Ignoring `minimum_roi`). +- `/performance`: Show performance of each finished trade grouped by pair +- `/balance`: Show account balance per currency +- `/daily `: Shows profit or loss per day, over the last n days +- `/help`: Show help message +- `/version`: Show version + + ## Development branches The project is currently setup in two main branches: diff --git a/docs/bot-usage.md b/docs/bot-usage.md index bc5e7f0b4..96b16b6b6 100644 --- a/docs/bot-usage.md +++ b/docs/bot-usage.md @@ -11,7 +11,7 @@ usage: main.py [-h] [-v] [--version] [-c PATH] [-d PATH] [-s NAME] [--dynamic-whitelist [INT]] [--db-url PATH] {backtesting,edge,hyperopt} ... -Simple High Frequency Trading Bot for crypto currencies +Free, open source crypto trading bot positional arguments: {backtesting,edge,hyperopt} diff --git a/freqtrade/main.py b/freqtrade/main.py index 3ed478ec3..f27145b45 100755 --- a/freqtrade/main.py +++ b/freqtrade/main.py @@ -25,7 +25,7 @@ def main(sysargv: List[str]) -> None: """ arguments = Arguments( sysargv, - 'Simple High Frequency Trading Bot for crypto currencies' + 'Free, open source crypto trading bot' ) args = arguments.get_parsed_arg() @@ -45,7 +45,7 @@ def main(sysargv: List[str]) -> None: freqtrade = FreqtradeBot(config) state = None - while 1: + while True: state = freqtrade.worker(old_state=state) if state == State.RELOAD_CONF: freqtrade = reconfigure(freqtrade, args) diff --git a/setup.py b/setup.py index 11f957e67..35fdb2938 100644 --- a/setup.py +++ b/setup.py @@ -11,7 +11,7 @@ from freqtrade import __version__ setup(name='freqtrade', version=__version__, - description='Simple High Frequency Trading Bot for crypto currencies', + description='Crypto Trading Bot', url='https://github.com/freqtrade/freqtrade', author='gcarq and contributors', author_email='michael.egger@tsn.at',