The strategy buys when a 5-period average crosses above the 10-period average, then the 30-period, then the 60-period average in sequence, while Bollinger Band width is wide enough. It exits when price closes at or below the 30-period average and waits 15 bars before re-entering.
Best run of 12. DAX 40, 1 hour, spread 3, from run sweeps:2026-10-11-DAX40-1h-opt.tsv:79.
| Period | Up to 2026-10-11 |
| Instrument | DAX 40, 1 hour |
| Spread | 3 points |
| 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-10-11 |
Every run
| Market | Timeframe | PF | Trades | Win % | Net | Max DD |
|---|---|---|---|---|---|---|
| DAX 40Best run | 1 hour | n/a | 661 | 33.59 | 3,384 EUR | -2,181 |
| USD/JPY | 10 min | n/a | 6 | 66.67 | 40,610 USD | -18,170 |
| Silver | 3 min | n/a | 267 | 33.33 | 22,412 USD | -10,014 |
| Silver | 2 min | n/a | 226 | 32.30 | 12,791 USD | -6,963 |
| Brent Crude | Daily | n/a | 93 | 29.03 | 12,108 EUR | -7,664 |
| USD/JPY | 5 min | n/a | 1 | 100.00 | 5,630 USD | -5,350 |
| Nikkei 225 | 5 min | n/a | 70 | 45.71 | 4,077 USD | -2,115 |
| Nasdaq 100 | 5 min | n/a | 42 | 47.62 | 2,926 EUR | -1,218 |
| US Crude Oil | 2 min | n/a | 147 | 36.73 | 1,886 EUR | -1,012 |
| Gold | Daily | n/a | 258 | 29.07 | 949 EUR | -592 |
| Nasdaq 100 | 2 min | n/a | 4 | 100.00 | 862 EUR | -353 |
| DAX 40 | 10 min | n/a | 62 | 46.77 | 861 EUR | -625 |
Charts
Top 10 of 12 runs. The full list is in the table above.
The code
// ============================================================== // Sequential Moving Average Crossover // ProRealAlgos Strategy Library | prorealalgos.com // Type: Trend // Direction: Long & short // Timeframe tested: 1 hour // ============================================================== DEFPARAM CumulateOrders = false ONCE stl = 0 ONCE stlbar = 0 ONCE sts = 0 ONCE stsbar = 0 ONCE cooluntil = -1 mafive = Average[5](close) maten = Average[10](close) mathirty = Average[30](close) masixty = Average[60](close) basis = Average[20](close) dev = 2.0 * STD[20](close)
86 more lines: the entry and exit rules.
Setup
Questions
Yes. The code is ProBuilder and runs as an automated ProOrder system. Backtest it on your own account with your own spread and position size before trading it live.
It was tested on 12 market and timeframe combinations. The best run by trade count was DAX 40, 1 hour, with 661 trades.
The best run had a maximum drawdown of 2,181 EUR at the tested position size, against a net result of 3,384 EUR.
It trades both long and short.
Related
The ProRealAlgos community gets the full rules, the complete code and the automated portfolio.