Vortex Indicator (VI)
period
= 14 (10–30) Overview
The Vortex Indicator captures the essence of price movement by analyzing the relationship between consecutive price bars to determine trend direction. Drawing inspiration from Viktor Schauberger's observations of water vortices, Botes and Siepman recognized that financial markets exhibit similar rotational patterns during trending and ranging periods. The indicator consists of two lines: VI+ (positive vortex) measuring upward price movement and VI- (negative vortex) measuring downward movement, both normalized by the true range to create comparable oscillators.
The calculation involves measuring the distance from the current high to the prior low for VI+ and from the current low to the prior high for VI-, then dividing by the sum of true ranges over the lookback period. This approach effectively captures the "vortex" motion of prices, where strong trends create clear separation between the lines while ranging markets show the lines intertwining. Published in Technical Analysis of Stocks & Commodities in January 2010, the indicator has gained popularity for its ability to identify trend beginnings with minimal lag.
Interpretation & Trading Signals
Crossover Signals:
- Bullish Signal: VI+ crosses above VI- indicating uptrend beginning
- Bearish Signal: VI- crosses above VI+ indicating downtrend beginning
- Trend End: VI+ crossing below VI- signals uptrend exhaustion
- Entry Strategy: Use extreme high/low of crossover day as entry price
Trend Strength Analysis:
- Strong Uptrend: VI+ significantly above VI- with widening gap
- Strong Downtrend: VI- significantly above VI+ with separation
- Trend Weakening: Lines converging suggests momentum loss
- Range-Bound: Lines intertwining indicates consolidation
Advanced Trading Strategies:
- Filter Strategy: Use good-until-canceled orders at crossover extremes
- Confirmation: Combine with other indicators to reduce false signals
- Stop Loss: Place stops below/above opposite extreme of entry bar
- Parameter Selection: 14-30 periods, with 14 being most common
Example Usage
Code examples will be available once the Rust implementation is complete.