The Vortex Indicator (VI) is one of the cleaner trend-detection tools in modern technical analysis: two oscillating lines, VI+ and VI-, whose crossovers mark the moment trend pressure flips from sellers to buyers or back. ProBuilder already ships it natively as VIplus and VIminus, so there is nothing to translate — but until now there was no ready-made ProScreener on ProRealCode that turns the Vortex’s core signal into a market-wide scan.
This screener fills that gap. It sweeps your whole universe and returns the instruments where VI+ has just crossed above VI- on the most recent closed bar — a fresh bullish Vortex signal — sorted so the strongest crossovers float to the top.
Etienne Botes and Douglas Siepman introduced the Vortex Indicator in the January 2010 issue of Technical Analysis of Stocks & Commodities. The idea is borrowed from the way water forms vortices: every bar carries some upward rotational movement and some downward, and the relative size of the two tells you which side controls the trend.
The construction is simple:
VM+ = abs(High - Low[1]) // positive vortex movement (upward)
VM- = abs(Low - High[1]) // negative vortex movement (downward)
VI+ = sum(VM+, N) / sum(TrueRange, N)
VI- = sum(VM-, N) / sum(TrueRange, N)
Both lines are normalised by True Range over the same N-bar window, which keeps them comparable across instruments and volatility regimes. The reading is direct:
VI+ above VI- → uptrend pressure dominates.VI- above VI+ → downtrend pressure dominates.VI+ crossing above VI- is the classic long trigger; the inverse cross is the short.In ProBuilder the two lines are available as VIplus[period] and VIminus[period], so the screener can call them straight away.
On every instrument in the scanned list it evaluates a single condition — VI+ crosses over VI- on the last bar — and returns three columns:
VI+ minus VI-. The wider the gap right after the cross, the more decisive the turn; sort by this column to put the cleanest signals first and push the flat, range-bound crosses to the bottom.//----------------------------------------------
//PRC_Vortex Indicator - Screener
//version = 1
//03.06.2026
//Ivan Gonzalez @ www.prorealcode.com
//----------------------------------------------
length = 14
myviPlus = VIplus[length]
myviMinus = VIminus[length]
spread = myviPlus - myviMinus
SCREENER[myviPlus crosses over myviMinus](myviPlus AS "VI+", myviMinus AS "VI-", spread AS "Fuerza")