Instead of fading overbought readings, this strategy buys when RSI(20) crosses above 70 with price over the 20 bar SMA and Momentum(12) rising for two bars. Shorts mirror it below 30. Trades close at a 40 point stop or target, or earlier when RSI falls back or the SMA turns.
Best run of 8. Silver, 4 hours, spread 2, from run pf:2026-09-26-SILVER-4h.tsv:1.
| Period | Up to 2026-09-27 |
| Instrument | Silver, 4 hours |
| Spread | 2 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-27 |
| positionSize Contracts per trade | 1 |
| rsiPeriod RSI length | 20 |
| longEntryLevel Buy when RSI crosses above this | 70 |
| longExitLevel Sell when RSI crosses below this | 60 |
| shortEntryLevel Short when RSI crosses below this | 30 |
| shortExitLevel Cover when RSI crosses above this | 40 |
| trendPeriod SMA used as trend filter and slope exit | 20 |
| momentumPeriod Momentum length | 12 |
| stopLossPoints Protective stop in points | 40 |
| takeProfitPoints Profit target in points | 40 |
Every run
| Market | Timeframe | PF | Trades | Win % | Net | Max DD |
|---|---|---|---|---|---|---|
| SilverBest run | 4 hours | 1.33 | 273 | 50.55 | 6,567 USD | -1,524 |
| USD/JPY | 1 hour | 1.15 | 1,115 | 45.92 | 248,920 JPY | -58,630 |
| USD/JPY | 15 min | n/a | 1,340 | 38.58 | 91,970 JPY | -58,510 |
| Dow Jones | Daily | n/a | 90 | 55.56 | 615 EUR | -174 |
| US Crude Oil | Daily | n/a | 88 | 56.82 | 480 EUR | -221 |
| Gold | 30 min | n/a | 1,440 | 35.42 | 477 EUR | -430 |
| Brent Crude | Daily | n/a | 41 | 63.41 | 440 EUR | -120 |
| Gold | Daily | n/a | 111 | 43.24 | 245 EUR | -168 |
Charts
Above 1.0 made money, below 1.0 lost money.
The code
// ============================================================ // RSI Momentum Thrust // ProRealAlgos Strategy Library | prorealalgos.com // Type: Momentum // Direction: Long & short // Timeframe tested: 4 hours // ============================================================ // --- Settings --- DEFPARAM CumulateOrders = false // --- Parameters --- positionSize = 1 // contracts per trade rsiPeriod = 20 // RSI length longEntryLevel = 70 // buy when RSI crosses above this longExitLevel = 60 // sell when RSI crosses below this shortEntryLevel = 30 // short when RSI crosses below this shortExitLevel = 40 // cover when RSI crosses above this trendPeriod = 20 // SMA used as trend filter and slope exit momentumPeriod = 12 // momentum length stopLossPoints = 40 // protective stop, points takeProfitPoints = 40 // profit target, points // --- Indicators --- rsiValue = RSI[rsiPeriod](close) trendMA = Average[trendPeriod](close) momentumValue = Momentum[momentumPeriod](close) momentumRising = momentumValue > momentumValue[1] AND momentumValue[1] > momentumValue[2] momentumFalling = momentumValue < momentumValue[1] AND momentumValue[1] < momentumValue[2]
28 more lines: the entry and exit rules.
Setup
Questions
Yes. It uses RSI, SMA and Momentum with a fixed stop and target. The rewrite is not compile checked yet.
Silver 4 hours was best. USD/JPY, Dow Jones, US Crude Oil, Brent Crude and Gold were also profitable, with USD/JPY 1 hour at a profit factor of 1.15.
On Silver 4 hours max drawdown was USD 1,523.5. USD/JPY 1 hour reached JPY 58,629.97.
RSI(20) is slow, so crosses of 70 or 30 on 4 hour bars mark real multi day thrusts rather than brief spikes.
Related
The ProRealAlgos community gets the full rules, the complete code and the automated portfolio.