Rejoindre la liste d'attente
Stratégies / Breakout / Resistance Breacher

Resistance Breacher : trader les cassures de swings confirmés

Resistance Breacher achète quand le prix clôture au-dessus du dernier swing high confirmé formé au-dessus de la SMA 47 et de l'EMA 53, avec Stochastic(8,3) au-dessus de 45 et une EMA 8 en légère hausse. Les shorts utilisent l'image miroir. Les stops et objectifs sont des multiples d'ATR(10), et chaque trade est clôturé au premier bar d'un nouveau jour.

BreakoutLong & shortSwingPétrole Brent4 heures
1.58Profit factor
4,630Gain net EUR
60.56%Taux de réussite
142Trades
-1,654Max drawdown
32.61Trade moyen

Meilleure exécution sur 4. Brent Crude, 4 heures, spread 3, d'après l'exécution pf:2026-09-15-BRENT-4h.tsv:3.

Règles d'entrée, long

  1. Pas un lundi
  2. Stochastic(8,3) est au-dessus de 45
  3. L'EMA 8 périodes a monté de 0.02% à 0.05% sur ce bar
  4. Un nouveau swing s'est formé depuis le dernier trade
  5. 3.5 x ATR(10) est supérieur à 20

Règles d'entrée, short

  1. Stochastic(8,3) est sous 65
  2. L'EMA 8 périodes a baissé de 0.02% à 0.05% sur ce bar
  3. La clôture est sous le dernier swing low confirmé (un plus bas de rebond formé alors que le prix est sous la SMA 47 et sous l'EMA 53) ; ce niveau est remis à zéro dès que le prix clôture au-dessus de l'une des deux moyennes, et le test n'est alors jamais validé
  4. 6.5 x ATR(10) est supérieur à 20

Règles de sortie

  1. Stop short à 6.5 x ATR(10), objectif à 3.5 x ATR(10)
  2. Clôturer tout trade ouvert au premier bar d'un nouveau jour

Conditions de test

PériodeJusqu'au 2026-09-15
InstrumentBrent Crude, 4 heures
Spread3 points
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 (22)
baseSize
Lots après un trade gagnant
2
afterLossSize
Lots après un ou deux trades perdants
3
afterThreeLossesSize
Lots après trois trades perdants consécutifs
2
afterTwoWinsSize
Lots après deux trades gagnants consécutifs
1
afterSixLossesSize
Lots après six trades perdants consécutifs
5
afterSixWinsSize
Lots après six trades gagnants consécutifs
1
stochPeriod
Longueur du Stochastic
8
stochSmooth
Lissage du Stochastique
3
slopePeriod
EMA utilisée pour mesurer la pente de court terme
8
longStochLevel
Les longs exigent le stochastique au-dessus de ce niveau
45
shortStochLevel
Les shorts exigent le stochastique sous ce niveau
65
minSlope
Ratio minimal de variation de l'EMA de bar à bar
1.0002
maxSlope
Ratio maximal de variation de l'EMA de bar à bar
1.0005
smaPeriod
Moyenne simple utilisée pour le suivi des swings
47
emaPeriod
Moyenne exponentielle utilisée pour le suivi des swings
53
atrPeriod
Longueur de l'ATR pour le stop et l'objectif
10
longStopAtr
Stop long en multiples d'ATR
3.5
longTargetAtr
Objectif long en multiples d'ATR
12
shortStopAtr
Stop short en multiples d'ATR
6.5
shortTargetAtr
Objectif short en multiples d'ATR
3.5
minStopDistance
Ignorer les trades dont le stop serait inférieur à ce niveau
20
skipLongDay
Longs uniquement les jours de semaine après ce numéro (ignore le lundi)
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écution4 heures1.58 14260.564,630 EUR-1,654
Or1 min1.16 63560.791,827 EUR-653
Dow Jones1 heure1.09 97748.9316,253 EUR-13,477
Nikkei 2251 min1.05 1,34646.5120,011 USD-17,262

Graphiques

Résultats par exécution

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

// ============================================================
// Resistance Breacher
// ProRealAlgos Strategy Library  |  prorealalgos.com
// Type: Breakout
// Direction: Long & short
// Timeframe tested: 4 hours
// ============================================================

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

// --- Parameters ---
baseSize = 2                 // lots after a winning trade
afterLossSize = 3            // lots after one or two losing trades
afterThreeLossesSize = 2     // lots after three losing trades in a row
afterTwoWinsSize = 1         // lots after two winning trades in a row
afterSixLossesSize = 5       // lots after six losing trades in a row
afterSixWinsSize = 1         // lots after six winning trades in a row
stochPeriod = 8              // stochastic length
stochSmooth = 3              // stochastic smoothing
slopePeriod = 8              // EMA used to measure short-term slope
longStochLevel = 45          // longs need the stochastic above this
shortStochLevel = 65         // shorts need the stochastic below this
minSlope = 1.0002            // EMA must move at least this ratio bar to bar
maxSlope = 1.0005            // and less than this ratio, so the move is not stretched
smaPeriod = 47               // simple average for swing tracking
emaPeriod = 53               // exponential average for swing tracking
atrPeriod = 10               // ATR length for stop and target
longStopAtr = 3.5            // long stop in ATR multiples
longTargetAtr = 12           // long target in ATR multiples
shortStopAtr = 6.5           // short stop in ATR multiples
shortTargetAtr = 3.5         // short target in ATR multiples
minStopDistance = 20         // skip trades whose stop would be smaller than this
skipLongDay = 1              // longs only after this weekday number (skips Monday)

// Swing state carried from bar to bar
ONCE setupReady = 0
ONCE swingLow = 0
ONCE confirmedLow = 0
ONCE swingHigh = 0
ONCE confirmedHigh = 0
ONCE stopDistance = 0
ONCE targetDistance = 0

// --- Indicators ---
stochK = Stochastic[stochPeriod, stochSmooth](close)
slopeMA = ExponentialAverage[slopePeriod](close)
smaFilter = Average[smaPeriod](close)
emaFilter = ExponentialAverage[emaPeriod](close)
atrValue = AverageTrueRange[atrPeriod]

// Size up after losses and down after wins.
positionSize = baseSize
IF PositionPerf(1) < 0 THEN
  positionSize = afterLossSize
ENDIF
IF PositionPerf(1) < 0 AND PositionPerf(2) < 0 AND PositionPerf(3) < 0 THEN
  positionSize = afterThreeLossesSize
ENDIF
IF PositionPerf(1) > 0 AND PositionPerf(2) > 0 THEN
  positionSize = afterTwoWinsSize
ENDIF
IF PositionPerf(1) < 0 AND PositionPerf(2) < 0 AND PositionPerf(3) < 0 AND PositionPerf(4) < 0 AND PositionPerf(5) < 0 AND PositionPerf(6) < 0 THEN
  positionSize = afterSixLossesSize
ENDIF
IF PositionPerf(1) > 0 AND PositionPerf(2) > 0 AND PositionPerf(3) > 0 AND PositionPerf(4) > 0 AND PositionPerf(5) > 0 AND PositionPerf(6) > 0 THEN
  positionSize = afterSixWinsSize
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.

Indicateurs utilisés

StochastiqueEMASMAATR
Historique plus longNouvelle exécution sur jusqu'à 1,000,000 barresOr · 1 min · données anciennes -1,273.30 EUR

Gold 1 minute disposait de la totalité des 1,000,000 bars, et le profit est tombé à EUR 553.40 contre EUR 1,826.70 dans l'exécution standard car les seules données plus anciennes ont perdu EUR 1,273.30.

Or · 1 min

Barres disponibles1,000,000
Net, exécution standard de 200,000 barres1,826.70 EUR
Net, exécution longue553.40 EUR
Net sur les seules données plus anciennes-1,273.30 EUR
À lire d'abordFaiblesses connues4 points
  • La position size change selon la série récente, de 1 à 5 lots, y compris en augmentant la taille après des pertes. Cela peut faire croître rapidement les drawdowns.
  • L'exécution phare Brent Crude 4 heures ne compte que 142 trades.
  • Il n'existe que 4 exécutions, et Nikkei 225 1 minute a eu un profit factor de 1.05 avec un drawdown de 17,261.50 USD.
  • Quand le prix clôture sous l'une des deux moyennes, le niveau du swing high est remis à zéro et le test de breakout long est toujours validé.

Questions

À propos de cette stratégie

Est-elle prête pour ProOrder ?

Oui, elle fonctionne automatiquement, y compris le dimensionnement basé sur les séries. Vérifiez les tailles de lots (base 2, jusqu'à 5) par rapport à votre compte avant de passer en réel.

Quels ont été ses résultats sur chaque marché ?

Brent Crude 4 heures a réalisé 4,630.30 EUR avec un profit factor de 1.58. Gold 1 minute, Dow Jones 1 heure et Nikkei 225 1 minute étaient positifs mais avec des profit factors entre 1.05 et 1.16.

Quel drawdown dois-je prévoir ?

Brent Crude 4 heures a eu un max drawdown de 1,654.40 EUR avec des tailles entre 1 et 5 lots et un spread de 3 points. Dow Jones 1 heure a atteint 13,476.80 EUR.

Pourquoi le graphique en 4 heures ?

Les swing highs sur les bars de 4 heures marquent des niveaux que d'autres traders surveillent, et les stops ATR(10) sont assez larges pour éviter le bruit. Ce graphique a donné le meilleur profit factor, 1.58.

Voir aussi

Des stratégies comme celle-ci

Monday Dip Buy

Utilise le même indicateur.

n/a PF · 146 trades

Morning Range Breakout

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

1.89 PF · 434 trades

Double Sevens

Un profit factor similaire.

1.58 PF · 743 trades

Découvrez comment les membres gèrent la position size. 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