Le plus haut et le plus bas de la veille définissent un range, et le système place des ordres juste à l'extérieur de celui-ci pour les breakouts et juste à l'intérieur pour les fakeouts qui retombent dedans. Il ne trade que lorsque ce range est entre 20 et 150 points et ignore les vendredis. La position size est basée sur le risque, à 0.5% de l'equity divisé par la distance de stop.
Meilleure exécution sur 15. DAX 40, 4 heures, spread 3, issue de l'exécution sweeps:2026-09-16-DAX40-4h-opt.tsv:2.
| Période | Jusqu'au 2026-09-16 |
| Instrument | DAX 40, 4 heures |
| Spread | 3 points |
| 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 |
| startingCapital Taille du compte utilisée pour le calcul du risque | 3000 |
| riskPct Pourcentage de l'equity risqué par trade | 0.5 |
| maxRangePoints Ignorer la journée si le range de la veille est plus large que cette valeur | 150 |
| minRangePoints Ignorer la journée si le range de la veille est plus étroit que cette valeur | 20 |
| targetRangeMultiple Objectif de gain en multiple du range de la veille | 1.5 |
| rangeMarginFraction Les niveaux d'entrée se situent à cette fraction du range à l'intérieur et à l'extérieur de chaque extrémité | 0.1 |
| stopMarginMultiple Stop loss en multiple de la marge d'entrée | 2 |
| minStopPoints Stop loss minimal autorisé en points | 6 |
| orderOffset Points supplémentaires ajoutés aux ordres d'entrée stop | 1 |
| blockedDay Jour de la semaine sans nouveaux trades (5 = vendredi) | 5 |
Chaque exécution
| Marché | Unité de temps | PF | Trades | % de réussite | Net | Max DD |
|---|---|---|---|---|---|---|
| DAX 40Meilleure exécution | 4 heures | n/a | 6,779 | 16.48 | 2,477,210 EUR | -336,797 |
| DAX 40 | Journalier | n/a | 4,273 | 21.83 | 19,248,806 EUR | -860,999 |
| FTSE 100 | Journalier | n/a | 6,737 | 21.79 | 4,648,349 EUR | -653,406 |
| Nikkei 225 | Journalier | n/a | 2,882 | 18.49 | 686,515 USD | -50,206 |
| Pétrole Brent | Journalier | n/a | 2,315 | 21.81 | 410,183 EUR | -60,891 |
| Nasdaq 100 | Journalier | n/a | 4,131 | 19.75 | 59,003 EUR | -6,503 |
| S&P 500 | Journalier | n/a | 3,335 | 24.35 | 44,615 EUR | -5,773 |
| Or | Journalier | n/a | 1,959 | 27.16 | 3,244 EUR | -1,039 |
| Dow Jones | 1 heure | n/a | 830 | 13.37 | 1,903 EUR | -1,572 |
| Dow Jones | 4 heures | n/a | 1,011 | 11.77 | 1,843 EUR | -1,300 |
| Dow Jones | 30 min | n/a | 709 | 13.26 | 1,816 EUR | -1,239 |
| Nasdaq 100 | 5 min | n/a | 309 | 11.97 | 837 EUR | -699 |
| Nasdaq 100 | 3 min | n/a | 122 | 12.30 | 686 EUR | -510 |
| Pétrole brut américain | 1 min | n/a | 34 | 23.53 | 615 EUR | -173 |
| Nasdaq 100 | 1 min | n/a | 18 | 22.22 | 449 EUR | -239 |
Graphiques
Les 10 meilleures exécutions sur 15. La liste complète figure dans le tableau ci-dessus.
Le code
// ============================================================ // Range Breakout And Fakeout // ProRealAlgos Strategy Library | prorealalgos.com // Type: Breakout // Direction: Long & short // Timeframe tested: 4 hours // ============================================================ // --- Settings --- DEFPARAM CumulateOrders = false DEFPARAM PreloadBars = 10000 // --- Parameters --- startingCapital = 3000 // account size used for risk sizing riskPct = 0.5 // percent of equity risked per trade maxRangePoints = 150 // skip days when yesterday's range is wider than this minRangePoints = 20 // skip days when yesterday's range is narrower than this targetRangeMultiple = 1.5 // profit target as a multiple of yesterday's range rangeMarginFraction = 0.1 // entry levels sit this fraction of the range inside and outside each edge stopMarginMultiple = 2 // stop loss as a multiple of that margin minStopPoints = 6 // floor for the stop loss orderOffset = 1 // extra points added to stop entries blockedDay = 5 // no new trades on this weekday (Friday) // Once-per-day entry flags, one per entry level ONCE lowerEdgeLongDone = 0 ONCE upperEdgeShortDone = 0 ONCE upperBreakLongDone = 0 ONCE lowerBreakShortDone = 0 ONCE tradingAllowed = 0 // --- Indicators --- // Reset the daily flags on the first bar of every day except the blocked day. IF DayOfWeek = blockedDay THEN tradingAllowed = 0 ELSE IF IntradayBarIndex = 0 THEN tradingAllowed = 1 lowerEdgeLongDone = 0 upperEdgeShortDone = 0 upperBreakLongDone = 0 lowerBreakShortDone = 0 ENDIF ENDIF // Entry levels come from the previous completed day's range. IF IntradayBarIndex = 0 THEN rangeHigh = DHigh(1) rangeLow = DLow(1) rangePoints = ROUND(rangeHigh - rangeLow) targetPoints = rangePoints * targetRangeMultiple rangeMargin = rangePoints * rangeMarginFraction aboveHigh = rangeHigh + rangeMargin belowHigh = rangeHigh - rangeMargin aboveLow = rangeLow + rangeMargin belowLow = rangeLow - rangeMargin stopLossPoints = ROUND(rangeMargin * stopMarginMultiple) IF stopLossPoints < minStopPoints THEN stopLossPoints = minStopPoints ENDIF ENDIF // Risk a fixed share of current equity on every trade. equity = startingCapital + StrategyProfit maxRisk = ROUND(equity * (riskPct / 100)) positionSize = ABS(ROUND((maxRisk / stopLossPoints) / PointValue) * PipSize) insideRange = close < rangeHigh - rangeMargin AND close > rangeLow + rangeMargin aboveRange = close > (rangeHigh + rangeMargin) belowRange = close < (rangeLow - rangeMargin) nearHigh = close > rangeHigh - rangeMargin AND close < rangeHigh + rangeMargin nearLow = close < rangeLow + rangeMargin AND close > rangeLow - rangeMargin
92 lignes de plus : les règles d'entrée et de sortie.
Configuration
Questions
Oui, elle place des ordres stop et limite que ProOrder peut gérer. Comme plusieurs ordres peuvent être en attente en même temps, vérifiez d'abord la gestion des ordres sur un compte démo.
Des exécutions ont été enregistrées sur DAX 40, FTSE 100, Nikkei 225, Brent Crude, Nasdaq 100, S&P 500, Gold, Dow Jones et US Crude Oil, et aucune des lignes n'a perdu d'argent. Les meilleures lignes sont les exécutions Journalier et 4 heures, tandis que les exécutions 1 minute sur US Crude Oil et Nasdaq 100 n'ont rapporté que EUR 615.0 et EUR 448.5.
Chaque trade risque 0.5% de l'equity, avec un stop à deux fois la marge d'entrée et au moins 6 points. La meilleure exécution a tout de même eu un max drawdown de EUR 336,796.7, parce que la taille se capitalise à mesure que l'equity augmente.
Le range provient de la journée précédente, un graphique 4 heures donne donc quelques bars par séance pour attraper la cassure ou le fakeout sans le bruit des graphiques très courts.
Voir aussi
La communauté ProRealAlgos obtient les règles complètes, le code complet et le portefeuille automatisé.