From 6746868ea73b8f252590ce95b888a99398da470c Mon Sep 17 00:00:00 2001 From: robcaulk Date: Sat, 12 Nov 2022 11:33:03 +0100 Subject: [PATCH] store dataprovider to self instead of strategy --- freqtrade/freqai/RL/BaseReinforcementLearningModel.py | 4 ++-- freqtrade/freqai/freqai_interface.py | 5 +++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/freqtrade/freqai/RL/BaseReinforcementLearningModel.py b/freqtrade/freqai/RL/BaseReinforcementLearningModel.py index 64af31c45..f3da91b51 100644 --- a/freqtrade/freqai/RL/BaseReinforcementLearningModel.py +++ b/freqtrade/freqai/RL/BaseReinforcementLearningModel.py @@ -177,10 +177,10 @@ class BaseReinforcementLearningModel(IFreqaiModel): trade_duration = 0 for trade in open_trades: if trade.pair == pair: - if self.strategy.dp._exchange is None: # type: ignore + if self.data_provider._exchange is None: # type: ignore logger.error('No exchange available.') else: - current_value = self.strategy.dp._exchange.get_rate( # type: ignore + current_value = self.data_provider._exchange.get_rate( # type: ignore pair, refresh=False, side="exit", is_short=trade.is_short) openrate = trade.open_rate now = datetime.now(timezone.utc).timestamp() diff --git a/freqtrade/freqai/freqai_interface.py b/freqtrade/freqai/freqai_interface.py index d28f00dda..406d37dc3 100644 --- a/freqtrade/freqai/freqai_interface.py +++ b/freqtrade/freqai/freqai_interface.py @@ -15,6 +15,7 @@ from pandas import DataFrame from freqtrade.configuration import TimeRange from freqtrade.constants import DATETIME_PRINT_FORMAT, Config +from freqtrade.data.dataprovider import DataProvider from freqtrade.enums import RunMode from freqtrade.exceptions import OperationalException from freqtrade.exchange import timeframe_to_seconds @@ -99,7 +100,7 @@ class IFreqaiModel(ABC): self.get_corr_dataframes: bool = True self._threads: List[threading.Thread] = [] self._stop_event = threading.Event() - self.strategy: Optional[IStrategy] = None + self.data_provider: Optional[DataProvider] = None self.max_system_threads = max(int(psutil.cpu_count() * 2 - 2), 1) record_params(config, self.full_path) @@ -129,7 +130,7 @@ class IFreqaiModel(ABC): self.live = strategy.dp.runmode in (RunMode.DRY_RUN, RunMode.LIVE) self.dd.set_pair_dict_info(metadata) - self.strategy = strategy + self.data_provider = strategy.dp if self.live: self.inference_timer('start')