The Vortex Indicator is a directional-movement tool built around a simple idea: in a genuine uptrend, each bar's high tends to stretch well above the prior bar's low, and in a genuine downtrend, each bar's low tends to stretch well below the prior bar's high. By summing those two distances separately over a period and dividing each by the summed true range, the Vortex Indicator produces two lines — VI+ and VI− — that cross whenever directional control of the market shifts from one side to the other. It belongs to the same family as ADX and its +DI/-DI lines, but arrives at a directional read through a different calculation, one named for the visual resemblance its plotted lines have to the twin, opposing spirals of a vortex.
How the Vortex Indicator Is Calculated
The calculation runs in three steps, applied fresh at every bar:
- Directional movement — for the current bar, calculate
VM+as the absolute distance between the current High and the previous bar's Low, andVM−as the absolute distance between the current Low and the previous bar's High. - True Range — calculate the same True Range used by ATR: the greatest of the current bar's High-Low span, the gap from the previous Close to the current High, or the gap from the previous Close to the current Low.
- Summation and division — sum
VM+,VM−, and True Range separately over the chosen period (default 14), then divide the summedVM+by the summed True Range to get VI+, and the summedVM−by the summed True Range to get VI−.
Both VI+ and VI− oscillate around a value of 1.0, without a fixed upper or lower bound. There's no built-in Vortex function in either MetaTrader 4 or MetaTrader 5 — unlike RSI, MACD, or ADX, it has to be calculated directly from High, Low, and Close, which is exactly what vortex-alert.mq4/.mq5 do internally rather than wrapping a platform indicator call.
Entry Conditions
The signal is a direct crossover between the two lines: when VI+ crosses above VI−, directional pressure has shifted toward buyers, and the indicator reads it as a bullish signal. When VI− crosses above VI+, pressure has shifted toward sellers, read as the mirrored bearish signal. The alert logic in vortex-alert.mq4/.mq5 checks the two most recently closed bars for exactly this cross and fires the moment it occurs, without requiring either line to be at any particular level first — unlike an oscillator with overbought/oversold zones, the Vortex Indicator's crossover is meaningful regardless of where the lines currently sit relative to 1.0.
Vortex vs ADX and +DI/-DI
Both the Vortex Indicator and ADX's +DI/-DI lines are trying to answer the same underlying question — which side of the market currently has directional control — and both produce two lines that cross to signal a shift. The difference is in what each measures directly. +DI and -DI are built from directional movement relative to the prior bar's high or low on the same side (up-move vs down-move), then smoothed with a Wilder-style moving average and expressed as a percentage of a smoothed True Range. VI+ and VI− instead measure the current bar's high or low against the opposite extreme of the previous bar (current High vs previous Low, and current Low vs previous High), summed over a simple period rather than smoothed with Wilder's method.
In practice this makes the Vortex Indicator's crossovers noticeably faster and more frequent than ADX's +DI/-DI crossovers, at the cost of triggering on more short-lived shifts that don't develop into a sustained trend. Where ADX also provides a separate trend-strength reading (the ADX line itself, with its 25 threshold), the Vortex Indicator has no equivalent built-in strength filter — VI+ and VI− tell you which side currently has the edge, not how strong that edge is, which is why the design choice covered in the next section exists.
Parameters
- VortexPeriod (default 14) — the lookback window that
VM+,VM−, and True Range are summed over. A shorter period (7-10) produces faster, more frequent crossovers that react quickly but generate more noise from short-lived directional shifts; a longer period (20-30) smooths the lines and reduces false crossovers, at the cost of confirming a genuine shift later. - EnableAlert / EnablePush — toggle the on-screen popup alert and mobile push notification independently when a new VI+/VI− crossover occurs.
How Traders Combine the Vortex Indicator with Other Tools
Because a Vortex crossover reacts quickly and can fire during choppy, directionless conditions, many traders pair it with a slower trend or volatility filter rather than trading every cross in isolation. Checking Trend vs Range market structure before acting on a Vortex signal is one straightforward filter — a crossover that agrees with the higher-timeframe trend direction carries more weight than one fighting it. A Moving Average crossover or a higher-timeframe bias check serves the same purpose: using the Vortex Indicator's fast crossover for entry timing while a slower tool confirms the broader direction is a common way to keep the Vortex Indicator's responsiveness without acting on every short-lived directional flicker it produces.
A Word of Caution
The Vortex Indicator's speed is also its main weakness: because VI+ and VI− react to a single bar's high/low relationship with the prior bar, a choppy, range-bound market can produce a rapid sequence of crossovers with no sustained move behind any of them, each one looking identical to a genuine trend shift at the moment it happens. There is no built-in strength filter to distinguish a crossover backed by real momentum from one that's just noise, so treating every VI+/VI− cross as a standalone trade signal, without a trend or volatility filter alongside it, is the single most common way to misuse this indicator. As with any indicator built from historical price, it confirms a shift that has already begun — it cannot confirm in advance that the shift will continue.
Download the Indicator
This custom indicator plots VI+ and VI− in a separate window and alerts on a crossover. It's available for both MetaTrader 4 and MetaTrader 5 below.
How to Install — MetaTrader 4
- Download the
vortex-alert.mq4file below. - Open MetaTrader 4 → click
File→Open Data Folder. - Place the file in the
MQL4/Indicatorsfolder. - Restart MetaTrader 4, then drag the indicator from the Navigator window onto the chart.
How to Install — MetaTrader 5
- Download the
vortex-alert.mq5file below. - Open MetaTrader 5 → click
File→Open Data Folder. - Place the file in the
MQL5/Indicatorsfolder. - Restart MetaTrader 5, then drag the indicator from the Navigator window onto the chart.
Both files are source code — open and review the full code before using it, for your own safety.