Disclaimer: This article is for educational and informational purposes only. It does not constitute financial or investment advice. Trading forex and CFDs carries significant risk of loss. Past performance of any strategy — including backtests — does not guarantee future results. Never trade with money you cannot afford to lose.
What Is This Strategy?
The Klinger Volume Trend Shift strategy is a trend-following momentum system built around the Klinger Volume Oscillator (KVO) — a volume-based indicator that measures the buying and selling pressure behind each price bar. Developed from Stephen Klinger's Volume Force concept, the KVO does something most oscillators do not: instead of looking at price movement alone, it asks how much conviction (measured as volume) is pushing price in its current direction. When that volume-backed force shifts, it can appear on the oscillator slightly before the change becomes obvious on a raw price chart.
Because the strategy combines a volume momentum oscillator with a price-based trend filter, it is designed for markets that are already showing directional movement rather than sideways, choppy conditions. It uses an exponential moving average (EMA) of price to establish the prevailing bias — up or down — and then waits for the Klinger signal-line crossover to time an entry in the direction of that trend. In other words, the trend filter decides which way to trade, and the volume oscillator decides when.
As a learning tool, this strategy is well suited to traders who want to understand how volume can be integrated into a trend-following framework. It demonstrates several important concepts at once: volume-weighted momentum, moving-average trend filtering, volatility-based stop placement using the Average True Range (ATR), and fixed reward-to-risk targeting. It is best studied on liquid instruments where tick volume carries meaning — such as FX majors or major indices — rather than treated as a shortcut to a result.
How It Works
The strategy processes one closed primary-timeframe bar at a time. On each newly closed bar it rebuilds Klinger's Volume Force, updates the oscillator, and checks whether the conditions for a trade are met. Here is the logic in plain English:
- Building the Volume Force (VF): For each bar the strategy computes a trend direction (+1 if the sum of high, low and close rose versus the prior bar, −1 if it fell) and multiplies the bar's volume by a factor derived from the bar's range relative to a running cumulative range. This produces a signed value — positive when buying pressure dominates, negative when selling pressure dominates.
- Forming the KVO: The oscillator is the difference between a fast EMA and a slow EMA of the Volume Force:
KVO = EMA(VF, Fast) − EMA(VF, Slow). A shorter signal line — an EMA of the KVO itself — is then used as a trigger. - The trend filter: A price EMA (default 50 periods) defines the market bias. The strategy only considers long trades when price is above this EMA, and only short trades when price is below it.
- Long entry — the strategy signals a buy when: the closing price is above the trend EMA (an uptrend) and the KVO crosses up through its signal line (volume force re-asserting to the upside).
- Short entry — the strategy signals a sell when: the closing price is below the trend EMA (a downtrend) and the KVO crosses down through its signal line (selling force re-asserting).
- Stop-loss logic: On entry, the stop is placed one ATR-multiple away from the entry price — below entry for longs, above entry for shorts. Because it is tied to ATR, the stop automatically widens in volatile conditions and tightens in quiet ones.
- Take-profit logic: The target is set as a fixed reward-to-risk multiple of the stop distance (default 2.0), so the potential reward always scales with the risk taken on that trade.
- Trade management filters: Only one position per magic number is held at a time, and a spread guard blocks new entries when the current spread is wider than a configurable threshold — helping avoid entries when trading costs are unusually high.
Once a position is open, it is left to be managed entirely by its ATR stop-loss and reward target; there is no additional trailing or averaging logic.

Strategy Parameters
| Parameter | Default | Min | Max | Description |
|---|---|---|---|---|
| FastPeriod | 34 | 10 | 60 | Fast EMA length of the Volume Force used to build the KVO. |
| SlowPeriod | 55 | 30 | 120 | Slow EMA length of the Volume Force; the KVO is the fast-minus-slow spread. |
| SignalPeriod | 13 | 5 | 40 | EMA length of the KVO that forms the trigger (signal) line. |
| TrendEmaPeriod | 50 | 20 | 200 | Period of the price EMA used as the trend filter; trades are taken only in its direction. |
| AtrPeriod | 14 | 5 | 30 | Lookback length for the ATR used to size stops. |
| AtrStopMult | 1.5 | 0.5 | 4.0 | Stop-loss distance expressed as a multiple of ATR beyond the entry. |
| TpRewardMult | 2.0 | 0.5 | 5.0 | Take-profit distance as a reward-to-risk multiple of the ATR stop. |
| MaxSpreadPoints | 80 | 5 | 300 | Maximum spread (in points) allowed; new entries are skipped above this. |
| Lots | 0.10 | 0.01 | 1.0 | Fixed order volume in lots. |
| Magic | 5194 | 0 | 9,999,999 | Magic number identifying this EA's positions. |

