Gap Catcher buys when an intraday bar closes below the daily close from 5 days ago and sells once price climbs back above it. A 1% stop is placed on the entry bar. It only trades long.
Best run of 17. EUR/USD, 3 min, spread 1, from run pf:2026-09-15-EURUSD-3m.tsv:2.
| Period | Up to 2026-09-15 |
| Instrument | EUR/USD, 3 minutes |
| Spread | 1 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-15 |
| positionSize Lots per trade | 1 |
| minGap Minimum bar-to-bar move as a fraction | 0 |
| lookbackDays Days back for the reference close | 5 |
| stopLossPct Protective stop, percent | 1 |
Every run
| Market | Timeframe | PF | Trades | Win % | Net | Max DD |
|---|---|---|---|---|---|---|
| EUR/USDBest run | 3 min | 4.51 | 631 | 74.64 | 123,862 USD | -33,131 |
| EUR/USD | 2 min | 4.13 | 544 | 64.71 | 89,237 USD | -33,319 |
| EUR/USD | 5 min | 2.16 | 871 | 77.15 | 68,512 USD | -33,907 |
| EUR/USD | 10 min | 1.64 | 1,426 | 80.86 | 77,394 USD | -25,468 |
| Dow Jones | 2 min | 1.35 | 581 | 84.68 | 7,098 EUR | -3,933 |
| DAX 40 | 3 min | 1.18 | 875 | 79.77 | 4,409 EUR | -3,779 |
| Dow Jones | 5 min | 1.15 | 942 | 81.42 | 8,114 EUR | -7,654 |
| S&P 500 | 2 min | 1.15 | 667 | 73.16 | 593 EUR | -352 |
| Dow Jones | Daily | 1.14 | 3,502 | 34.47 | 24,548 EUR | -10,514 |
| DAX 40 | 5 min | 1.13 | 1,134 | 78.22 | 4,154 EUR | -3,691 |
| Dow Jones | 10 min | 1.12 | 1,540 | 76.95 | 12,873 EUR | -6,685 |
| DAX 40 | 10 min | 1.11 | 1,741 | 74.67 | 6,526 EUR | -3,487 |
| Dow Jones | 30 min | 1.10 | 1,308 | 66.74 | 12,871 EUR | -8,354 |
| FTSE 100 | Daily | 1.10 | 2,392 | 42.98 | 6,899 EUR | -2,694 |
| Dow Jones | 1 hour | 1.09 | 1,073 | 61.14 | 11,168 EUR | -9,054 |
| Dow Jones | 15 min | 1.08 | 1,642 | 71.62 | 11,115 EUR | -8,388 |
| DAX 40 | Daily | 1.04 | 3,118 | 37.46 | 4,962 EUR | -4,536 |
Charts
Above 1.0 made money, below 1.0 lost money.
Longer history
With 915,000 bars available on S&P 500 2 minutes, net profit turned to EUR -412.07 from EUR 593.2 in the standard run, because the older data alone lost EUR 1,005.27.
| Bars available | 915,000 |
| Net, standard 200,000-bar run | 593.20 EUR |
| Net, long run | -412.07 EUR |
| Net on the older data alone | -1,005.27 EUR |
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.
// ============================================================ // Gap Catcher // ProRealAlgos Strategy Library | prorealalgos.com // Type: Mean reversion // Direction: Long only // Timeframe tested: 3 minutes // ============================================================ // --- Settings --- DEFPARAM CumulateOrders = false DEFPARAM PreloadBars = 1000 // --- Parameters --- positionSize = 1 // lots per trade minGap = 0 // bar-to-bar move, as a fraction, that must be exceeded lookbackDays = 5 // compare the close with the daily close this many days ago stopLossPct = 1 // protective stop, percent of entry price // --- Indicators --- upMove = abs((high - low[1]) / low[1]) downMove = abs((low - high[1]) / high[1]) pastClose = DClose(lookbackDays)
17 more lines: the entry and exit rules.
Read this first
Questions
Yes, it is fully automated and long only. Because the stop is set only on the entry bar, check that your protection stays in place in demo before going live.
EUR/USD 3 minutes led with 123,862 USD over 631 trades and a 74.64% win rate. Every run in the table was profitable, across EUR/USD, Dow Jones, DAX 40, FTSE 100 and S&P 500.
With 1 contract and a 1 point spread, EUR/USD 3 minutes dropped 33,131 USD from peak. S&P 500 on 2 minutes had a much smaller 351.70 EUR drawdown.
The rule compares each bar with a fixed daily level, so faster bars catch the dip sooner. The 2 and 3 minute EUR/USD charts gave the highest profit factors.
Related
The ProRealAlgos community gets the full rules, the complete code and the automated portfolio.