From 9450a4cdf2870bbb861143764abe6775c8f561da Mon Sep 17 00:00:00 2001 From: =?utf8?q?J=C3=A9r=C3=B4me=20Benoit?= Date: Sat, 7 Jun 2025 20:56:17 +0200 Subject: [PATCH] refactor(qav3): refine get_trade_interpolation_natr() interpolation range 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 | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/quickadapter/user_data/strategies/QuickAdapterV3.py b/quickadapter/user_data/strategies/QuickAdapterV3.py index 15d402c..0fa4f93 100644 --- a/quickadapter/user_data/strategies/QuickAdapterV3.py +++ b/quickadapter/user_data/strategies/QuickAdapterV3.py @@ -529,16 +529,22 @@ class QuickAdapterV3(IStrategy): entry_natr = trade_label_natr.iloc[0] if isna(entry_natr) or entry_natr < 0: return None + if len(trade_label_natr) == 1: + return entry_natr current_natr = trade_label_natr.iloc[-1] if isna(current_natr) or current_natr < 0: return None + median_natr = trade_label_natr.median() + interpolation_values = [current_natr, median_natr, entry_natr] trade_volatility_quantile = calculate_quantile( trade_label_natr.to_numpy(), entry_natr ) if isna(trade_volatility_quantile): return None return np.interp( - trade_volatility_quantile, [0.0, 1.0], [current_natr, entry_natr] + trade_volatility_quantile, + np.linspace(0.0, 1.0, len(interpolation_values)), + interpolation_values, ) def get_trade_moving_average_natr( -- 2.43.0