diff --git a/freqtrade/constants.py b/freqtrade/constants.py index 8fbcdfed7..6c71ddf7b 100644 --- a/freqtrade/constants.py +++ b/freqtrade/constants.py @@ -13,6 +13,7 @@ DEFAULT_HYPEROPT = 'DefaultHyperOpts' DEFAULT_DB_PROD_URL = 'sqlite:///tradesv3.sqlite' DEFAULT_DB_DRYRUN_URL = 'sqlite://' UNLIMITED_STAKE_AMOUNT = 'unlimited' +DEFAULT_AMOUNT_RESERVE_PERCENT = 0.05 REQUIRED_ORDERTIF = ['buy', 'sell'] REQUIRED_ORDERTYPES = ['buy', 'sell', 'stoploss', 'stoploss_on_exchange'] ORDERTYPE_POSSIBILITIES = ['limit', 'market'] diff --git a/freqtrade/freqtradebot.py b/freqtrade/freqtradebot.py index f8d61d4aa..656744ab6 100644 --- a/freqtrade/freqtradebot.py +++ b/freqtrade/freqtradebot.py @@ -299,7 +299,8 @@ class FreqtradeBot(object): return None # reserve some percent defined in config (5% default) + stoploss - amount_reserve_percent = 1.0 - self.config.get('amount_reserve_percent', 0.05) + amount_reserve_percent = 1.0 - self.config.get('amount_reserve_percent', + constants.DEFAULT_AMOUNT_RESERVE_PERCENT) if self.strategy.stoploss is not None: amount_reserve_percent += self.strategy.stoploss # it should not be more than 50% diff --git a/requirements.txt b/requirements.txt index be655167d..c9cedcb0c 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,4 +1,4 @@ -ccxt==1.18.245 +ccxt==1.18.247 SQLAlchemy==1.2.18 python-telegram-bot==11.1.0 arrow==0.13.1 diff --git a/user_data/strategies/test_strategy.py b/user_data/strategies/test_strategy.py index c4ea59e45..3cb78842f 100644 --- a/user_data/strategies/test_strategy.py +++ b/user_data/strategies/test_strategy.py @@ -55,7 +55,7 @@ class TestStrategy(IStrategy): # Experimental settings (configuration will overide these if set) use_sell_signal = False - use_profit_only = False + sell_profit_only = False ignore_roi_if_buy_signal = False # Optional order type mapping @@ -266,7 +266,8 @@ class TestStrategy(IStrategy): ( (dataframe['adx'] > 30) & (dataframe['tema'] <= dataframe['bb_middleband']) & - (dataframe['tema'] > dataframe['tema'].shift(1)) + (dataframe['tema'] > dataframe['tema'].shift(1)) & + (dataframe['volume'] > 0) # Make sure Volume is not 0 ), 'buy'] = 1 @@ -283,7 +284,8 @@ class TestStrategy(IStrategy): ( (dataframe['adx'] > 70) & (dataframe['tema'] > dataframe['bb_middleband']) & - (dataframe['tema'] < dataframe['tema'].shift(1)) + (dataframe['tema'] < dataframe['tema'].shift(1)) & + (dataframe['volume'] > 0) # Make sure Volume is not 0 ), 'sell'] = 1 return dataframe