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 Three Point Trend Reversal strategy is an automated MetaTrader 5 Expert Advisor built around the classic 1-2-3 swing reversal pattern — a market-structure technique popularised by traders such as Victor Sperandeo and Joe Ross. Instead of relying on a lagging oscillator, it reads price action directly by mapping the chart into a zig-zag of fractal swing pivots (turning points where a bar's high or low strictly beats its neighbours on both sides). This is a trend-reversal (counter-trend-turn) trading style, meaning it tries to identify the moment an existing move runs out of steam and a new direction begins.
At its heart, the strategy watches for a specific three-pivot signature. In a bullish setup, price makes a low (point 1), rallies to a high (point 2), then pulls back to a higher low (point 3) that holds above point 1 — a sign the down-leg has been arrested. A confirmed close back above point 2 flips the structure upward. The bearish version is the mirror image: a high, a low, then a lower high, with a confirmed close below point 2 signalling a downward turn.
This EA is best suited as a learning tool for traders who want to understand how discretionary swing-trading concepts — pivots, market structure, and confirmation breaks — can be encoded into objective, testable rules. It is not a shortcut to results; rather, it is a framework for studying how a rule-based reversal system behaves across different market conditions. Because it only acts on fully-closed bars and derives everything from raw OHLC (open, high, low, close) data on a single timeframe, it is transparent and easy to reason about.
How It Works
The strategy processes one fully-closed bar at a time and maintains an alternating zig-zag of the most recent swing pivots. When three valid pivots line up into a 1-2-3 shape, it waits for a decisive confirmation break before acting.
- Pivot detection: A bar becomes a swing pivot only if its high (or low) strictly exceeds every neighbour within
PivotLengthbars on each side. Consecutive same-type pivots simply extend the current swing, keeping the zig-zag clean and alternating. - Pattern validation: For a bullish signal, point 3 must be a higher low than point 1; for a bearish signal, point 3 must be a lower high than point 1. This confirms the prior trend has been checked.
- Meaningful reaction leg: The distance from point 1 to point 2 must span at least
MinLegAtrmultiples of the Average True Range (ATR — a volatility measure). This filters out micro-swings and noise. - Fresh confirmation entry: The strategy signals a long only when the current bar closes above point 2 by at least
BreakoutAtrFractionof ATR, the previous bar was still below it (a genuinely fresh cross), and the confirming bar is bullish (close above open). Shorts require the mirror condition below point 2 with a bearish bar. - Staleness filter: If more than
MaxConfirmBarsbars pass since the last pivot formed, the setup is considered stale and is ignored. - Stop-loss logic: For longs, the stop is placed just beyond point 3 (or the confirming bar's low, whichever is lower), buffered by
StopAtrBuffer× ATR — a tight, structural invalidation point. If that risk is unusually small, it defaults to half an ATR to avoid over-tight stops. - Take-profit logic: The take-profit is set at a fixed
RiskRewardRatiomultiple of the measured risk, so a 1.8 ratio targets 1.8 units of reward for every 1 unit risked. - Break-even protection: When
UseBreakevenis enabled and price travels +1R (one unit of risk) in favour, the stop is pulled to the entry price. This means most trades can, at worst, only scratch after reaching that milestone. - One-shot arming: Each 1-2-3 pattern is traded only once. After entry, it is retired until a new pivot forms, which prevents repeated revenge re-entries on the same level.

Strategy Parameters
| Parameter | Default | Min | Max | Description |
|---|---|---|---|---|
| PivotLength | 3 | 2 | 6 | Number of bars on each side a pivot must beat to qualify as a swing point. Higher values produce fewer, larger swings. |
| AtrPeriod | 14 | 5 | 40 | Lookback period for the ATR volatility measure used to scale legs, breaks, and stops. |
| MinLegAtr | 1.0 | 0.0 | 3.0 | Minimum size of the point 1→2 reaction leg, expressed in ATRs. Filters out insignificant swings. |
| BreakoutAtrFraction | 0.10 | 0.0 | 1.0 | How far beyond point 2 (as a fraction of ATR) price must close to count as a decisive break. |
| StopAtrBuffer | 0.50 | 0.0 | 2.0 | Extra buffer beyond point 3 (in ATRs) where the protective stop is placed. |
| RiskRewardRatio | 1.8 | 1.0 | 4.0 | Take-profit distance as a multiple of the measured risk. |
| MaxConfirmBars | 15 | 3 | 40 | Maximum bars allowed since the last pivot before a setup is treated as stale. |
| UseBreakeven | 1 | 0 | 1 | Toggle (1 = on) for moving the stop to break-even once price reaches +1R. |
| Lots | 0.10 | 0.01 | 1.0 | Fixed trade volume in lots. |

Recommended Chart Settings
This strategy was designed to run on the primary timeframe of the chart it is attached to, using only that timeframe's OHLC data. Swing-based reversal logic tends to be most readable on intermediate timeframes such as H1 or H4, where fractal pivots are meaningful and less prone to intrabar noise. Major forex pairs like EUR/USD or GBP/USD are reasonable starting points for study because of their liquidity and relatively clean structure.
That said, no single symbol or timeframe is universally optimal. Pivot spacing, ATR behaviour, and volatility vary widely between instruments and sessions, so results will differ across market conditions. Treat any configuration as a starting point for your own testing rather than a fixed recommendation.
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
The main strength of the Three Point Trend Reversal approach is its structural clarity. The 1-2-3 pattern is a well-documented, intuitive way to define a trend change, and encoding it with ATR-scaled filters gives you objective, repeatable rules. The tight, structural stop beyond point 3 and the fixed risk-reward target make the risk on each trade easy to understand, and the break-even mechanism is designed to reduce the damage from failed reversals.
However, this style has well-known limitations. Reversal systems, by definition, try to catch turning points — and markets can extend far longer than a pattern suggests before actually reversing. A valid-looking 1-2-3 can fail when a trend simply resumes, producing a quick stop-out. Because the strategy waits for a confirmation close and a fresh break, it may enter after a portion of the move has already occurred, which can compress the reward available relative to the risk.
The approach may underperform in choppy, low-volatility ranges, where pivots form constantly and confirmation breaks whipsaw back and forth. It can also struggle in strongly trending markets that never form the higher-low or lower-high required for a valid setup. As with any single-timeframe, pattern-based system, it has no awareness of higher-timeframe context, news events, or session liquidity, so it should be studied as one component of a broader analytical process rather than a standalone answer.
Risk Management Tips
Sound risk management matters far more than any single entry signal. Consider the following general principles as you study this EA:
- Risk a small, fixed percentage per trade — many educators suggest no more than 1–2% of account equity on any single position, adjusting lot size accordingly rather than using a fixed volume blindly.
- Test on a demo account first. Run the strategy in a risk-free simulated environment for an extended period before ever considering live capital, so you can observe how it behaves through different market phases.
- Understand drawdown. Even a well-designed reversal system will experience losing streaks. Know the historical peak-to-trough decline you are comfortable enduring before you begin.
- Use the built-in structural stop. The stop beyond point 3 defines your invalidation; avoid widening or removing it, as that undermines the strategy's core logic.
- Keep records. Journalling every trade — the setup, the outcome, and the market context — is one of the most effective ways to learn from an automated system.
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: ThreePointTrendReversal.ex5 (26 downloads)
- Source Code: ThreePointTrendReversal.mq5 (27 downloads)
- Documentation: ThreePointTrendReversal.pdf (31 downloads)