Après que le prix a reculé de 20% du range du jour, un buy stop se place 7 points sous le plus haut, ou un sell stop 7 points au-dessus du plus bas après un rebond. Le range doit être de 120 points ou moins et les niveaux espacés de 60 points, et les lundis sont ignorés. Les gagnants sont gérés avec un trailing stop de 22 points pour les longs et 21 pour les shorts.
Meilleure exécution sur 18. Dow Jones, Journalier, spread 3, issue de l'exécution sweeps:2026-09-16-DOW30-D-opt.tsv:3.
| Période | Jusqu'au 2026-09-16 |
| Instrument | Dow Jones, Journalier |
| Spread | 3 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 |
| skipDay Jour de la semaine sans nouvelles entrées (1 = lundi) | 1 |
| maxAmplitude Ignorer les journées dont le range est plus large que cette valeur, points | 120 |
| minAmplitude Écart minimum entre les deux niveaux d'entrée, points | 60 |
| orderDistance Décalage du niveau d'entrée à l'intérieur du range, points | 7 |
| minPullbackPct Repli depuis l'extrême du range, pourcentage du range, avant qu'un niveau soit défini | 20 |
| longTrailPoints Distance du trailing sur les longs, points | 22 |
| shortTrailPoints Distance du trailing sur les shorts, points | 21 |
Chaque exécution
| Marché | Unité de temps | PF | Trades | % de réussite | Net | Max DD |
|---|---|---|---|---|---|---|
| Dow JonesMeilleure exécution | Journalier | n/a | 963 | 61.99 | 20,020 EUR | -2,607 |
| Nikkei 225 | Journalier | n/a | 531 | 56.12 | 16,448 USD | -2,304 |
| Pétrole brut américain | Journalier | n/a | 865 | 60.23 | 6,785 EUR | -2,214 |
| Argent | 4 heures | n/a | 157 | 71.34 | 5,821 USD | -4,653 |
| Pétrole Brent | Journalier | n/a | 549 | 57.74 | 4,848 EUR | -1,906 |
| Argent | 1 heure | n/a | 74 | 74.32 | 3,963 USD | -3,401 |
| Nasdaq 100 | Journalier | n/a | 272 | 65.44 | 3,607 EUR | -1,293 |
| Nikkei 225 | 1 min | n/a | 43 | 83.72 | 1,287 USD | -357 |
| Or | Journalier | n/a | 53 | 71.70 | 1,141 EUR | -477 |
| Pétrole Brent | 5 min | n/a | 33 | 93.94 | 379 EUR | -287 |
| Nasdaq 100 | 1 min | n/a | 22 | 81.82 | 241 EUR | -206 |
| Pétrole Brent | 1 min | n/a | 7 | 100.00 | 183 EUR | -163 |
| Or | 30 min | n/a | 3 | 100.00 | 91.70 EUR | -61.90 |
| Or | 5 min | n/a | 2 | 100.00 | 89.40 EUR | -68.80 |
| Or | 10 min | n/a | 2 | 100.00 | 88.70 EUR | -63.50 |
| Or | 15 min | n/a | 2 | 100.00 | 86.90 EUR | -61.90 |
| S&P 500 | 2 min | n/a | 3 | 100.00 | 65.44 EUR | -61.94 |
| FTSE 100 | 5 min | n/a | 1 | 100.00 | 27.40 EUR | -21.00 |
Graphiques
Les 10 meilleures exécutions sur 18. La liste complète figure dans le tableau ci-dessus.
Le code
// ============================================================ // DAX Range Breakout Trailing // ProRealAlgos Strategy Library | prorealalgos.com // Type: Breakout // Direction: Long & short // Timeframe tested: Daily // ============================================================ // --- Settings --- DEFPARAM CumulateOrders = false DEFPARAM PreloadBars = 10000 // --- Parameters --- positionSize = 1 // contracts per trade skipDay = 1 // day of week with no new entries (1 = Monday) maxAmplitude = 120 // skip days whose range is wider than this, in points minAmplitude = 60 // entry levels must be at least this far apart, in points orderDistance = 7 // entry level offset inside the range, in points minPullbackPct = 20 // price must pull back this share of the range before a level is set longTrailPoints = 22 // trailing distance on longs, in points shortTrailPoints = 21 // trailing distance on shorts, in points // No trading until the first new session has started. ONCE sessionStarted = -1 // --- Indicators --- IF DayOfWeek = skipDay THEN dayAllowed = 0 ELSE dayAllowed = 1 ENDIF // Reset the day's levels on the first bar of each session. IF IntradayBarIndex = 0 THEN longEntryLevel = 0 shortEntryLevel = 0 longTaken = 0 shortTaken = 0 sessionStarted = 1 ENDIF // Set each entry level once price has pulled back far enough from the range extreme. IF sessionStarted = 1 AND dayAllowed = 1 THEN IF longEntryLevel = 0 OR shortEntryLevel = 0 THEN rangeHigh = Highest[IntradayBarIndex + 1](high) rangeLow = Lowest[IntradayBarIndex + 1](low) rangeSize = rangeHigh - rangeLow minPullback = rangeSize * minPullbackPct / 100 IF rangeSize <= maxAmplitude THEN IF shortEntryLevel = 0 AND (close - rangeLow) >= minPullback THEN shortEntryLevel = rangeLow + orderDistance ENDIF IF longEntryLevel = 0 AND (rangeHigh - close) >= minPullback THEN longEntryLevel = rangeHigh - orderDistance ENDIF ENDIF ENDIF ENDIF
51 lignes de plus : les règles d'entrée et de sortie.
Configuration
Questions
Oui, elle utilise des ordres stop, un trailing stop et un stop ferme, tous pris en charge par ProOrder. Le code réécrit n'est pas encore vérifié à la compilation, testez-le donc d'abord en démo.
La meilleure exécution était Dow Jones Journalier avec EUR 20,019.9 sur 963 trades. Nikkei 225 Journalier a gagné USD 16,448.1 et US Crude Oil Journalier EUR 6,785.2, tandis que les exécutions intraday sur S&P 500 et FTSE 100 n'ont pris qu'une poignée de trades.
L'exécution Dow Jones Journalier a eu un max drawdown de EUR 2,607.4 avec 1 contrat. Silver 4 heures a connu USD 4,653.0 de drawdown.
Sur les barres journalières, le filtre de range et les niveaux proviennent d'un seul bar, ce qui en fait de fait un système différent et plus simple. Testez vous-même l'unité de temps intraday avant de vous y fier.
Voir aussi
Le copy trading sur les indices américains est disponible pour les membres ProRealAlgos à mesure que des places se libèrent.