What is Vortex, in plain terms?
Vortex (often discussed as the “Vortex indicator”) is a technical-analysis method that tries to summarize which direction—upward or downward—was more dominant over a chosen lookback period. It does this by building two directional components from price movement and then comparing them.
A “worked example of Vortex” means you see the arithmetic for a small, clearly stated dataset: the window you choose, the formulas you apply, and the intermediate values you compute. This makes it possible to reproduce the same result on your own charting platform (or in a spreadsheet) and to see exactly what assumptions change the output.
Worked example of Vortex (with every assumption stated)
Below is one self-contained scenario using an invented mini dataset. Because there is no real-time data here, the only thing that “matters” is that the calculation rules are consistent.
Assumptions
- You use 5 bars as the lookback window (including the first bar as bar 1, then bars 2–5 as the full set for the numeric demonstration).
- You use OHLC data (open, high, low, close) for each bar.
- You compute true range (TR) in the standard way: TR = max(high − low, abs(high − prev_close), abs(low − prev_close)).
- You compute directional movement using the idea of whether the current high/low is “expanding” relative to the previous bar. (Different websites describe slightly different exact steps; pick one consistent definition and verify it against your platform.)
Mini dataset (invented)
For bars 1–5 (values are arbitrary but internally consistent):
- Bar 1: H=10, L=9, C=9.5
- Bar 2: H=10.5, L=9.4, C=10
- Bar 3: H=11, L=10.2, C=10.4
- Bar 4: H=10.8, L=10.1, C=10.2
- Bar 5: H=11.2, L=10.3, C=10.9
Step 1: compute TR for bars 2–5
Using TR definition and prev_close from the prior bar:
- TR2 uses prev_close=C1=9.5: max(10.5−9.4=1.1, |10.5−9.5|=1.0, |9.4−9.5|=0.1) = 1.1
- TR3 prev_close=C2=10: max(11−10.2=0.8, |11−10|=1.0, |10.2−10|=0.2) = 1.0
- TR4 prev_close=C3=10.4: max(10.8−10.1=0.7, |10.8−10.4|=0.4, |10.1−10.4|=0.3) = 0.7
- TR5 prev_close=C4=10.2: max(11.2−10.3=0.9, |11.2−10.2|=1.0, |10.3−10.2|=0.1) = 1.0
Step 2: compute directional components (+ and −)
Here is the key place where definitions vary across implementations. A common approach is:
- Create +V from upward directional movement, often based on how much the current high exceeds the previous high (or related expansion logic).
- Create −V from downward directional movement, often based on how much the current low is below the previous low (or related expansion logic).
- Scale those directional values by TR, then aggregate over the lookback.
To keep this worked example reproducible without claiming one universal formula, use this consistent, transparent template:
- Compute UpMove = max(H_t − H_{t−1}, 0)
- Compute DownMove = max(L_{t−1} − L_t, 0)
- Compute +VM = UpMove / TR_t and −VM = DownMove / TR_t
- Sum +VM over the window and sum −VM over the window.
Using that template:
- For bar 2: UpMove=max(10.5−10,0)=0.5; DownMove=max(9.0−9.4,0)=0 ⇒ +VM2=0.5/1.1=0.4545; −VM2=0
- Bar 3: UpMove=max(11−10.5,0)=0.5; DownMove=max(9.4−10.2,0)=0 ⇒ +VM3=0.5/1.0=0.5; −VM3=0
- Bar 4: UpMove=max(10.8−11,0)=0; DownMove=max(10.2−10.1,0)=0.1 ⇒ +VM4=0/0.7=0; −VM4=0.1/0.7=0.1429
- Bar 5: UpMove=max(11.2−10.8,0)=0.4; DownMove=max(10.1−10.3,0)=0 ⇒ +VM5=0.4/1.0=0.4; −VM5=0
Aggregate across bars 2–5 (four terms in this mini example):
- Sum(+VM)=0. 4545+0. 5+0+0. 4=1. 3545
- Sum(−VM)=0+0+0. 1429+0=**0.