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 Counter Thrust Reversal is a pure price-action, two-candle swing-reversal system that uses no indicators of any kind — every decision is derived from raw candlestick geometry (the open, high, low, and close of each bar). It belongs to the family of reversal or mean-reversion trading styles, and at its heart sits a well-known candlestick pattern: the failed-breakout body reclaim, closely related to the classic "piercing line" (bullish) and "dark cloud cover" (bearish) counterattack patterns.
The strategy is designed for moments when a market makes a sharp, overextended push to a fresh local extreme — a fresh low or a fresh high — and then immediately fails. In plain terms, price thrusts out to a new level, traps the traders who chased the move, and is then reclaimed by an opposing candle. The Counter Thrust Reversal looks specifically for that two-bar "thrust then reclaim" signature, but adds a layer of swing-structure filtering so that it only fades meaningful legs rather than random noise.
As a learning tool, this strategy is well suited to traders who want to study candlestick structure, failed breakouts, and structural (price-derived) stop placement. Because the logic is fully transparent and contains no smoothing indicators or hidden state, it is an excellent example for understanding how raw bar geometry can be turned into objective, repeatable trade conditions. It is best viewed as a framework for analysis and study, not as a profit opportunity.
How It Works
The strategy evaluates conditions once per freshly closed bar (it never acts on the still-forming candle). It inspects two specific candles — the "thrust" candle and the "counter-thrust" candle — together with a lookback window of bars beneath them. Here is how the logic flows:
- Identify the thrust candle (shift 2). This is the candle that drives price to a fresh local extreme. For a potential buy, it must be a bearish candle that pushes to a fresh low below the recent lookback window. For a potential sell, it must be a bullish candle that pushes to a fresh high above the window.
- Require conviction, not a doji. The thrust candle's body must be at least
ThrustBodyFracof its total range (default 55%), so the strategy only considers strong, decisive candles rather than indecisive ones. - Require a genuine swing leg. The thrust candle's range must be wider than the recent average range by a factor of
ThrustRangeMult(default 1.30×). The average is measured across the lookback window just beneath the pattern. This filter helps ensure the move is a real swing leg and not minor chop. - Identify the counter-thrust candle (shift 1). The very next candle must reverse hard in the opposite direction and reclaim the thrust candle's body. For a buy, a bullish candle must open at or below the thrust's close and then close back up through the body, reaching at least the
ReclaimRatiodepth (default 55% into the body). For a sell, the mirror condition applies. - Require a conviction reclaim. The counter-thrust candle's body must also be at least
ReclaimBodyFracof its range (default 50%), confirming the reclaim is decisive. - Entry. When a down-thrust to a fresh low is reclaimed by a strong bullish candle, the strategy signals a BUY at the current ask. When an up-thrust to a fresh high is reclaimed by a strong bearish candle, it signals a SELL at the current bid.
- Stop-loss logic. The stop is placed structurally, just beyond the two-bar swing extreme. For a buy, it sits below the lower of the counter and thrust lows; for a sell, above the higher of the two highs. A configurable
StopBufferPctof the thrust range is added as breathing room. - Take-profit logic. The target is a fixed reward-to-risk multiple (
RewardRisk, default 1.80) of the measured stop distance. If the stop is, say, 20 pips away, the take-profit sits 36 pips in the trade's favor. - One position at a time. The strategy holds a single position per magic number and lets the stop-loss and take-profit manage the exit; it does not stack trades.