Recommended Chart Settings
This strategy is designed for liquid instruments where tick volume is meaningful — for example an FX major such as EURUSD, or a major index such as US500 or GER40. Its natural home is the M15 to H1 timeframes, traded in a swing or trend style. The default oscillator lengths (34/55/13) are relatively slow, which suits catching sustained moves rather than scalping short-lived noise.
The EA operates on whatever timeframe the chart is set to at run time, so you should attach it to a chart that matches the timeframe you intend to study. Keep in mind that indicator behaviour and results will vary considerably across different symbols, timeframes, and market conditions — a setting that historically suited a trending index may behave very differently on a range-bound pair.
How to Install on MetaTrader 5
- Download the .ex5 file from the link below
- Copy it to your MT5
MQL5\Expertsfolder - Restart MetaTrader 5 or refresh the Navigator panel
- Drag the EA onto a chart matching the recommended symbol and timeframe
- Configure the input parameters and enable Algo Trading
What to Consider Before Using This EA
Every strategy has trade-offs, and understanding them is part of using an EA responsibly.
Strengths of this approach. By combining a volume oscillator with a price trend filter, the strategy avoids one of the most common weaknesses of oscillator systems: taking counter-trend signals in a strong move. It only acts when volume momentum agrees with the established price direction. The ATR-based stop and reward-multiple target mean the risk framework adapts automatically to changing volatility rather than relying on fixed pip distances. The spread guard and single-position rule also add a layer of cost and exposure discipline.
Known limitations. The Klinger oscillator relies on volume, and in the forex spot market MetaTrader reports tick volume (the number of price changes) rather than true traded volume. Tick volume is a reasonable proxy on liquid instruments but is not the same as institutional order flow. Like all crossover systems, the signal line can produce frequent crossovers during choppy, low-conviction phases, which may lead to whipsaw entries even with the trend filter applied. Because the oscillator uses EMAs, it lags to some degree, and signals arrive on the close of a bar — not intrabar.
Where it may underperform. In tight, range-bound markets, price can oscillate around the trend EMA, producing conflicting signals and stop-outs. During news-driven volatility spikes, ATR may widen the stop and target dramatically. This strategy is a framework for study, not a finished solution — thoughtful forward-testing and parameter review on your chosen instrument are essential before drawing any conclusions.
Risk Management Tips
Sound risk management matters more than any single indicator setting. Consider these general principles:
- Position sizing: Rather than trading a fixed lot size blindly, size positions relative to your account so that a single losing trade represents only a small, planned fraction of capital.
- The 1–2% rule: Many educational sources suggest risking no more than 1–2% of account equity on any one trade, so that a string of losses does not cause disproportionate damage.
- Use a demo account first: Test the EA on a demo or paper account to understand its behaviour, trade frequency, and drawdown profile before considering any live use.
- Understand drawdown: Even a well-designed trend system experiences losing streaks. Study the depth and duration of historical drawdowns so that the equity swings do not surprise you.
- Respect the spread guard: Keep the
MaxSpreadPointsvalue realistic for your broker and instrument, since trading costs directly erode net results. - Review, don't set-and-forget: Markets evolve. Periodically re-examine whether the parameters still suit current conditions.
Risk Warning
Trading foreign exchange, CFDs, and other leveraged financial instruments involves substantial risk of loss and is not suitable for all investors. The strategies and tools discussed on this page are provided for educational purposes only and do not constitute financial advice, investment recommendations, or solicitation to trade. Always consult a qualified financial adviser before making trading decisions. Past backtest performance is not indicative of future results.
Downloads
- Expert Advisor: KlingerVolumeTrendShift.ex5 (36 downloads)
- Source Code: KlingerVolumeTrendShift.mq5 (32 downloads)
- Documentation: KlingerVolumeTrendShift.pdf (35 downloads)