Quand le prix recule d'au moins 35% du range du jour depuis le plus haut, un buy stop est placé 4 points sous ce plus haut, avec un sell stop en miroir au-dessus du plus bas. Le range du jour doit rester à 160 points ou moins et les deux niveaux espacés d'au moins 20. Elle ignore le 1 mai et les jours fériés de fin décembre, et chaque côté trade une fois par jour.
Meilleure exécution sur 12. Nikkei 225, 30 min, spread 10, issue de l'exécution sweeps:2026-09-17-NIKKEI-30m-opt.tsv:2.
| Période | Jusqu'au 2026-09-17 |
| Instrument | Nikkei 225, 30 minutes |
| Spread | 10 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 |
| maxRangePoints Pas de nouveaux niveaux si le range du jour est plus large que cette valeur ; sert aussi de stop loss en points | 160 |
| minLevelGap Distance minimum entre les niveaux d'achat et de vente | 20 |
| orderDistance Les niveaux d'entrée se placent à ce nombre de points à l'intérieur du plus haut et du plus bas du jour | 4 |
| minPullbackPct Repli depuis un extrême, en pourcentage du range du jour, nécessaire pour définir ce niveau | 35 |
| rangeExtraBars Bars ajoutés au nombre de bars du jour pour la fenêtre des plus hauts/plus bas | 2 |
| mayMonth / mayDay / decemberMonth / christmasEve / christmasDay / boxingDay / yearEndEve / newYearsEve Dates du calendrier des jours fériés sans trading | 5 / 1 / 12 / 24 / 25 / 26 / 30 / 31 |
Chaque exécution
| Marché | Unité de temps | PF | Trades | % de réussite | Net | Max DD |
|---|---|---|---|---|---|---|
| Nikkei 225Meilleure exécution | 30 min | n/a | 3,646 | 17.53 | 29,850 USD | -8,138 |
| Nikkei 225 | 1 heure | n/a | 3,055 | 23.24 | 18,297 USD | -8,884 |
| Nikkei 225 | Journalier | n/a | 172 | 19.77 | 10,782 USD | -8,276 |
| DAX 40 | Journalier | n/a | 619 | 36.83 | 7,816 EUR | -5,105 |
| Nasdaq 100 | 30 min | n/a | 1,719 | 18.44 | 5,659 EUR | -5,120 |
| Nasdaq 100 | Journalier | n/a | 479 | 39.46 | 5,029 EUR | -2,144 |
| Or | 10 min | n/a | 75 | 33.33 | 2,089 EUR | -692 |
| Or | 5 min | n/a | 57 | 31.58 | 1,760 EUR | -1,539 |
| FTSE 100 | 5 min | n/a | 63 | 28.57 | 1,710 EUR | -889 |
| Or | 30 min | n/a | 110 | 36.36 | 1,482 EUR | -1,456 |
| FTSE 100 | 1 min | n/a | 23 | 34.78 | 1,089 EUR | -445 |
| S&P 500 | 1 min | n/a | 14 | 42.86 | 458 EUR | -425 |
Graphiques
Les 10 meilleures exécutions sur 12. La liste complète figure dans le tableau ci-dessus.
Le code
// ============================================================ // Intraday Range Breakout // ProRealAlgos Strategy Library | prorealalgos.com // Type: Breakout // Direction: Long & short // Timeframe tested: 30 minutes // ============================================================ // --- Settings --- DEFPARAM CumulateOrders = false DEFPARAM PreloadBars = 10000 // --- Parameters --- positionSize = 1 // contracts per trade maxRangePoints = 160 // no orders if today's range is wider than this; also the stop loss minLevelGap = 20 // buy and sell levels must be at least this far apart orderDistance = 4 // entry levels sit this many points inside the day's extremes minPullbackPct = 35 // price must pull back this percent of the range from an extreme rangeExtraBars = 2 // bars added to today's bar count for the range window mayMonth = 5 // holiday calendar: May mayDay = 1 // May 1 decemberMonth = 12 // holiday calendar: December christmasEve = 24 christmasDay = 25 boxingDay = 26 yearEndEve = 30 newYearsEve = 31 ONCE dayStarted = -1 ONCE longDone = 0 ONCE shortDone = 0 // --- Indicators --- // No trading on holidays and thin year-end sessions. IF (Month = mayMonth AND Day = mayDay) OR (Month = decemberMonth AND (Day = christmasEve OR Day = christmasDay OR Day = boxingDay OR Day = yearEndEve OR Day = newYearsEve)) THEN tradingDay = 0 ELSE tradingDay = 1 ENDIF
56 lignes de plus : les règles d'entrée et de sortie.
Configuration
Questions
Elle fonctionne avec des ordres stop pris en charge par ProOrder, et les deux peuvent être actifs en même temps. Le code a été réécrit après les tests et n'a pas encore été vérifié à la compilation.
Les 11 lignes du tableau étaient profitables. Nikkei 225 arrivait en tête, avec USD 18,297.2 en 1 heure, et DAX 40 Journalier a gagné EUR 7,815.6, tandis que S&P 500 1 minute n'a pris que 14 trades.
La meilleure exécution a eu un max drawdown de USD 8,137.8 avec 1 contrat, et Nikkei 225 1 heure a connu USD 8,883.9.
Les niveaux proviennent du plus haut, du plus bas du jour et d'un repli de 35%, qui a besoin de quelques bars pour se former. En 30 minutes, cela se produit la plupart des jours sans le bruit des bars de 1 minute.
Voir aussi
La communauté ProRealAlgos obtient les règles complètes, le code complet et le portefeuille automatisé.