Swing High/Low Indicator: Formula, Settings and How to Read It
Swing High/Low marks confirmed pivots: a bar whose high is strictly above the highs of the N bars on each side, or whose low is strictly below the lows of the N bars on each side.
Senzoukria · Indicators · Updated September 2026
Swing High/Low ships with the Senzoukria desktop app, in the Structure & sessions group of the indicator catalogue. It is drawn on the price chart.
What Swing High/Low measures
The comparison is strict on both sides, which means a plateau — two bars sharing the same extreme — produces no pivot at all rather than two competing ones. Confirmation requires N bars to print after the candidate, so every marker appears N bars after the turn it identifies; the indicator does not draw provisional pivots that would vanish on the next bar. The first and last N bars of the loaded chart lack the context on one side and are never marked. A swing high is drawn as a down arrow at the bar's high and a swing low as an up arrow at its low, pointing in the direction of the turn they identify.
The formula, as implemented
This is not a description of how the indicator is usually defined elsewhere — it is what the shipped code computes, documented next to the implementation:
Swing high / low — pivots stricts sur `leftRight` barres de chaque côté (cf. `isSwingHigh`/`isSwingLow` : STRICT des deux côtés, un plateau ne produit pas de pivot). Défaut 3 — le compromis habituel entre bruit (1-2 barres : chaque respiration devient un pivot) et retard (5+ : la structure n'apparaît qu'une fois le mouvement fini). Les `leftRight` premières et dernières barres n'ont PAS assez de contexte : aucun marqueur — un pivot « provisoire » qui disparaît à la barre suivante serait un mensonge visuel. C'est le prix de la confirmation : un swing n'est connu qu'avec `leftRight` barres de retard. Marqueurs : arrow-down au HIGH d'un swing high (le sens du retournement attendu), arrow-up au LOW d'un swing low.
How to read it
- Read the sequence rather than the individual marker: successive swing lows at higher prices describe one structure, and the picture changes when one of them is taken out.
- The right edge of the chart is always N bars behind: a turn may already be forming where no marker exists yet, so absence of a marker there is not absence of a pivot.
- Prior swing extremes are commonly where stop orders rest; when price trades through one, the footprint at that moment shows whether the break was absorbed or carried.
- Raising the setting keeps only the larger turns, which is the practical way to see whether a small structure sits inside a bigger one.
- All markers look alike: a one-tick turn and a major reversal get the same arrow, so size has to be judged from the chart, not from the marker.
Parameters and defaults
Bars each side defaults to 3, the usual compromise: 1 or 2 turns nearly every fluctuation into a pivot, while 5 or more shows only significant turns but confirms them that much later. The parameter accepts 1 to 50. The two colours separate swing highs (#ef5350) from swing lows (#26a69a) and have no effect on detection.
| Parameter | Type | Default | Range |
|---|---|---|---|
| Bars each side | number | 3 | 1 – 50 |
What it does not show
The method lags by construction — exactly N bars — and nothing can remove that delay without producing markers that disappear. It ranks nothing: every pivot is drawn the same way regardless of how much price moved around it. The strict comparison means a flat double top produces no marker even when it is visually obvious. The detection uses only highs and lows, so volume, delta and absorption at the pivot are invisible to it, and changing the bar interval changes the set of pivots completely.
Using it in Senzoukria
Add it from the Indicators panel of any footprint chart or candle chart. It runs on futures data from Rithmic or Databento and on crypto pairs from Binance and Bybit, on the same engine — the calculation does not change with the venue, only the data feeding it does. Market data subscriptions are billed by the provider, separately from the app.
Related indicators
- Prior Week High/Low — Structure & sessions
- Engulfing — Structure & sessions
- Pin Bar — Structure & sessions
- Inside Bar — Structure & sessions
- Outside Bar — Structure & sessions
- Doji — Structure & sessions
See the full indicator library, or start with the order flow guide if you are new to reading aggression, delta and absorption.
Frequently asked questions
- How do you identify a swing high and a swing low?
- A swing high is a bar whose high is above the highs of a fixed number of bars on its left and on its right; a swing low is the mirror case on lows. This implementation requires the comparison to be strict on both sides, so bars sharing the same extreme cancel each other out.
- Why do swing markers only appear a few bars after the turn?
- A pivot is not confirmed until the required number of bars has printed on its right side. With the default of 3, the marker appears three bars after the extreme. Drawing it earlier would mean showing pivots that can be removed by the next bar.
- What is a good number of bars for swing detection?
- It depends on what you want to see rather than on the instrument. Low values such as 1 or 2 mark almost every fluctuation, the default of 3 filters most noise while confirming quickly, and 5 or more isolates the larger turns at the cost of a longer delay.