Une clôture sous une bande inférieure (EMA 35 moins 2 fois un écart type sur 5 barres) avec RSI(11) sous 30 déclenche un long. Une clôture au-dessus de la bande supérieure avec RSI(5) au-dessus de 70 déclenche un short. Les sorties utilisent un stop et un objectif basés sur l'ATR(49), et un signal opposé inverse le trade.
Meilleure exécution sur 10. EUR/USD, 15 min, spread 1, de l'exécution sweeps:2026-09-17-EURUSD-15m-opt.tsv:2.
| Période | Jusqu'au 2026-09-17 |
| Instrument | EUR/USD, 15 minutes |
| Spread | 1 points |
| Contrats | 1 |
| Capital de départ | 1,000,000 |
| Coûts | Spread uniquement. Les commissions et le financement overnight ne sont pas inclus. |
| Barres | Jusqu'à 200,000 barres, moins lorsque l'instrument a moins d'historique |
| Dernier test | 2026-09-17 |
| positionSize Contrats par trade | 1 |
| bandPeriod EMA au centre des bandes | 35 |
| lowerStdPeriod Longueur de l'écart type pour la bande inférieure | 5 |
| upperStdPeriod Longueur de l'écart type pour la bande supérieure | 10 |
| bandWidth Distance des bandes en écarts-types | 2 |
| longRsiPeriod Longueur du RSI pour le filtre long | 11 |
| shortRsiPeriod Longueur du RSI pour le filtre short | 5 |
| oversoldLevel Le RSI pour les longs doit être en dessous de cette valeur | 30 |
| overboughtLevel Le RSI pour les shorts doit être au-dessus de cette valeur | 70 |
| atrPeriod Longueur de l'ATR pour le stop et l'objectif | 49 |
| stopAtrFactor Stop en points = ATR x ce facteur | 300000 |
| targetAtrFactor Objectif en points = ATR x ce facteur | 80000 |
Chaque exécution
| Marché | Unité de temps | PF | Trades | % de réussite | Net | Max DD |
|---|---|---|---|---|---|---|
| EUR/USDMeilleure exécution | 15 min | n/a | 3,180 | 66.04 | 43,255 USD | -28,127 |
| Argent | 1 heure | n/a | 1,850 | 61.68 | 1,065,453 USD | -568,760 |
| USD/JPY | 4 heures | n/a | 616 | 66.23 | 414,820 JPY | -385,010 |
| EUR/USD | 10 min | n/a | 3,090 | 65.24 | 31,979 USD | -13,972 |
| Dow Jones | Journalier | n/a | 228 | 66.67 | 13,331 EUR | -12,096 |
| GBP/USD | 4 heures | n/a | 781 | 64.02 | 9,440 USD | -4,297 |
| Nasdaq 100 | 4 heures | n/a | 583 | 65.35 | 7,269 EUR | -6,960 |
| FTSE 100 | Journalier | n/a | 186 | 68.28 | 6,421 EUR | -4,934 |
| Dow Jones | 1 min | n/a | 2,899 | 66.13 | 4,930 EUR | -3,617 |
| S&P 500 | 4 heures | n/a | 565 | 66.37 | 1,916 EUR | -1,403 |
Graphiques
Le code
// ============================================================ // Volatility Band RSI Reversal // ProRealAlgos Strategy Library | prorealalgos.com // Type: Mean reversion // Direction: Long & short // Timeframe tested: 15 minutes // ============================================================ // --- Settings --- DEFPARAM CumulateOrders = false // --- Parameters --- positionSize = 1 // contracts per trade bandPeriod = 35 // EMA at the centre of the bands lowerStdPeriod = 5 // standard deviation length for the lower band upperStdPeriod = 10 // standard deviation length for the upper band bandWidth = 2 // band distance in standard deviations longRsiPeriod = 11 // RSI length for the long filter shortRsiPeriod = 5 // RSI length for the short filter oversoldLevel = 30 // long RSI must be below this overboughtLevel = 70 // short RSI must be above this atrPeriod = 49 // ATR length for stop and target stopAtrFactor = 300000 // stop in points = ATR x this factor targetAtrFactor = 80000 // target in points = ATR x this factor // --- Indicators --- // Holiday calendar: no trading on 23 and 24 June and on 9 November. IF (Month = 6 AND (Day = 23 OR Day = 24)) OR (Month = 11 AND Day = 9) THEN tradingDay = 0 ELSE tradingDay = 1 ENDIF // Bands are only updated on trading days, as in the original, so [1] after a holiday // still points at the last value computed. IF tradingDay = 1 THEN lowerBand = ExponentialAverage[bandPeriod](close) - bandWidth * STD[lowerStdPeriod](close) upperBand = ExponentialAverage[bandPeriod](close) + bandWidth * STD[upperStdPeriod](close) ENDIF longRsi = RSI[longRsiPeriod](close) shortRsi = RSI[shortRsiPeriod](close) atrValue = AverageTrueRange[atrPeriod](close)
19 lignes de plus : les règles d'entrée et de sortie.
Configuration
Questions
Oui, elle utilise des indicateurs standards et des stops basés sur l'ATR. Le code réécrit n'a pas été vérifié à la compilation, donc testez-le en démo.
EUR/USD 15 minutes a rapporté USD 43,255.0 et 10 minutes USD 31,979.0. Dow Jones Journalier a rapporté EUR 13,331.2, mais S&P 500 4 heures seulement EUR 1,916.2.
Avec 1 contrat, la meilleure exécution a eu un max drawdown de USD 28,127.0. Dimensionnez votre compte pour au moins cela, car le backtest exclut les commissions et le financement.
Les bandes et le RSI ont besoin d'assez de barres pour s'étendre et revenir brusquement à l'intérieur d'une séance. En 15 minutes, EUR/USD a produit 3,180 trades, un échantillon suffisamment grand pour interpréter le résultat.
Voir aussi
La communauté ProRealAlgos obtient les règles complètes, le code complet et le portefeuille automatisé.