Breakout Failures sells when price closes above the highest high of the last 8 bars and buys when it closes below the lowest low. Winners are taken at 15 x ATR(12). A trade that moves 10 x ATR(12) against it is reversed instead of stopped out.
Best run of 14. GBP/USD, 15 min, spread 1.5, from run pf:2026-09-24-GBPUSD-15m.tsv:1.
| Period | Up to 2026-09-25 |
| Instrument | GBP/USD, 15 minutes |
| Spread | 1.5 points |
| Contracts | 1 |
| Starting capital | 1,000,000 |
| Costs | Spread only. Commissions and overnight financing are not included. |
| Bars | Up to 200,000 bars, fewer where the instrument has less history |
| Last tested | 2026-09-25 |
| positionSize Contracts per trade | 1 |
| channelPeriod Channel length | 8 |
| atrPeriod ATR length | 12 |
| targetAtrMultiplier Profit target in ATRs | 15 |
| flipAtrMultiplier Adverse move in ATRs that flips the position | 10 |
Every run
| Market | Timeframe | PF | Trades | Win % | Net | Max DD |
|---|---|---|---|---|---|---|
| GBP/USDBest run | 15 min | 1.17 | 911 | 48.19 | 6,787 USD | -1,493 |
| USD/JPY | Daily | n/a | 69 | 44.93 | 1,448,470 JPY | -1,420,760 |
| USD/JPY | 1 hour | n/a | 532 | 44.74 | 595,090 JPY | -496,400 |
| USD/JPY | 4 hours | n/a | 129 | 44.96 | 575,280 JPY | -280,920 |
| USD/JPY | 30 min | n/a | 796 | 45.23 | 526,440 JPY | -304,600 |
| Silver | Daily | n/a | 37 | 51.35 | 31,474 USD | -27,932 |
| GBP/USD | Daily | n/a | 63 | 52.38 | 28,669 USD | -8,467 |
| Brent Crude | 10 min | n/a | 952 | 45.90 | 14,113 EUR | -7,158 |
| DAX 40 | Daily | n/a | 104 | 43.27 | 12,664 EUR | -7,303 |
| FTSE 100 | Daily | n/a | 45 | 55.56 | 8,671 EUR | -2,961 |
| FTSE 100 | 30 min | n/a | 948 | 44.30 | 5,388 EUR | -2,621 |
| Gold | Daily | n/a | 59 | 49.15 | 2,524 EUR | -868 |
| Gold | 1 hour | n/a | 513 | 43.86 | 1,787 EUR | -1,365 |
| GBP/USD | 3 min | n/a | 739 | 42.49 | 1,047 USD | -825 |
Charts
The code
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 Failures // ProRealAlgos Strategy Library | prorealalgos.com // Type: Mean reversion // Direction: Long & short // Timeframe tested: 15 minutes // ============================================================ // --- Settings --- DEFPARAM CumulateOrders = false // --- Parameters --- positionSize = 1 // contracts per trade channelPeriod = 8 // channel length atrPeriod = 12 // ATR length for target and flip distance targetAtrMultiplier = 15 // profit target in ATRs flipAtrMultiplier = 10 // adverse move in ATRs that flips the position ONCE flipDistance = 0 // read one bar before it is recalculated, see Exit rules // --- Indicators --- // Channel lines are the previous bar's highest high / lowest low. channelHigh = Highest[channelPeriod](high) channelLow = Lowest[channelPeriod](low) upperBand = channelHigh[1] lowerBand = channelLow[1] channelReady = BarIndex > channelPeriod + 1 atrValue = AverageTrueRange[atrPeriod](close)
23 more lines: the entry and exit rules.
Read this first
Questions
Yes. Entries, flips and the ATR target are all automated. Remember the code has no stop, so any account limit must come from your own risk settings.
The best run was GBP/USD on 15 minutes with 6,786.90 USD net profit and a 1,493 USD max drawdown. It was also run on USD/JPY, Silver, Brent Crude, DAX 40, FTSE 100 and Gold across several timeframes.
One contract per trade with a 1.5 point spread. At that size the GBP/USD 15 minute run had a max drawdown of 1,493 USD.
A failed breakout can happen on any chart, so it was checked from 3 minutes up to Daily. The headline figures come from the 15 minute chart.
Related
The ProRealAlgos community gets the full rules, the complete code and the automated portfolio.