High low high marker
Marks a high, a drop of set size, then a rebound of set size, on the bar the rebound completes.
The indicator reads the highs and lows bar by bar, looking for a swing: a high, a fall from that high of at least min_change_pct, then a rise from the low of at least min_change_pct. Each leg must span at least min_interval bars. When a swing completes, its second high becomes the start of the next search.
How to read it
- Each marker sits on the bar where the rebound first clears min_change_pct above the low, so it prints after the turn, not at the extreme.
- The swing is the drop from the first high plus the rebound from the low; a marker appears only when both legs reach the set size.
- At the defaults markers are rare, so a chart with none is normal. Lower min_change_pct to see more swings.
What it outputs
- High-low-high swing
- True on the bar that completes a swing: a drop from the first high and a rebound from the low, each at least min_change_pct.
When it fires
The bar where a rebound from a completed drop first reaches min_change_pct above that drop's low. The marker sits on that bar, and its high starts the search for the next swing.
Settings
- Min Change
- The size each leg must reach, as a fraction of price (0.02 is 2 percent). Raising it keeps only the largest swings and markers get rare; lowering it counts small wiggles, and on one-minute bars that means many more markers.
- Min Interval
- The fewest bars allowed between the first high and the low, and between the low and the rebound. Raising it ignores quick spikes that reverse within a few minutes; lowering it to 1 lets a swing finish on consecutive bars.
Pitfalls
- At the defaults it fired once in September 2026 SPY one-minute bars, so it is rare unless the thresholds are loosened (0.5% legs with 5 bars gave 14).
- The second high is not required to stay below the first, so a rebound above the earlier high also completes the pattern. It is not a classic double top.
- When one bar's range straddles the stored first high or low, that level is not updated, so a marker can cite a stale price. The branch order looks unintended.