Longs need a fast time series average above a slower Wilder average and the SMI crossing up through -44. Shorts use a separate, slower filter and an SMI reading at or above 45. Every trade carries a fixed stop, a fixed target and a trailing stop.
Best run of 8. Brent Crude, Daily, spread 3, from run pf:2026-09-15-BRENT-D.tsv:2.
| Period | Up to 2026-09-15 |
| Instrument | Brent Crude, Daily |
| Spread | 3 points |
| Contracts | 2 |
| 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-16 |
| positionSize Contracts per trade | 2 |
| longFastPeriod Time series average length, long trend filter | 12 |
| longSlowPeriod Wilder average length, long trend filter | 60 |
| longSmiPeriod SMI length for longs | 14 |
| longSmiSmooth SMI first smoothing for longs | 2 |
| longSmiSignal SMI second smoothing for longs | 16 |
| longSmiLevel Buy when the SMI crosses up through this level | -44 |
| shortFastPeriod Time series average length, short trend filter | 28 |
| shortSlowPeriod Wilder average length, short trend filter | 88 |
| shortSmiPeriod SMI length for shorts | 8 |
| shortSmiSmooth SMI first smoothing for shorts | 1 |
| shortSmiSignal SMI second smoothing for shorts | 16 |
| shortSmiLevel Sell short while the SMI is at or above this level | 45 |
| trailStopPoints Trailing stop distance from the best close | 34 |
| stopLossPoints Protective stop in points | 62 |
| takeProfitPoints Profit target in points | 98 |
Every run
| Market | Timeframe | PF | Trades | Win % | Net | Max DD |
|---|---|---|---|---|---|---|
| Brent CrudeBest run | Daily | 1.57 | 106 | 50.94 | 3,708 EUR | -949 |
| EUR/USD | 4 hours | 1.24 | 283 | 58.66 | 34,572 USD | -9,344 |
| USD/JPY | 4 hours | 1.20 | 233 | 58.80 | 236,600 JPY | -117,030 |
| Gold | 3 min | 1.14 | 521 | 50.10 | 2,204 EUR | -1,304 |
| GBP/USD | Daily | 1.13 | 239 | 45.19 | 2,099 USD | -1,805 |
| EUR/USD | 1 hour | 1.09 | 874 | 58.35 | 39,796 USD | -28,434 |
| FTSE 100 | Daily | n/a | 86 | 52.33 | 1,283 EUR | -961 |
| Gold | Daily | n/a | 54 | 59.26 | 1,252 EUR | -1,089 |
Charts
Above 1.0 made money, below 1.0 lost money.
The code
// ============================================================ // Brent SMI Trend // ProRealAlgos Strategy Library | prorealalgos.com // Type: Momentum // Direction: Long & short // Timeframe tested: Daily // ============================================================ // --- Settings --- DEFPARAM CumulateOrders = false DEFPARAM PreloadBars = 1000 // --- Parameters --- positionSize = 2 // contracts per trade longFastPeriod = 12 // time series average length, long trend filter longSlowPeriod = 60 // Wilder average length, long trend filter longSmiPeriod = 14 // SMI length for longs longSmiSmooth = 2 // SMI first smoothing for longs longSmiSignal = 16 // SMI second smoothing for longs longSmiLevel = -44 // buy when the SMI crosses up through this level shortFastPeriod = 28 // time series average length, short trend filter shortSlowPeriod = 88 // Wilder average length, short trend filter shortSmiPeriod = 8 // SMI length for shorts shortSmiSmooth = 1 // SMI first smoothing for shorts shortSmiSignal = 16 // SMI second smoothing for shorts shortSmiLevel = 45 // sell short while the SMI is at or above this level trailStopPoints = 34 // trailing stop distance from the best close stopLossPoints = 62 // protective stop in points takeProfitPoints = 98 // profit target in points // --- Indicators --- longFastMA = TimeSeriesAverage[longFastPeriod](close) longSlowMA = WilderAverage[longSlowPeriod](close) longSmi = SMI[longSmiPeriod, longSmiSmooth, longSmiSignal](close) shortFastMA = TimeSeriesAverage[shortFastPeriod](close) shortSlowMA = WilderAverage[shortSlowPeriod](close) shortSmi = SMI[shortSmiPeriod, shortSmiSmooth, shortSmiSignal](close)
45 more lines: the entry and exit rules.
Setup
Questions
Yes. The code includes the stop loss, profit target and trailing stop, and trades 2 contracts per signal as tested.
Brent Crude daily is the headline run: profit factor 1.57, EUR 3,707.60 net over 106 trades. All eight tested runs were profitable, but most had profit factors between 1.09 and 1.24.
At 2 contracts on Brent Crude daily, max drawdown was EUR 949.00. That is the figure to size capital around, not a margin estimate.
The 62 point stop and 98 point target fit daily oil swings. On faster charts like Gold 3 minutes the profit factor dropped to 1.14.
Related
The ProRealAlgos community gets the full rules, the complete code and the automated portfolio.