From 75a74907fe96a0076526ba21975f1a3088d040ca Mon Sep 17 00:00:00 2001 From: =?utf8?q?J=C3=A9r=C3=B4me=20Benoit?= Date: Thu, 20 Mar 2025 10:11:30 +0100 Subject: [PATCH] refactor(qav3): factor out trade candle getter MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Signed-off-by: Jérôme Benoit --- quickadapter/user_data/strategies/QuickAdapterV3.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/quickadapter/user_data/strategies/QuickAdapterV3.py b/quickadapter/user_data/strategies/QuickAdapterV3.py index 334335c..37e63b7 100644 --- a/quickadapter/user_data/strategies/QuickAdapterV3.py +++ b/quickadapter/user_data/strategies/QuickAdapterV3.py @@ -393,12 +393,17 @@ class QuickAdapterV3(IStrategy): def populate_exit_trend(self, df: DataFrame, metadata: dict) -> DataFrame: return df - def get_trade_entry_natr(self, df: DataFrame, trade: Trade) -> float | None: + def get_trade_entry_candle(self, df: DataFrame, trade: Trade) -> DataFrame | None: entry_date = timeframe_to_prev_date(self.timeframe, trade.open_date_utc) entry_candle = df.loc[(df["date"] == entry_date)] if entry_candle.empty: return None - entry_candle = entry_candle.squeeze() + return entry_candle.squeeze() + + def get_trade_entry_natr(self, df: DataFrame, trade: Trade) -> float | None: + entry_candle = self.get_trade_entry_candle(df, trade) + if isna(entry_candle): + return None return entry_candle["natr_ratio_labeling_window"] def get_trade_stoploss_distance(self, df: DataFrame, trade: Trade) -> float | None: -- 2.43.0