Join today
Strategies / Pattern / Breakout Reversal

Breakout Reversal Pattern Strategy

After two rising daily closes, the system looks for a bar that sets a new 5 bar low and then closes strong in its upper half. That shakeout is bought if price is above the 100 bar SMA, and the mirror image is sold short. Each trade has a 1.5% target, a 2.5% stop and a 6 bar time limit.

PatternLong & shortSwingEUR/USD4 hours
n/aProfit factor
14,192Net profit USD
54.90%Win rate
459Trades
-10,393Max drawdown
30.92Avg trade

Best run of 6. EUR/USD, 4 hours, spread 1, from run sweeps:2026-09-24-EURUSD-4h-opt.tsv:7.

Entry rules, long

  1. The previous daily close is higher than the day before, which is higher than the day before that (two rising days)
  2. This bar's low is the lowest low of the last 5 bars
  3. Members only
  4. Close is above the 100-bar SMA

Entry rules, short

  1. The previous daily close is lower than the day before, which is lower than the day before that (two falling days)
  2. This bar's high is the highest high of the last 5 bars
  3. Members only
  4. Close is below the 100-bar SMA

Exit rules

  1. Members only
  2. Stop loss 2.5% from entry
  3. Close the trade 6 bars after entry

Test conditions

PeriodUp to 2026-09-24
InstrumentEUR/USD, 4 hours
Spread1 points
Contracts1
Starting capital1,000,000
CostsSpread only. Commissions and overnight financing are not included.
BarsUp to 200,000 bars, fewer where the instrument has less history
Last tested2026-09-24

Parameters

positionSize
Contracts per trade
1
lookbackPeriod
Bars for the recent high and low
5
trendPeriod
Trend filter SMA length
100
maxBarsInTrade
Time exit after this many bars
6
takeProfitPct
Profit target, percent of entry price
1.5
stopLossPct
Protective stop, percent of entry price
2.5

Every run

Markets and timeframes tested

MarketTimeframePFTradesWin %NetMax DD
EUR/USDBest run4 hoursn/a 45954.9014,192 USD-10,393
USD/JPYDailyn/a 1060.0025,570 JPY-19,860
EUR/USDDailyn/a 1154.555,181 USD-1,989
DAX 40Dailyn/a 887.50665 EUR-502
S&P 500Dailyn/a 1163.64159 EUR-62.27
GoldDailyn/a 862.5057.50 EUR-21.50

Charts

Results by run

Net profit against max drawdown

Net profitMax drawdown
0-20K-10K25K50KUSD/JPY · DailyEUR/USD · 4 hoursEUR/USD · DailyDAX 40 · DailyS&P 500 · DailyGold · Daily

The code

ProBuilder, rewritten to house standard

Every file in the library uses the same header, the same section order and the same variable names. The numbers above were produced by the original version before the rewrite, and the rewrite has not yet been compiled in ProRealTime.

// ============================================================
// Breakout Reversal
// ProRealAlgos Strategy Library  |  prorealalgos.com
// Type: Pattern
// Direction: Long & short
// Timeframe tested: 4 hours
// ============================================================

// --- Settings ---
DEFPARAM CumulateOrders = false

// --- Parameters ---
positionSize = 1       // contracts per trade
lookbackPeriod = 5     // bars for the recent high / low
trendPeriod = 100      // trend filter SMA length
maxBarsInTrade = 6     // time exit after this many bars
takeProfitPct = 1.5    // profit target, percent of entry price
stopLossPct = 2.5      // protective stop, percent of entry price

// --- Indicators ---
recentHigh = Highest[lookbackPeriod](high)
recentLow = Lowest[lookbackPeriod](low)
trendMA = Average[trendPeriod](close)
dailyUpRun = DClose(1) > DClose(2) AND DClose(2) > DClose(3)
dailyDownRun = DClose(1) < DClose(2) AND DClose(2) < DClose(3)

26 more lines: the entry and exit rules.

Read this first

Known weaknesses

  • Profit factor was not recorded. Every result on this page comes from parameter sweeps.
  • On the daily charts the sample is tiny, with 8 to 11 trades per market. USD/JPY Daily made 25,570 JPY from 10 trades but had a 19,860 JPY drawdown.
  • On EUR/USD 4 hours the drawdown of 10,393 USD is large compared with the 14,192 USD net profit.
  • The stop (2.5%) is wider than the target (1.5%), so the 54.9% win rate needs to hold up to stay profitable.

Indicators used

SMA

How to load it

  1. Copy the code with the copy button above the code block.
  2. In ProRealTime, open a chart of the instrument and timeframe you want to test, then open ProOrder > New trading system and choose "Create with programming".
  3. Paste the code, give the system a name and save it.
  4. Click "Backtest", set your own spread and position size, and run it before you consider trading it live.

Questions

About this strategy

Can this be automated in ProOrder?

Yes. Target, stop and the 6 bar time exit are all coded, so it runs without manual input.

Where was it tested?

The main test was EUR/USD 4 hours with 459 trades. Daily tests on USD/JPY, EUR/USD, DAX 40, S&P 500 and Gold were all positive but each had 11 trades or fewer.

What capital does it need at 1 contract?

The worst drawdown on EUR/USD 4 hours was 10,393 USD at 1 contract. Plan your account size around that number.

Why the 4 hour chart?

It produced enough signals to judge the idea. Daily bars gave only a handful of trades per market.

Related

Strategies like this one

Bollinger Squeeze

Uses the same indicator.

14.30 PF · 86 trades

Slow MACD Slope

Best run on the same market, EUR/USD.

6.80 PF · 7,305 trades

Winter Only

Also a pattern strategy.

14.53 PF · 49 trades

Join the ProRealAlgos waitlist to follow how pattern systems like this are tested and traded.

The ProRealAlgos community gets the full rules, the complete code and the automated portfolio.

Past backtest results do not guarantee future results. This is not financial advice. Curated and maintained by ProRealAlgos. ProRealTime™ is a trademark of ProRealTime SAS. prorealalgos.comStatsDocs