mirror of
https://github.com/freqtrade/freqtrade.git
synced 2025-11-29 00:23:07 +00:00
Implement enter_tag initialization to avoid futures warning
This commit is contained in:
@@ -1388,7 +1388,8 @@ class IStrategy(ABC, HyperStrategyMixin):
|
||||
"""
|
||||
|
||||
logger.debug(f"Populating enter signals for pair {metadata.get('pair')}.")
|
||||
|
||||
# Initialize column to work around Pandas bug #56503.
|
||||
dataframe.loc[:, 'enter_tag'] = ''
|
||||
df = self.populate_entry_trend(dataframe, metadata)
|
||||
if 'enter_long' not in df.columns:
|
||||
df = df.rename({'buy': 'enter_long', 'buy_tag': 'enter_tag'}, axis='columns')
|
||||
@@ -1404,6 +1405,8 @@ class IStrategy(ABC, HyperStrategyMixin):
|
||||
currently traded pair
|
||||
:return: DataFrame with exit column
|
||||
"""
|
||||
# Initialize column to work around Pandas bug #56503.
|
||||
dataframe.loc[:, 'exit_tag'] = ''
|
||||
logger.debug(f"Populating exit signals for pair {metadata.get('pair')}.")
|
||||
df = self.populate_exit_trend(dataframe, metadata)
|
||||
if 'exit_long' not in df.columns:
|
||||
|
||||
@@ -734,7 +734,7 @@ def test_backtest_one(default_conf, fee, mocker, testdatadir) -> None:
|
||||
'min_rate': [0.10370188, 0.10300000000000001],
|
||||
'max_rate': [0.10501, 0.1038888],
|
||||
'is_open': [False, False],
|
||||
'enter_tag': [None, None],
|
||||
'enter_tag': ['', ''],
|
||||
"leverage": [1.0, 1.0],
|
||||
"is_short": [False, False],
|
||||
'open_timestamp': [1517251200000, 1517283000000],
|
||||
|
||||
@@ -72,7 +72,7 @@ def test_backtest_position_adjustment(default_conf, fee, mocker, testdatadir) ->
|
||||
'min_rate': [0.10370188, 0.10300000000000001],
|
||||
'max_rate': [0.10481985, 0.1038888],
|
||||
'is_open': [False, False],
|
||||
'enter_tag': [None, None],
|
||||
'enter_tag': ['', ''],
|
||||
'leverage': [1.0, 1.0],
|
||||
'is_short': [False, False],
|
||||
'open_timestamp': [1517251200000, 1517283000000],
|
||||
|
||||
@@ -1023,9 +1023,9 @@ def test_auto_hyperopt_interface_loadparams(default_conf, mocker, caplog):
|
||||
|
||||
@pytest.mark.parametrize('function,raises', [
|
||||
('populate_entry_trend', True),
|
||||
('advise_entry', True),
|
||||
('advise_entry', False),
|
||||
('populate_exit_trend', True),
|
||||
('advise_exit', True),
|
||||
('advise_exit', False),
|
||||
])
|
||||
def test_pandas_warning_direct(ohlcv_history, function, raises):
|
||||
|
||||
@@ -1041,8 +1041,8 @@ def test_pandas_warning_direct(ohlcv_history, function, raises):
|
||||
getattr(_STRATEGY, function)(df, {'pair': 'ETH/BTC'})
|
||||
|
||||
|
||||
def test_pandas_warning_through_analyze_pair(ohlcv_history, mocker):
|
||||
def test_pandas_warning_through_analyze_pair(ohlcv_history, mocker, recwarn):
|
||||
|
||||
mocker.patch.object(_STRATEGY.dp, 'ohlcv', return_value=ohlcv_history)
|
||||
with pytest.warns(FutureWarning):
|
||||
_STRATEGY.analyze_pair('ETH/BTC')
|
||||
_STRATEGY.analyze_pair('ETH/BTC')
|
||||
assert len(recwarn) == 0
|
||||
|
||||
Reference in New Issue
Block a user