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
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.
// ============================================================ // 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.
Read this first
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.