]> Piment Noir Git Repositories - freqai-strategies.git/commitdiff
refactor(qav3): cleanup zigzag()
authorJérôme Benoit <jerome.benoit@piment-noir.org>
Sun, 27 Apr 2025 14:29:07 +0000 (16:29 +0200)
committerJérôme Benoit <jerome.benoit@piment-noir.org>
Sun, 27 Apr 2025 14:29:07 +0000 (16:29 +0200)
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py
quickadapter/user_data/strategies/Utils.py

index 35d1e36f47744e24ece207f87880d1b6f7aea08e..4c9b35accc96c1455d4afaea035563374206d005 100644 (file)
@@ -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
index 0f15c17dc6c4e8747768313918c5248a4c159421..62f12559390bd8110ce46f15abe3c7a025c31ce9 100644 (file)
@@ -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