diff --git a/config.json.example b/config.json.example index 8ff849649..9dab7b998 100644 --- a/config.json.example +++ b/config.json.example @@ -47,7 +47,8 @@ }, "experimental": { "use_sell_signal": false, - "sell_profit_only": false + "sell_profit_only": false, + "sell_fullfilled_at_roi": false }, "telegram": { "enabled": true, diff --git a/config_full.json.example b/config_full.json.example index 1dbed091f..1601f672e 100644 --- a/config_full.json.example +++ b/config_full.json.example @@ -51,7 +51,8 @@ }, "experimental": { "use_sell_signal": false, - "sell_profit_only": false + "sell_profit_only": false, + "sell_fullfilled_at_roi": false }, "telegram": { "enabled": true, diff --git a/docs/configuration.md b/docs/configuration.md index 5ec5462ea..925af823b 100644 --- a/docs/configuration.md +++ b/docs/configuration.md @@ -18,20 +18,20 @@ The table below will list all configuration parameters. | `stake_currency` | BTC | Yes | Crypto-currency used for trading. | `stake_amount` | 0.05 | Yes | Amount of crypto-currency your bot will use for each trade. Per default, the bot will use (0.05 BTC x 3) = 0.15 BTC in total will be always engaged. | `ticker_interval` | [1m, 5m, 30m, 1h, 1d] | No | The ticker interval to use (1min, 5 min, 30 min, 1 hour or 1 day). Default is 5 minutes -| `fiat_display_currency` | USD | Yes | Fiat currency used to show your profits. More information below. -| `dry_run` | true | Yes | Define if the bot must be in Dry-run or production mode. -| `minimal_roi` | See below | No | Set the threshold in percent the bot will use to sell a trade. More information below. If set, this parameter will override `minimal_roi` from your strategy file. +| `fiat_display_currency` | USD | Yes | Fiat currency used to show your profits. [More information below](docs/configuration.md#what-are-the-valid-values-for-fiat_display_currency). +| `dry_run` | true | Yes | Define if the bot must be in Dry-run or production mode. [More information below](docs/configuration.md#switch-to-dry-run--paper-trading-mode) +| `minimal_roi` | See below | No | Set the threshold in percent the bot will use to sell a trade. More information below. If set, this parameter will override `minimal_roi` from your strategy file. [More information below](docs/configuration.md#understanding-minimal_roi). | `stoploss` | -0.10 | No | Value of the stoploss in percent used by the bot. More information below. If set, this parameter will override `stoploss` from your strategy file. -| `disable_buy` | false | No | Disables buying of crypto-currency +| `disable_buy` | false | No | Disables buying of crypto-currency. Bot will continue to sell. | `unfilledtimeout.buy` | 10 | Yes | How long (in minutes) the bot will wait for an unfilled buy order to complete, after which the order will be cancelled. | `unfilledtimeout.sell` | 10 | Yes | How long (in minutes) the bot will wait for an unfilled sell order to complete, after which the order will be cancelled. -| `bid_strategy.ask_last_balance` | 0.0 | Yes | Set the bidding price. More information below. -| `bid_strategy.use_book_order` | false | No | Use book order to set the bidding price. More information below. -| `bid_strategy.book_order_top` | 1 | No | Selects the top n bidding price in book order. More information below. -| `bid_strategy.percent_from_top` | 1 | No | Set the percent to deduct from the buy rate from book order (if enabled) or from ask/last price. More information below. +| `bid_strategy.ask_last_balance` | 0.0 | Yes | Set the bidding price. [More information below](docs/configuration.md#understanding-bid_strategyask_last_balance). +| `bid_strategy.use_book_order` | false | No | Use book order to set the bidding price. [More information below](docs/configuration.md#understanding-bid_strategyuse_book_order). +| `bid_strategy.book_order_top` | 1 | No | Selects the top n bidding price in book order. [More information below](docs/configuration.md#understanding-bid_strategyuse_book_order). +| `bid_strategy.percent_from_top` | 0 | No | Set the percent to deduct from the buy rate from book order (if enabled) or from ask/last price. [More information below](docs/configuration.md#understanding-bid_strategypercent_from_top). | `ask_strategy.use_book_order` | false | No | Use book order to set the asking price. More information below. -| `ask_strategy.book_order_min` | 1 | No | The minimum index from the top to search for profitable asking price from book order. More information below. -| `ask_strategy.book_order_max` | 1 | No | The maximum index from the top to search for profitable asking price from book order. More information below. +| `ask_strategy.book_order_min` | 1 | No | The minimum index from the top to search for profitable asking price from book order. [More information below](docs/configuration.md#understanding-ask_strategyuse_book_order). +| `ask_strategy.book_order_max` | 1 | No | The maximum index from the top to search for profitable asking price from book order. [More information below](docs/configuration.md#understanding-ask_strategyuse_book_order). | `exchange.name` | bittrex | Yes | Name of the exchange class to use. [List below](#user-content-what-values-for-exchangename). | `exchange.key` | key | No | API key to use for the exchange. Only required when you are in production mode. | `exchange.secret` | secret | No | API secret to use for the exchange. Only required when you are in production mode. @@ -39,11 +39,12 @@ The table below will list all configuration parameters. | `exchange.pair_blacklist` | [] | No | List of currency the bot must avoid. Useful when using `--dynamic-whitelist` param. | `experimental.use_sell_signal` | false | No | Use your sell strategy in addition of the `minimal_roi`. | `experimental.sell_profit_only` | false | No | waits until you have made a positive profit before taking a sell decision. +| `experimental.sell_fullfilled_at_roi` | false | No | automatically creates a sell order based on `minimal_roi` once a buy order has been fullfilled. | `telegram.enabled` | true | Yes | Enable or not the usage of Telegram. | `telegram.token` | token | No | Your Telegram bot token. Only required if `telegram.enabled` is `true`. | `telegram.chat_id` | chat_id | No | Your personal Telegram account id. Only required if `telegram.enabled` is `true`. | `db_url` | `sqlite:///tradesv3.sqlite` | No | Declares database URL to use. NOTE: This defaults to `sqlite://` if `dry_run` is `True`. -| `initial_state` | running | No | Defines the initial application state. More information below. +| `initial_state` | running | No | Defines the initial application state. [More information below](docs/configuration.md#understanding-initial_state). | `strategy` | DefaultStrategy | No | Defines Strategy class to use. | `strategy_path` | null | No | Adds an additional strategy lookup path (must be a folder). | `internals.process_throttle_secs` | 5 | Yes | Set the process throttle. Value in second. diff --git a/freqtrade/constants.py b/freqtrade/constants.py index 7e69e45ff..4031f9eed 100644 --- a/freqtrade/constants.py +++ b/freqtrade/constants.py @@ -92,7 +92,8 @@ CONF_SCHEMA = { 'type': 'object', 'properties': { 'use_sell_signal': {'type': 'boolean'}, - 'sell_profit_only': {'type': 'boolean'} + 'sell_profit_only': {'type': 'boolean'}, + 'sell_fullfilled_at_roi' : {'type': 'boolean'} } }, 'telegram': { diff --git a/freqtrade/freqtradebot.py b/freqtrade/freqtradebot.py index 823911991..1fb93e007 100644 --- a/freqtrade/freqtradebot.py +++ b/freqtrade/freqtradebot.py @@ -261,7 +261,7 @@ class FreqtradeBot(object): orderBook_rate = orderBook['bids'][self.config['bid_strategy']['book_order_top']][0] orderBook_rate = orderBook_rate+0.00000001 # if ticker has lower rate, then use ticker ( usefull if down trending ) - logger.info('...book order bid rate %0.8f', orderBook_rate) + logger.info('...book order buy rate %0.8f', orderBook_rate) if ticker_rate < orderBook_rate: logger.info('...using ticker rate instead %0.8f', ticker_rate) used_rate = ticker_rate @@ -270,14 +270,10 @@ class FreqtradeBot(object): logger.info('Using Last Ask / Last Price') used_rate = ticker_rate - logger.info('used rate %0.8f', used_rate) - - logger.info('percent_from_top %0.8f', self.config['bid_strategy']['percent_from_top']) - logger.info('percent_from_top %s', self.config['bid_strategy']['percent_from_top'] > 0) if self.config['bid_strategy']['percent_from_top'] > 0: used_rate = used_rate - (used_rate * self.config['bid_strategy']['percent_from_top']) used_rate = self.analyze.trunc_num(used_rate, 8) - logger.info('used rate xx %0.8f', used_rate) + logger.info('...percent_from_top enabled, new buy rate %0.8f', used_rate) return used_rate