From f0f96e60ea38169278f5b8b52b1197f3b2127cc4 Mon Sep 17 00:00:00 2001 From: =?utf8?q?J=C3=A9r=C3=B4me=20Benoit?= Date: Sun, 27 Apr 2025 16:29:07 +0200 Subject: [PATCH] refactor(qav3): cleanup zigzag() MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Signed-off-by: Jérôme Benoit --- .../user_data/freqaimodels/QuickAdapterRegressorV3.py | 6 ++++-- quickadapter/user_data/strategies/Utils.py | 6 ++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py b/quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py index 35d1e36..4c9b35a 100644 --- a/quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py +++ b/quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py @@ -892,11 +892,13 @@ def zigzag( if lows[i] < initial_low: initial_low, initial_low_pos = lows[i], i - if (initial_high - lows[i]) / initial_high >= thresholds[i]: + initial_move_up = (initial_high - lows[i]) / initial_high + initial_move_down = (highs[i] - initial_low) / initial_low + if initial_move_up >= thresholds[i]: add_pivot(initial_high_pos, initial_high, TrendDirection.UP) state = TrendDirection.DOWN break - elif (highs[i] - initial_low) / initial_low >= thresholds[i]: + elif initial_move_down >= thresholds[i]: add_pivot(initial_low_pos, initial_low, TrendDirection.DOWN) state = TrendDirection.UP break diff --git a/quickadapter/user_data/strategies/Utils.py b/quickadapter/user_data/strategies/Utils.py index 0f15c17..62f1255 100644 --- a/quickadapter/user_data/strategies/Utils.py +++ b/quickadapter/user_data/strategies/Utils.py @@ -347,11 +347,13 @@ def zigzag( if lows[i] < initial_low: initial_low, initial_low_pos = lows[i], i - if (initial_high - lows[i]) / initial_high >= thresholds[i]: + initial_move_up = (initial_high - lows[i]) / initial_high + initial_move_down = (highs[i] - initial_low) / initial_low + if initial_move_up >= thresholds[i]: add_pivot(initial_high_pos, initial_high, TrendDirection.UP) state = TrendDirection.DOWN break - elif (highs[i] - initial_low) / initial_low >= thresholds[i]: + elif initial_move_down >= thresholds[i]: add_pivot(initial_low_pos, initial_low, TrendDirection.DOWN) state = TrendDirection.UP break -- 2.43.0