Forex
Indicator

Indicator: What Is the Vortex Indicator? Reading VI+ and VI- Crossovers

Last updated 2026-07-23

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:

  1. Directional movement — for the current bar, calculate VM+ as the absolute distance between the current High and the previous bar's Low, and VM− as the absolute distance between the current Low and the previous bar's High.
  2. 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.
  3. Summation and division — sum VM+, VM−, and True Range separately over the chosen period (default 14), then divide the summed VM+ by the summed True Range to get VI+, and the summed VM− 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

PriceBUYVI+ / VI− (both oscillate around 1.0)1.0VI+VI−
Entry conditions: BUY when VI+ crosses above VI− — SELL when VI− crosses above VI+

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

  1. Download the vortex-alert.mq4 file below.
  2. Open MetaTrader 4 → click FileOpen Data Folder.
  3. Place the file in the MQL4/Indicators folder.
  4. Restart MetaTrader 4, then drag the indicator from the Navigator window onto the chart.

How to Install — MetaTrader 5

  1. Download the vortex-alert.mq5 file below.
  2. Open MetaTrader 5 → click FileOpen Data Folder.
  3. Place the file in the MQL5/Indicators folder.
  4. 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.

Download vortex-alert.mq4

For MetaTrader 4 — this is source code (.mq4), open and review it fully before using it.

Download File

Download vortex-alert.mq5

For MetaTrader 5 — this is source code (.mq5), open and review it fully before using it.

Download File