Rejoindre la liste d'attente
Stratégies / Breakout / Morning Range Breakout

Morning Range Breakout avec dimensionnement adaptatif

Au premier bar de chaque jour, le système place un buy stop au plus haut de 120 bars et un sell stop au plus bas de 120 bars. Un seul trade est autorisé par jour. Il vise 35 points avec un stop ferme de 60 points.

BreakoutLong & shortSwingPétrole BrentJournalier
1.89Profit factor
7,714Gain net EUR
74.19%Taux de réussite
434Trades
-719Max drawdown
17.77Trade moyen

Meilleure exécution sur 39. Brent Crude, Journalier, spread 3, à partir de l'exécution pf:2026-09-15-BRENT-D.tsv:3.

Règles d'entrée, long

  1. Seulement si aucun trade n'a été pris ou déclenché aujourd'hui et que ce n'est pas un bar de week-end

Règles d'entrée, short

  1. Seulement si aucun trade n'a été pris ou déclenché aujourd'hui et que ce n'est pas un bar de week-end

Règles de sortie

  1. Stop à 35 unités de prix du prix d'entrée moyen
  2. Stop loss ferme 60 points

Conditions de test

PériodeJusqu'au 2026-09-15
InstrumentBrent Crude, Journalier
Spread3 points
Contrats1
Capital de départ1,000,000
CoûtsSpread uniquement. Les commissions et le financement overnight ne sont pas inclus.
BarresJusqu'à 200,000 barres, moins lorsque l'instrument a moins d'historique
Dernier test2026-09-16
Paramètres (8)
stopDistance
Distance de prix du stop géré et de l'objectif de profit
35
rangeBars
Bars dans le range de breakout, pris au premier bar de chaque jour
120
stopLossPoints
Stop de protection ferme en points
60
profitStep
La taille revient à 1 chaque fois que le profit de la stratégie progresse de ce montant
20
positionSize
Contrats ; augmente après une perte, diminue après un gain
1
profitMark
Niveau de profit de la stratégie qui déclenche la prochaine réinitialisation de taille
20
inTrade
Valeur initiale du drapeau de position en cours, pour que la taille ne soit pas ajustée avant le premier trade
1
sizeAdjusted
Valeur initiale du drapeau de taille ajustée, pour que la taille ne soit pas ajustée avant le premier trade
1

Chaque exécution

Marchés et unités de temps testés

MarchéUnité de tempsPFTrades% de réussiteNetMax DD
Pétrole BrentMeilleure exécutionJournalier1.89 43474.197,714 EUR-719
USD/JPYJournalier1.86 1,08976.121,338,700 JPY-76,500
GBP/USDJournalier1.70 1,09474.3118,262 USD-1,989
Dow Jones4 heures1.68 62671.7310,622 EUR-1,550
Or10 min1.43 46855.777,053 EUR-1,102
OrJournalier1.39 27860.434,570 EUR-2,200
Or15 min1.37 52854.557,646 EUR-1,961
ArgentJournalier1.34 42560.7129,069 USD-6,934
Dow Jones1 heure1.33 1,06561.6015,281 EUR-1,498
DAX 40Journalier1.30 95462.7912,668 EUR-2,732
Pétrole brut américain4 heures1.29 1,04459.8715,081 EUR-2,352
Argent4 heures1.28 85756.0156,137 USD-7,984
Pétrole Brent4 heures1.28 74361.249,972 EUR-3,412
USD/JPY10 min1.25 91566.78802,240 JPY-282,690
EUR/USDJournalier1.23 1,05467.4687,805 USD-28,557
Or4 heures1.23 46852.996,138 EUR-3,127
USD/JPY15 min1.21 1,11467.24865,410 JPY-238,610
Nikkei 225Journalier1.21 1,16073.1012,846 USD-5,694
Or5 min1.21 36454.954,571 EUR-3,052
Dow Jones30 min1.19 1,34758.9517,804 EUR-6,660
Or1 heure1.18 72852.888,638 EUR-3,600
S&P 500Journalier1.18 40954.284,457 EUR-2,346
USD/JPY5 min1.16 52264.94325,240 JPY-130,880
GBP/USD4 heures1.15 1,63764.9413,171 USD-3,585
Nasdaq 1004 heures1.13 1,23557.0012,906 EUR-9,310
Or30 min1.13 72451.807,513 EUR-4,038
USD/JPY4 heures1.12 1,12964.48438,870 JPY-180,040
USD/JPY1 heure1.11 2,05864.82922,930 JPY-335,090
Pétrole brut américain1 heure1.11 1,89654.5420,962 EUR-7,692
Nasdaq 10010 min1.11 1,26852.6813,948 EUR-7,963
Nasdaq 10015 min1.10 1,80852.3218,077 EUR-13,562
Pétrole Brent1 heure1.10 1,36553.4814,300 EUR-10,534
S&P 50030 min1.10 1,19351.5511,913 EUR-7,131
Pétrole brut américain30 min1.08 2,42652.9326,200 EUR-19,195
USD/JPY30 min1.07 1,81265.18588,350 JPY-559,030
S&P 50015 min1.07 1,08750.417,498 EUR-4,808
EUR/USD4 heures1.06 1,52564.2066,798 USD-60,183
GBP/USD1 heure1.06 3,05863.8711,410 USD-7,294
USD/JPY1 minn/a 8768.97122,500 JPY-50,710

