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 Liquidity Vacuum Thrust Fade is a mean-reversion trading strategy built around a market-microstructure concept called price impact per unit of participation — an Amihud-style illiquidity ratio. In plain terms, it measures how far price travelled for each unit of trading activity (tick volume) on a given bar. When price lurches a long way while very few ticks are recorded, the strategy interprets that as a "liquidity vacuum": price slid through a thin order book with almost nobody trading, so there is little committed inventory to defend the new level.
The central idea is that a move only "means" something if real participation pushed it there. A large directional thrust that prints on abnormally low tick volume tends to be fragile. Once normal two-sided flow returns to the market, those thin thrusts habitually snap back toward fair value. This strategy detects such vacuum thrusts and fades them — trading against the thrust in the expectation that price will revert to a rolling average baseline that acts as a fair-value magnet.
As a learning tool, this strategy is well suited to traders who want to study mean reversion, volatility scaling, and volume-based confirmation together in one system. It is designed for range-bound and choppy conditions rather than strong trends, and it is best understood as an analytical framework for exploring how thin, low-participation moves behave — not as a shortcut to results. Because every component self-scales to the instrument, it is a useful case study in building adaptive rules with the ATR (Average True Range, a volatility measure) and z-scores (a statistical measure of how far a value sits from its recent average).
How It Works
The strategy evaluates conditions only once per newly closed bar on the primary timeframe. It never acts mid-bar, which keeps signals stable and repeatable.
The core measurement — price impact:
- For each closed bar, it computes
impact = |Close − PreviousClose| / TickVolume. This is how far price moved for each unit of tick activity. - Over a rolling window (the
ImpactPeriod), it calculates the mean and standard deviation of impact, then z-scores the most recent bar. A high z-score means "this bar moved a lot on far too little participation" — the vacuum signature.
Entry conditions (all must align on the freshly closed signal bar):
- The impact z-score must be at or above
ImpactZThreshold, confirming a genuinely thin, low-participation thrust rather than an ordinary quiet drift. - Price must be stretched away from the rolling SMA (Simple Moving Average) baseline by at least
MinStretchAtrATRs. This confirms the move actually pushed price to an extreme, not just a small wiggle. - The strategy signals a SHORT when the thrust was up (the bar closed bullish) and left price stretched at least the minimum number of ATRs above the SMA. The logic is to sell an exhausted thin push higher.
- The strategy signals a LONG when the thrust was down (the bar closed bearish) and left price stretched at least the minimum number of ATRs below the SMA. The logic is to buy a thin vacuum flush lower.
Take-profit logic:
- The take-profit target is the rolling SMA itself — the fair-value magnet. The strategy assumes that if price reverts, the moving average is the natural structural level it gravitates back toward.
Stop-loss logic:
- The protective stop is placed one ATR band beyond the entry (
AtrStopMult × ATR). For a short, the stop sits above entry; for a long, it sits below. This ties risk directly to current volatility rather than a fixed distance.
Filters and trade management:
- A minimum reward-to-risk filter (
MinRewardRisk) rejects any setup where the SMA target is already too close to pay for the stop. - A spread guard blocks new entries when the spread exceeds
MaxSpreadPoints, avoiding costly fills. - Only one position per magic number is held at a time; once open, the ATR stop and SMA target manage the exit automatically.

Strategy Parameters
| Parameter | Default | Min | Max | Description |
|---|---|---|---|---|
| ImpactPeriod | 30 | 10 | 120 | Rolling window (in bars) for the impact mean/standard deviation that the latest bar is z-scored against. |
| ImpactZThreshold | 2.0 | 1.0 | 4.0 | How many standard deviations of impact the signal bar must exceed to count as a "vacuum" thrust. |
| SmaPeriod | 20 | 5 | 100 | Lookback for the baseline SMA that serves as the fair-value magnet and take-profit target. |
| MinStretchAtr | 1.0 | 0.0 | 4.0 | Minimum stretch of the close from the SMA, measured in ATRs, required before a fade is considered. |
| AtrPeriod | 14 | 5 | 30 | ATR lookback used for both the stretch filter and the protective-stop distance. |
| AtrStopMult | 1.5 | 0.5 | 4.0 | Protective-stop distance as a multiple of ATR, placed beyond the entry. |
| MinRewardRisk | 0.8 | 0.3 | 3.0 | Rejects setups whose SMA target is closer than this multiple of the ATR stop distance. |
| MaxSpreadPoints | 80 | 5 | 300 | Skips new entries when the current spread (in points) is wider than this. |
| Lots | 0.10 | 0.01 | 1.0 | Order volume in lots. |
| Magic | 4517 | 0 | 9,999,999 | Unique identifier so the EA manages only its own trades. |

Recommended Chart Settings
This strategy was designed for liquid FX majors or an index — for example EURUSD, GBPUSD, or US500 — on intraday timeframes from M5 to M30. These are conditions where thin, off-peak thrusts and stop-runs tend to revert reliably, which is exactly the behavior the strategy is built to study.
The expert advisor runs on whatever timeframe is selected at backtest time, using only the primary symbol and timeframe. As with any strategy, results will vary considerably across different instruments, sessions, and market conditions. A parameter set that behaves well on one pair or timeframe may behave very differently on another, so treat the defaults as a starting point for your own testing rather than a finished configuration.
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
Strengths of the approach. The strategy is built on a genuinely distinct idea — price impact per unit of participation — rather than reusing a common oscillator. Everything self-scales: the impact gate adapts to each instrument's volume regime through the z-score, the stretch filter and stop adapt to volatility through ATR, and the take-profit is an actual structural level (the SMA) rather than a fixed distance. The reward-to-risk and spread filters add discipline that many simple systems lack.
Known limitations. Mean-reversion systems share a well-documented weakness: they fade moves, so a genuine breakout or a strong trend can push price far past the "stretched" threshold and keep going, hitting the ATR stop. Tick volume is a proxy for real traded volume in the decentralized forex market — it counts price updates, not contracts — so the illiquidity signal is an approximation, and its quality depends on your broker's feed. Thin off-peak conditions that make setups attractive can also produce erratic fills and wider spreads.
Where it may underperform. Strong trending markets, high-impact news releases, and low-liquidity periods around session rollovers can all generate thrusts that do not revert. Because the strategy holds only one position at a time and relies on a fixed lot size, it does not compound or scale risk to account equity on its own. Study its behavior across varied conditions before drawing any conclusions.
Risk Management Tips
Sound risk management matters far more than any single entry rule. Consider these general principles as you study this or any strategy:
- Position sizing: Size each trade so that a full stop-loss represents only a small, pre-defined slice of your account. A common educational guideline is to risk no more than 1–2% of account equity per trade.
- Use a demo account first: Test the EA thoroughly in a simulated environment before considering any live capital. This lets you observe how it behaves across different sessions without financial consequences.
- Understand drawdown: Every strategy experiences losing streaks. Know the maximum drawdown you are willing to tolerate and how a run of consecutive losses would affect your balance.
- Account for costs: Spreads, commissions, slippage, and swap fees all erode results, especially on intraday timeframes with frequent trades. The spread guard helps, but it does not eliminate these costs.
- Diversify and review: Avoid concentrating all your risk in a single strategy or instrument, and review performance periodically against your expectations.
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: LiquidityVacuumThrustFade.ex5 (32 downloads)
- Source Code: LiquidityVacuumThrustFade.mq5 (30 downloads)
- Documentation: LiquidityVacuumThrustFade.pdf (33 downloads)