From cbfee51f321992ba17501605514e87cf8a6361f3 Mon Sep 17 00:00:00 2001 From: xmatthias Date: Fri, 22 Jun 2018 20:51:21 +0200 Subject: [PATCH] introduce experimental variable and fix test naming --- freqtrade/analyze.py | 9 ++++----- freqtrade/freqtradebot.py | 5 ++--- freqtrade/tests/test_freqtradebot.py | 2 +- 3 files changed, 7 insertions(+), 9 deletions(-) diff --git a/freqtrade/analyze.py b/freqtrade/analyze.py index b986b9611..fc81f3fb9 100644 --- a/freqtrade/analyze.py +++ b/freqtrade/analyze.py @@ -172,7 +172,8 @@ class Analyze(object): if the threshold is reached and updates the trade record. :return: True if trade should be sold, False otherwise """ - if buy and self.config.get('experimental', {}).get('ignore_roi_if_buy_signal', False): + experimental = self.config.get('experimental', {}) + if buy and experimental.get('ignore_roi_if_buy_signal', False): logger.debug('Buy signal still active - not selling.') return False @@ -181,13 +182,11 @@ class Analyze(object): logger.debug('Required profit reached. Selling..') return True - # Experimental: Check if the trade is profitable before selling it (avoid selling at loss) - if self.config.get('experimental', {}).get('sell_profit_only', False): + if experimental.get('sell_profit_only', False): logger.debug('Checking if trade is profitable..') if trade.calc_profit(rate=rate) <= 0: return False - - if sell and not buy and self.config.get('experimental', {}).get('use_sell_signal', False): + if sell and not buy and experimental.get('use_sell_signal', False): logger.debug('Sell signal received. Selling..') return True diff --git a/freqtrade/freqtradebot.py b/freqtrade/freqtradebot.py index f06460706..221d32e9e 100644 --- a/freqtrade/freqtradebot.py +++ b/freqtrade/freqtradebot.py @@ -423,9 +423,8 @@ with limit `{buy_limit:.8f} ({stake_amount:.6f} \ current_rate = self.exchange.get_ticker(trade.pair)['bid'] (buy, sell) = (False, False) - - if (self.config.get('experimental', {}).get('use_sell_signal') - or self.config.get('experimental', {}).get('ignore_roi_if_buy_signal')): + experimental = self.config.get('experimental', {}) + if experimental.get('use_sell_signal') or experimental.get('ignore_roi_if_buy_signal'): (buy, sell) = self.analyze.get_signal(self.exchange, trade.pair, self.analyze.get_ticker_interval()) diff --git a/freqtrade/tests/test_freqtradebot.py b/freqtrade/tests/test_freqtradebot.py index c18950177..bad6d9502 100644 --- a/freqtrade/tests/test_freqtradebot.py +++ b/freqtrade/tests/test_freqtradebot.py @@ -1335,7 +1335,7 @@ def test_sell_profit_only_disable_loss(default_conf, limit_buy_order, fee, mocke assert freqtrade.handle_trade(trade) is True -def ignore_roi_if_buy_signal(default_conf, limit_buy_order, fee, mocker) -> None: +def test_ignore_roi_if_buy_signal(default_conf, limit_buy_order, fee, mocker) -> None: """ Test sell_profit_only feature when enabled and we have a loss """