On weekdays the system sells short when the close drops under a 2-bar EMA, CCI(21) is above -95, the bar is wide, and Repulse(3) is below 0.1. It covers at a 2% target, a 1% stop, or when Repulse rises back above 0.1.
Best run of 4. Gold, 4 hours, spread 0.6, from run sweeps:2026-09-23-GOLD-4h-opt.tsv:7.
| Period | Up to 2026-09-23 |
| Instrument | Gold, 4 hours |
| Spread | 0.6 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-23 |
| positionSize Contracts per trade | 1 |
| fastPeriod Fast EMA length (equals the close) | 1 |
| slowPeriod Slow EMA length | 2 |
| cciPeriod CCI length | 21 |
| cciLevel CCI must be above this | -95 |
| minTrueRange Bar true range must exceed this | 24 |
| repulsePeriod Repulse smoothing length | 3 |
| repulseLevel Short below this Repulse value, cover above it | 0.1 |
| firstTradeDay First allowed weekday (Monday) | 1 |
| lastTradeDay Last allowed weekday (Friday) | 5 |
| stopLossPct Protective stop, percent of entry price | 1 |
| takeProfitPct Profit target, percent of entry price | 2 |
Every run
| Market | Timeframe | PF | Trades | Win % | Net | Max DD |
|---|---|---|---|---|---|---|
| GoldBest run | 4 hours | n/a | 359 | 34.82 | 522 EUR | -485 |
| Gold | 15 min | n/a | 173 | 34.10 | 663 EUR | -346 |
| FTSE 100 | 1 min | n/a | 10 | 50.00 | 106 EUR | -63.10 |
| Gold | 1 min | n/a | 5 | 40.00 | 45.50 EUR | -27.00 |
Charts
The code
// ============================================================ // Storm Short Rising // ProRealAlgos Strategy Library | prorealalgos.com // Type: Momentum // Direction: Short only // Timeframe tested: 4 hours // ============================================================ // --- Settings --- DEFPARAM CumulateOrders = false // --- Parameters --- positionSize = 1 // contracts per trade fastPeriod = 1 // fast EMA length (equals the close) slowPeriod = 2 // slow EMA length cciPeriod = 21 // CCI length cciLevel = -95 // CCI must still be above this minTrueRange = 24 // bar must be at least this volatile repulsePeriod = 3 // smoothing of the Repulse buying and selling pressure repulseLevel = 0.1 // short below this Repulse value, cover above it firstTradeDay = 1 // Monday lastTradeDay = 5 // Friday stopLossPct = 1 // protective stop, percent of entry price takeProfitPct = 2 // profit target, percent of entry price // --- Indicators --- fastMA = ExponentialAverage[fastPeriod](close) slowMA = ExponentialAverage[slowPeriod](close) cciValue = CCI[cciPeriod](close) trueRange = TR(close) // Repulse written out: bullish pressure minus bearish pressure, as percent of close. bullPressure = 100 * (3 * close - 2 * low - open) / close bearPressure = 100 * (open + 2 * high - 3 * close) / close repulseValue = ExponentialAverage[repulsePeriod](bullPressure) - ExponentialAverage[repulsePeriod](bearPressure) tradingWindow = OpenDayOfWeek >= firstTradeDay AND OpenDayOfWeek <= lastTradeDay
17 more lines: the entry and exit rules.
Setup
Questions
Yes, it is a short only system with 1 contract, a 1% stop and a 2% target. The rewritten code has not been compile checked.
Gold 4 hours was the main run. Gold 15 minutes made EUR 662.70, FTSE 100 1 minute EUR 105.80 and Gold 1 minute EUR 45.50.
On Gold 4 hours the maximum drawdown was EUR 485.30. Each trade risks 1% of the entry price at the stop.
The minimum true range of 24 is easier to meet on 4 hour Gold bars, which gives a usable number of trades without too much noise.
Related
The ProRealAlgos community gets the full rules, the complete code and the automated portfolio.