Buys when the close is below 0.978 times its 16-period EMA and the wave oscillator reads above 5.638 with RSI below 61, or below -19.993. Exits when the close is above 1.006 times its 49-period EMA, or at a 1% target or 50% stop.
Best run of 13. US Crude Oil, Daily, spread 3, from run sweeps:2026-10-04-CRUDE-D-opt.tsv:37.
| Period | Up to 2026-10-04 |
| Instrument | US Crude Oil, Daily |
| 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-04 |
Every run
| Market | Timeframe | PF | Trades | Win % | Net | Max DD |
|---|---|---|---|---|---|---|
| US Crude OilBest run | Daily | n/a | 98 | 91.84 | 3,180 EUR | -1,655 |
| Nikkei 225 | Daily | n/a | 33 | 93.94 | 13,932 USD | -4,065 |
| Nasdaq 100 | Daily | n/a | 47 | 97.87 | 5,948 EUR | -2,437 |
| Brent Crude | Daily | n/a | 82 | 93.90 | 4,402 EUR | -2,615 |
| Silver | 30 min | n/a | 10 | 100.00 | 3,510 USD | -474 |
| Silver | 15 min | n/a | 5 | 100.00 | 2,210 USD | -1,063 |
| Brent Crude | 4 hours | n/a | 54 | 90.74 | 1,755 EUR | -1,497 |
| Dow Jones | 4 hours | n/a | 5 | 100.00 | 962 EUR | -792 |
| Brent Crude | 10 min | n/a | 7 | 100.00 | 634 EUR | -88.60 |
| Dow Jones | Daily | n/a | 2 | 100.00 | 631 EUR | -169 |
| S&P 500 | Daily | n/a | 8 | 87.50 | 268 EUR | -150 |
| Gold | 1 hour | n/a | 2 | 100.00 | 105 EUR | -0.00 |
| FTSE 100 | Daily | n/a | 1 | 100.00 | 103 EUR | -62.50 |
Charts
Top 10 of 13 runs. The full list is in the table above.
The code
// ============================================================== // Wave Oscillator Dip Long // ProRealAlgos Strategy Library | prorealalgos.com // Type: Mean reversion // Direction: Long only // Timeframe tested: Daily // ============================================================== DEFPARAM CumulateOrders = false mabuy = ExponentialAverage[16](close) masell = ExponentialAverage[49](close) ewo = (ExponentialAverage[50](close) - ExponentialAverage[200](close)) / close * 100 myRsi = RSI[14](close)
13 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 13 market and timeframe combinations. The best run by trade count was US Crude Oil, Daily, with 98 trades.
The best run had a maximum drawdown of 1,655 EUR at the tested position size, against a net result of 3,180 EUR.
It only takes long trades.
Related
The ProRealAlgos community gets the full rules, the complete code and the automated portfolio.