Skip to content

Commit a7ebbd8

Browse files
committed
feat: add strategy-ResultValidator to backtesting
helps issues such as freqtrade#11781
1 parent ee25635 commit a7ebbd8

File tree

1 file changed

+11
-5
lines changed

1 file changed

+11
-5
lines changed

freqtrade/strategy/interface.py

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1214,7 +1214,9 @@ def analyze_pair(self, pair: str) -> None:
12141214
return
12151215

12161216
try:
1217-
validator = StrategyResultValidator(dataframe, self.disable_dataframe_checks)
1217+
validator = StrategyResultValidator(
1218+
dataframe, warn_only=not self.disable_dataframe_checks
1219+
)
12181220

12191221
dataframe = strategy_safe_wrapper(self._analyze_ticker_internal, message="")(
12201222
dataframe, {"pair": pair}
@@ -1677,10 +1679,14 @@ def advise_all_indicators(self, data: dict[str, DataFrame]) -> dict[str, DataFra
16771679
Has positive effects on memory usage for whatever reason - also when
16781680
using only one strategy.
16791681
"""
1680-
return {
1681-
pair: self.advise_indicators(pair_data.copy(), {"pair": pair}).copy()
1682-
for pair, pair_data in data.items()
1683-
}
1682+
res = {}
1683+
for pair, pair_data in data.items():
1684+
validator = StrategyResultValidator(
1685+
pair_data, warn_only=not self.disable_dataframe_checks
1686+
)
1687+
res[pair] = self.advise_indicators(pair_data.copy(), {"pair": pair}).copy()
1688+
validator.assert_df(res[pair])
1689+
return res
16841690

16851691
def ft_advise_signals(self, dataframe: DataFrame, metadata: dict) -> DataFrame:
16861692
"""

0 commit comments

Comments
 (0)