diff --git a/config.json.example b/config.json.example index 15c58e1d5..b6bbcce27 100644 --- a/config.json.example +++ b/config.json.example @@ -29,6 +29,9 @@ "BTC_LUN" ] }, + "experimental": { + "use_sell_signal": false + }, "telegram": { "enabled": true, "token": "token", diff --git a/freqtrade/main.py b/freqtrade/main.py index e337a3ed5..6fd1ac197 100755 --- a/freqtrade/main.py +++ b/freqtrade/main.py @@ -156,10 +156,19 @@ def handle_trade(trade: Trade) -> bool: logger.debug('Handling %s ...', trade) current_rate = exchange.get_ticker(trade.pair)['bid'] - if min_roi_reached(trade, current_rate, datetime.utcnow()) or get_signal(trade.pair, SignalType.SELL): - execute_sell(trade, current_rate) - return True - return False + + # Check if minimal roi has been reached + if not min_roi_reached(trade, current_rate, datetime.utcnow()): + return False + + # Check if sell signal has been enabled and triggered + if _CONF.get('experimental', {}).get('use_sell_signal'): + logger.debug('Checking sell_signal ...') + if not get_signal(trade.pair, SignalType.SELL): + return False + + execute_sell(trade, current_rate) + return True def get_target_bid(ticker: Dict[str, float]) -> float: diff --git a/freqtrade/misc.py b/freqtrade/misc.py index bd8ff2496..97611601b 100644 --- a/freqtrade/misc.py +++ b/freqtrade/misc.py @@ -202,6 +202,12 @@ CONF_SCHEMA = { 'required': ['ask_last_balance'] }, 'exchange': {'$ref': '#/definitions/exchange'}, + 'experimental': { + 'type': 'object', + 'properties': { + 'use_sell_signal': {'type': 'boolean'} + } + }, 'telegram': { 'type': 'object', 'properties': {