On Mondays, if price is below its 34 period SMA, this strategy buys and aims to catch a rebound during the next two days. It sells on Wednesday unless the 2.3% target or the 2.6% stop is hit first. It trades long only.
Best run of 72. S&P 500, 5 min, spread 1, from run pf:2026-09-24-USA500-5m.tsv:2.
| Period | Up to 2026-09-25 |
| Instrument | S&P 500, 5 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-25 |
| positionSize Shares per trade | 1 |
| entryDay Day of week to buy (1 = Monday) | 1 |
| exitDay Day of week to sell (3 = Wednesday) | 3 |
| trendPeriod Buy only while price is below this moving average | 34 |
| stopLossPct Protective stop, percent of entry price | 2.6 |
| takeProfitPct Profit target, percent of entry price | 2.3 |
Every run
| Market | Timeframe | PF | Trades | Win % | Net | Max DD |
|---|---|---|---|---|---|---|
| S&P 500Best run | 5 min | 1.90 | 152 | 65.79 | 2,493 EUR | -442 |
| Dow Jones | 5 min | 1.77 | 149 | 59.06 | 15,557 EUR | -2,807 |
| DAX 40 | 5 min | 1.53 | 155 | 56.77 | 7,507 EUR | -1,626 |
| Dow Jones | 4 hours | 1.52 | 216 | 56.48 | 16,581 EUR | -3,680 |
| USD/JPY | 10 min | 1.50 | 279 | 60.57 | 431,700 JPY | -89,560 |
| S&P 500 | 10 min | 1.50 | 301 | 58.14 | 2,876 EUR | -497 |
| Dow Jones | 30 min | 1.47 | 346 | 55.49 | 22,453 EUR | -3,132 |
| Dow Jones | 10 min | 1.47 | 292 | 55.82 | 18,828 EUR | -3,126 |
| Nikkei 225 | Daily | 1.46 | 360 | 59.72 | 20,807 USD | -4,148 |
| Dow Jones | 15 min | 1.44 | 370 | 55.14 | 22,624 EUR | -3,048 |
| Nasdaq 100 | 10 min | 1.43 | 317 | 58.36 | 12,996 EUR | -2,239 |
| USD/JPY | 15 min | 1.38 | 418 | 56.22 | 440,920 JPY | -81,810 |
| S&P 500 | 15 min | 1.38 | 451 | 57.43 | 3,080 EUR | -502 |
| Nasdaq 100 | 15 min | 1.31 | 480 | 56.88 | 12,484 EUR | -2,427 |
| DAX 40 | 15 min | 1.30 | 464 | 56.03 | 10,732 EUR | -2,115 |
| Dow Jones | 1 hour | 1.29 | 290 | 53.10 | 12,725 EUR | -3,126 |
| FTSE 100 | 4 hours | 1.26 | 659 | 56.60 | 5,389 EUR | -1,227 |
| S&P 500 | 30 min | 1.25 | 846 | 54.85 | 2,695 EUR | -537 |
| S&P 500 | 4 hours | 1.23 | 619 | 55.74 | 1,878 EUR | -445 |
| USD/JPY | 4 hours | n/a | 715 | 53.99 | 423,570 JPY | -124,090 |
| USD/JPY | 30 min | n/a | 794 | 53.78 | 301,710 JPY | -153,640 |
| EUR/USD | 5 min | n/a | 222 | 54.95 | 37,890 USD | -14,197 |
| EUR/USD | 4 hours | n/a | 949 | 51.63 | 37,427 USD | -31,829 |
| EUR/USD | 1 hour | n/a | 1,294 | 50.62 | 36,914 USD | -35,017 |
| Dow Jones | 3 min | n/a | 90 | 67.78 | 16,118 EUR | -2,503 |
| Nikkei 225 | 30 min | n/a | 829 | 53.44 | 15,803 USD | -6,804 |
| Nikkei 225 | 5 min | n/a | 171 | 59.65 | 14,579 USD | -6,037 |
| Nikkei 225 | 3 min | n/a | 105 | 64.76 | 13,972 USD | -7,265 |
| Nikkei 225 | 4 hours | n/a | 541 | 55.27 | 13,180 USD | -6,210 |
| Nikkei 225 | 10 min | n/a | 317 | 56.78 | 12,893 USD | -6,724 |
| Nikkei 225 | 15 min | n/a | 474 | 54.64 | 12,675 USD | -7,540 |
| Nikkei 225 | 1 hour | n/a | 711 | 53.73 | 12,341 USD | -5,112 |
| Dow Jones | Daily | n/a | 121 | 55.37 | 11,484 EUR | -3,409 |
| Nasdaq 100 | 30 min | n/a | 846 | 55.67 | 10,206 EUR | -2,808 |
| DAX 40 | 4 hours | n/a | 679 | 55.52 | 10,106 EUR | -2,670 |
| Nasdaq 100 | 1 hour | n/a | 920 | 54.89 | 8,918 EUR | -2,901 |
| Dow Jones | 2 min | n/a | 59 | 61.02 | 8,684 EUR | -2,189 |
| DAX 40 | Daily | n/a | 386 | 56.99 | 8,445 EUR | -2,840 |
| Nikkei 225 | 1 min | n/a | 41 | 60.98 | 7,898 USD | -7,469 |
| Nikkei 225 | 2 min | n/a | 71 | 59.15 | 7,824 USD | -7,483 |
| DAX 40 | 30 min | n/a | 877 | 54.05 | 7,685 EUR | -3,462 |
| Dow Jones | 1 min | n/a | 30 | 70.00 | 7,325 EUR | -2,208 |
| DAX 40 | 10 min | n/a | 299 | 54.85 | 7,267 EUR | -2,103 |
| Nasdaq 100 | 5 min | n/a | 158 | 60.13 | 7,156 EUR | -2,838 |
| Nasdaq 100 | 3 min | n/a | 98 | 61.22 | 7,109 EUR | -2,701 |
| DAX 40 | 3 min | n/a | 97 | 60.82 | 7,002 EUR | -1,598 |
| DAX 40 | 1 hour | n/a | 916 | 54.37 | 6,789 EUR | -3,273 |
| Nasdaq 100 | Daily | n/a | 353 | 56.94 | 5,314 EUR | -2,569 |
| Nasdaq 100 | 4 hours | n/a | 666 | 55.56 | 4,130 EUR | -3,470 |
| FTSE 100 | 15 min | n/a | 456 | 56.14 | 3,618 EUR | -1,410 |
| DAX 40 | 1 min | n/a | 33 | 66.67 | 3,473 EUR | -1,454 |
| FTSE 100 | Daily | n/a | 413 | 55.45 | 3,239 EUR | -1,033 |
| Nasdaq 100 | 2 min | n/a | 61 | 55.74 | 3,189 EUR | -2,719 |
| DAX 40 | 2 min | n/a | 61 | 55.74 | 3,166 EUR | -1,404 |
| FTSE 100 | 30 min | n/a | 859 | 54.71 | 3,041 EUR | -1,967 |
| EUR/USD | 1 min | n/a | 28 | 53.57 | 3,018 USD | -3,013 |
| FTSE 100 | 1 hour | n/a | 881 | 54.14 | 2,506 EUR | -2,223 |
| GBP/USD | 15 min | n/a | 418 | 52.87 | 2,238 USD | -1,803 |
| FTSE 100 | 3 min | n/a | 90 | 62.22 | 2,085 EUR | -440 |
| FTSE 100 | 10 min | n/a | 290 | 55.52 | 2,032 EUR | -1,436 |
| S&P 500 | 1 hour | n/a | 917 | 53.54 | 2,007 EUR | -600 |
| S&P 500 | 3 min | n/a | 92 | 65.22 | 1,953 EUR | -447 |
| GBP/USD | 5 min | n/a | 139 | 55.40 | 1,563 USD | -405 |
| FTSE 100 | 5 min | n/a | 147 | 57.14 | 1,366 EUR | -1,070 |
| S&P 500 | Daily | n/a | 341 | 57.77 | 1,329 EUR | -491 |
| GBP/USD | 3 min | n/a | 83 | 55.42 | 1,191 USD | -384 |
| FTSE 100 | 2 min | n/a | 59 | 59.32 | 1,144 EUR | -439 |
| FTSE 100 | 1 min | n/a | 30 | 60.00 | 1,134 EUR | -441 |
| S&P 500 | 2 min | n/a | 59 | 62.71 | 1,086 EUR | -271 |
| S&P 500 | 1 min | n/a | 30 | 60.00 | 786 EUR | -272 |
| GBP/USD | 2 min | n/a | 55 | 54.55 | 704 USD | -330 |
| GBP/USD | 1 min | n/a | 28 | 53.57 | 370 USD | -289 |
Charts
Above 1.0 made money, below 1.0 lost money.
Longer history
On S&P 500 5 minutes, 947,000 bars were available and profit rose to EUR 3,880.39 from EUR 2,493.14 in the standard run, with EUR 1,387.25 earned on the older data alone.
| Bars available | 947,000 |
| Net, standard 200,000-bar run | 2,493.14 EUR |
| Net, long run | 3,880.39 EUR |
| Net on the older data alone | 1,387.25 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.
// ============================================================ // Monday Dip Turnaround // ProRealAlgos Strategy Library | prorealalgos.com // Type: Mean reversion // Direction: Long only // Timeframe tested: 5 minutes // ============================================================ // --- Settings --- DEFPARAM CumulateOrders = false // --- Parameters --- positionSize = 1 // shares per trade entryDay = 1 // day of week to buy (1 = Monday) exitDay = 3 // day of week to sell (3 = Wednesday) trendPeriod = 34 // buy only while price is below this moving average stopLossPct = 2.6 // protective stop, percent of entry price takeProfitPct = 2.3 // profit target, percent of entry price // --- Indicators --- trendMA = Average[trendPeriod](close)
17 more lines: the entry and exit rules.
Read this first
Questions
Yes. It uses a weekday check, an SMA and percent stops. The code is sized in shares at 1 and is not compile checked yet.
All 71 runs across DAX 40, Dow Jones, EUR/USD, FTSE 100, GBP/USD, Nasdaq 100, Nikkei 225, S&P 500 and USD/JPY were profitable. Dow Jones 5 minutes reached a profit factor of 1.77.
On S&P 500 5 minutes max drawdown was EUR 441.65. Each trade can lose up to 2.6% of entry price.
The 34 period SMA uses the chart timeframe, so on 5 minutes it reflects Monday price action and gives a precise entry. The weekday rule stays the same on any timeframe.
Related
Copy trading on US indices is available to ProRealAlgos members as spots open.