Instead of fading extremes, this system follows them. It goes long when RSI(8) is above 70 and short when it is below 30, but only if ATR(16) is more than 0.15% of the close. Each trade has a 200 point target and a 150 point stop.
Best run of 14. Gold, 2 min, spread 0.6, from run pf:2026-09-15-GOLD-2m.tsv:2.
| Period | Up to 2026-09-15 |
| Instrument | Gold, 2 minutes |
| 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-15 |
| positionSize Contracts per trade | 1 |
| rsiPeriod RSI length | 8 |
| atrPeriod ATR length for the volatility filter | 16 |
| oversoldLevel RSI below this triggers a short; above 100 minus this triggers a long | 30 |
| minVolatilityPct ATR must exceed this percent of price | 0.15 |
| takeProfitPoints Target in points | 200 |
| stopLossPoints Protective stop in points | 150 |
Every run
| Market | Timeframe | PF | Trades | Win % | Net | Max DD |
|---|---|---|---|---|---|---|
| GoldBest run | 2 min | 1.36 | 283 | 41.34 | 2,486 EUR | -1,177 |
| Gold | 4 hours | 1.23 | 770 | 38.83 | 2,945 EUR | -769 |
| Gold | Daily | 1.17 | 342 | 38.30 | 1,384 EUR | -807 |
| Gold | 3 min | 1.15 | 384 | 40.62 | 1,421 EUR | -760 |
| Silver | 4 hours | 1.13 | 990 | 38.18 | 30,194 USD | -9,053 |
| USD/JPY | Daily | 1.12 | 1,178 | 45.42 | 1,174,010 JPY | -651,790 |
| Gold | 1 hour | 1.09 | 2,521 | 36.30 | 2,144 EUR | -904 |
| USD/JPY | 1 hour | 1.08 | 2,076 | 39.07 | 673,590 JPY | -257,760 |
| EUR/USD | Daily | 1.07 | 893 | 43.90 | 48,386 USD | -24,374 |
| GBP/USD | Daily | 1.07 | 1,248 | 44.55 | 7,395 USD | -2,886 |
| DAX 40 | 1 hour | 1.06 | 3,819 | 39.67 | 13,580 EUR | -4,961 |
| Dow Jones | 4 hours | 1.06 | 1,240 | 44.35 | 6,146 EUR | -4,495 |
| FTSE 100 | 3 min | n/a | 62 | 40.32 | 803 EUR | -679 |
| FTSE 100 | 2 min | n/a | 5 | 60.00 | 357 EUR | -317 |
Charts
Above 1.0 made money, below 1.0 lost money.
Longer history
With the full 1,000,000 bars available on Gold 2 minutes, net profit fell to EUR 2,085 from EUR 2,485.9 in the standard run, because the older data alone lost EUR 400.9.
| Bars available | 1,000,000 |
| Net, standard 200,000-bar run | 2,485.90 EUR |
| Net, long run | 2,085.00 EUR |
| Net on the older data alone | -400.90 EUR |
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.
// ============================================================ // RSI Volatility Momentum // ProRealAlgos Strategy Library | prorealalgos.com // Type: Momentum // Direction: Long & short // Timeframe tested: 2 minutes // ============================================================ // --- Settings --- DEFPARAM CumulateOrders = false DEFPARAM PreloadBars = 1000 // --- Parameters --- positionSize = 1 // contracts per trade rsiPeriod = 8 // RSI length atrPeriod = 16 // ATR length for the volatility filter oversoldLevel = 30 // RSI below this triggers a short; above 100 minus this triggers a long minVolatilityPct = 0.15 // ATR must exceed this percent of price takeProfitPoints = 200 // target in points stopLossPoints = 150 // protective stop in points // --- Indicators --- rsiValue = RSI[rsiPeriod](close) volatilityPct = (AverageTrueRange[atrPeriod](close) / close) * 100 overboughtLevel = 100 - oversoldLevel
16 more lines: the entry and exit rules.
Read this first
Questions
Yes, it is fully automated with point-based stop and target. The code was rewritten after testing and not compile-checked, so check it in ProBacktest first.
Gold, Silver, DAX 40, Dow Jones, FTSE 100 and the major currency pairs, and every listed run made money. USD/JPY daily made JPY 1,174,010 with a profit factor of 1.12.
At 1 contract the Gold 2 minute run had a max drawdown of EUR 1,177.1 against EUR 2,485.9 net profit over 283 trades.
The 2 minute chart gave the best recorded profit factor. The ATR filter keeps it out of quiet periods where small bars would not reach the target.
Related
The ProRealAlgos community gets the full rules, the complete code and the automated portfolio.