Graphiques

Résultats par exécution

Les 10 meilleures exécutions sur 39. La liste complète figure dans le tableau ci-dessus.

Au-dessus de 1.0, a gagné de l'argent ; en dessous de 1.0, a perdu de l'argent.

Le code

ProBuilder, réécrit selon le standard maison

// ============================================================
// Morning Range Breakout
// ProRealAlgos Strategy Library  |  prorealalgos.com
// Type: Breakout
// Direction: Long & short
// Timeframe tested: Daily
// ============================================================

// --- Settings ---
DEFPARAM CumulateOrders = false
DEFPARAM PreloadBars = 1000

// --- Parameters ---
stopDistance = 35             // price distance of the managed stop and the profit target
rangeBars = 120               // bars in the breakout range, taken at the first bar of each day
stopLossPoints = 60           // hard protective stop in points
profitStep = 20               // size resets to 1 each time strategy profit gains this much

ONCE positionSize = 1         // contracts; grows after a loss, shrinks after a win
ONCE profitMark = 20          // strategy profit level that triggers the next size reset
ONCE inTrade = 1              // start as if in a trade, so no size change before the first trade
ONCE sizeAdjusted = 1         // start as already adjusted, same reason

// --- Indicators ---
weekendBar = OpenDayOfWeek = 6 OR OpenDayOfWeek = 0

// New day: allow one trade and capture the range.
IF Day <> Day[1] THEN
  tradeTaken = 0
  rangeHigh = Highest[rangeBars](high)
  rangeLow = Lowest[rangeBars](low)
ENDIF

61 lignes de plus : les règles d'entrée et de sortie.

Configuration

Comment la charger

  1. Copiez le code avec le bouton Copier du bloc de code.
  2. Dans ProRealTime, ouvrez un graphique de l'instrument et de l'unité de temps que vous voulez tester, puis ouvrez ProOrder > Nouveau système de trading et choisissez "Créer par programmation".
  3. Collez le code, donnez un nom au système et enregistrez-le.
  4. Cliquez sur "Backtest", définissez votre propre spread et votre position size, puis lancez-la avant d'envisager de la trader en réel.
À lire d'abordFaiblesses connues4 points
  • La position size augmente de 1 contrat après chaque trade perdant et se réinitialise dès que le profit dépasse le palier suivant de 20 unités. Une série de pertes peut mettre plusieurs contrats en risque à la fois.
  • Le stop ferme (60 points) est plus large que l'objectif (35 points). Le taux de réussite de 74.19% sur Brent Crude Journalier porte le résultat, et une baisse du taux de réussite ferait mal rapidement.
  • Les objectifs et stops exprimés en points ne s'adaptent pas d'un marché à l'autre. USD/JPY 30 minutes a rapporté 588,350 JPY mais avec un drawdown de 559,030 JPY.
  • Malgré le nom, le DAX 40 n'a pas été le meilleur marché. DAX 40 Journalier a eu un profit factor de 1.3.

Questions

À propos de cette stratégie

Puis-je l'exécuter dans ProOrder ?

Oui. Les ordres stop, les objectifs et la logique de dimensionnement sont tous dans le code, et elle prend au maximum un trade par jour.

Quels instruments ont été testés ?

Brent Crude Journalier a été le meilleur avec un profit factor de 1.89. Suivaient USD/JPY Journalier (1.86), GBP/USD Journalier (1.7) et Dow Jones 4 heures (1.68), et presque toutes les autres lignes étaient au-dessus de 1.

Quel capital le dimensionnement demande-t-il ?

Le pire drawdown sur Brent Crude Journalier était de 718.9 EUR, en partant de 1 contrat. Comme la taille augmente après les pertes, une série de pertes plus longue que celle du backtest coûterait plus que cela.

Pourquoi obtient-elle de bons tests sur des bars journaliers ?

Sur les graphiques journaliers, chaque bar est le premier bar d'un nouveau jour, le système peut donc placer de nouveaux ordres à chaque séance. Les graphiques intraday comme Gold 10 minutes ont aussi fonctionné, avec un profit factor de 1.43.

Voir aussi

Des stratégies comme celle-ci

Resistance Breacher

Meilleure exécution sur le même marché, Brent Crude.

1.58 PF · 142 trades

Buy After Price Fall

Un profit factor similaire.

1.88 PF · 312 trades

Breakout Regime Filter

Également une stratégie breakout.

6.28 PF · 70 trades

Vous voulez apprendre comment le position sizing change un système comme celui-ci ? Rejoignez la liste d'attente ProRealAlgos.

La communauté ProRealAlgos obtient les règles complètes, le code complet et le portefeuille automatisé.

Les résultats passés de backtest ne garantissent pas les résultats futurs. Ceci n'est pas un conseil financier. Sélectionné et maintenu par ProRealAlgos. ProRealTime™ est une marque de ProRealTime SAS. prorealalgos.comStatsDocumentation