Strategy Parameters
| Parameter | Default | Min | Max | Description |
|---|---|---|---|---|
| SwingLookback | 10 | 4 | 40 | Number of bars beneath the pattern used to measure the recent average range and locate prior swing highs/lows. |
| ThrustBodyFrac | 0.55 | 0.30 | 0.90 | Minimum body-to-range ratio for the thrust candle, ensuring it is a conviction candle rather than a doji. |
| ReclaimBodyFrac | 0.50 | 0.30 | 0.90 | Minimum body-to-range ratio for the counter-thrust (reclaim) candle. |
| ReclaimRatio | 0.55 | 0.30 | 1.00 | How deep the counter candle must close back into the thrust candle's body (0.50 = midpoint, 1.00 = full reclaim). |
| ThrustRangeMult | 1.30 | 0.80 | 3.00 | How much wider the thrust candle's range must be than the recent average to qualify as a genuine swing leg. |
| RewardRisk | 1.80 | 0.50 | 5.00 | Reward-to-risk multiple used to set the take-profit relative to the stop distance. |
| StopBufferPct | 12.0 | 0.0 | 60.0 | Extra buffer beyond the swing extreme for the stop, expressed as a percentage of the thrust range. |
| Lots | 0.10 | 0.01 | 1.00 | Fixed order volume in lots per trade. |

Recommended Chart Settings
The Counter Thrust Reversal is built around discrete, fully closed candles, so it works most naturally on the intraday-to-swing timeframes where candlestick structure is most readable — typically the H1 (1-hour) or H4 (4-hour) charts. These timeframes tend to produce cleaner thrust-and-reclaim patterns than very low timeframes, where spread and noise can distort the bar geometry.
For symbols, major forex pairs such as EUR/USD or GBP/USD are a sensible starting point for study, since they offer tight spreads and well-defined swing legs. That said, the strategy contains no symbol-specific assumptions, so you may study it on other instruments as well. Remember that results will vary considerably across different symbols, sessions, and market conditions, and that the default parameters are a starting point for analysis rather than an optimized 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
Like every approach, the Counter Thrust Reversal has clear strengths and clear limitations, and understanding both is part of using it responsibly.
Strengths. The logic is fully transparent and price-derived, with no lagging indicators or hidden smoothing — what you see on the chart is exactly what the strategy evaluates. Its stops are structural, sitting beyond a real swing extreme rather than at an arbitrary fixed distance, which aligns risk with the market's own geometry. The multi-condition filter (fresh extreme, conviction bodies, wider-than-average range, deep reclaim) is deliberately selective, which historically tends to reduce the number of low-quality signals.
Limitations. Reversal systems by nature attempt to fade momentum, and in a strong, persistent trend a "failed breakout" can simply be a pause before continuation — meaning the reclaim signal may be caught on the wrong side of a powerful move. Because the strategy is highly selective, it may also produce relatively few signals, and long quiet stretches are normal. Choppy, low-volatility conditions can generate thrust candles that never had real conviction behind them, and very fast news-driven candles can blow through structural stops via slippage. The strategy also takes only one position at a time and does not include a trailing stop, time filter, or news filter, so it relies entirely on the fixed reward-to-risk exit.
Where it may underperform. Expect it to struggle most in strongly trending markets where breakouts succeed rather than fail, and in extremely thin or erratic conditions where candle bodies and ranges are unreliable. Studying when it underperforms is just as valuable as studying when it signals.
Risk Management Tips
Sound risk management matters far more than any single entry signal. Consider these general principles as you study any strategy:
- Risk a small, fixed fraction per trade. A common educational guideline is to risk no more than 1–2% of your account on any single position. Because this strategy sizes with a fixed lot value, you may need to adjust the
Lotsinput to match your account size and the trade's stop distance. - Understand drawdown. Even a well-designed strategy will experience losing streaks. Knowing the depth and duration of historical drawdowns helps you size positions in a way you can psychologically and financially sustain.
- Test on a demo account first. Always validate behavior on a demo (paper) account before considering any live capital, so you can observe how the EA places stops, targets, and orders without financial consequence.
- Mind the reward-to-risk trade-off. A higher
RewardRisktarget wins less often but pays more per win; a lower one wins more often but pays less. Neither is inherently "better" — it is a balance to study. - Account for costs. Spreads, commissions, and slippage all erode results, especially on lower timeframes. Factor them into any analysis you perform.
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: CounterThrustReversal.ex5 (2 downloads)
- Source Code: CounterThrustReversal.mq5 (6 downloads)
- Documentation: CounterThrustReversal.pdf (2 downloads)