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
Top 10 of 72 runs. The full list is in the table above.
Above 1.0 made money, below 1.0 lost money.
The code
// ============================================================ // 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.
Setup
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 |
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.