Première cassure de bougie - stratégie dynamique de stop loss suiveur et de clôture de position

ATR ADR SL TP EOD RANGE BREAKOUT Trailing Stop
Date de création: 2025-04-01 11:06:47 Dernière modification: 2025-04-01 11:06:47
Copier: 0 Nombre de clics: 378
2
Suivre
319
Abonnés

Première cassure de bougie - stratégie dynamique de stop loss suiveur et de clôture de position Première cassure de bougie - stratégie dynamique de stop loss suiveur et de clôture de position

La stratégie de blocage de la première courbe est une stratégie de négociation intraday qui utilise la zone de prix de la première courbe après l’ouverture du marché comme support et résistance importants. La stratégie consiste à attendre que la première courbe se forme et à entrer dans le marché après que le prix a franchi son plus haut ou son plus bas point, tout en utilisant un mécanisme de blocage de la première courbe basé sur la zone de suivi dynamique des pertes et en imposant une position de blocage à des heures spécifiques de la journée pour éviter le risque de nuit.

Principe de stratégie

La stratégie est basée sur l’observation du marché selon laquelle les intervalles de prix formés par la première courbe après l’ouverture du marché ont souvent une signification technique importante. La logique centrale de la stratégie est la suivante:

  1. Identifie et enregistre le prix le plus élevé et le prix le plus bas du premier câble de la journée à une heure spécifique définie par l’utilisateur (default 9:15).
  2. Calculer la fourchette de prix pour le premier câble de câblage (le prix le plus élevé moins le prix le plus bas).
  3. La stratégie déclenche un signal de multiplication lorsque le prix dépasse le prix le plus élevé du premier bloc après la formation du premier bloc.
  4. La stratégie déclenche un signal de coupe lorsque le prix franchit le seuil du premier bloc après la formation du premier bloc.
  5. Le stop-loss suivant la dynamique est défini après l’entrée, la distance de stop-loss étant 1,5 fois la distance entre les prix de la première tranche (modifiable par paramètres).
  6. Pour les positions multiples, le niveau de stop-loss augmente en fonction de l’augmentation du prix, en conservant une distance de stop-loss fixe par rapport au prix actuel.
  7. Pour les positions à vide, le niveau de stop loss est réduit en fonction de la baisse du prix, en conservant une distance de stop loss fixe par rapport au prix actuel.
  8. Il est obligatoire de garder toutes les positions en cours de négociation à un moment précis de la journée (default 15h30), afin d’éviter les risques de nuit.

La stratégie utilise un mécanisme d’entrée post-confirmation, c’est-à-dire l’entrée en bourse après que le prix a réellement franchi le haut ou le bas du premier pivot, plutôt que d’entrer immédiatement dans le marché lorsque le prix a touché ces niveaux, ce qui contribue à réduire le risque de fausse rupture.

Avantages stratégiques

  1. Un signal d’entrée clairLa stratégie est basée sur des signaux clairs d’entrée en bourse, les règles sont simples, claires et faciles à comprendre et à appliquer.
  2. Gestion dynamique des risquesLe système d’arrêt de suivi dynamique basé sur les fluctuations du marché, la distance d’arrêt est automatiquement ajustée en fonction de la gamme de fluctuations du premier pivot de la journée, ce qui rend la gestion des risques plus adaptative.
  3. Éviter les fausses percéesIl est possible de filtrer certains signaux de fausse rupture en attendant que la clôture du cours atteigne le haut ou le bas de la première barre, plutôt que d’entrer immédiatement après que le cours a atteint ces niveaux.
  4. Comment éviter les dangers de la nuitLa position doit être clôturée à une heure fixe chaque jour, afin d’éviter les risques de failles et les incertitudes que peut entraîner la tenue de positions pendant la nuit.
  5. Adaptation aux fluctuations du marché: le point d’entrée et le niveau de stop-loss de la stratégie s’ajustent automatiquement en fonction de la volatilité du marché du jour, avec une plus grande distance de stop-loss les jours de forte volatilité et une plus petite distance de stop-loss les jours de faible volatilité, afin de mieux s’adapter aux différentes conditions du marché.
  6. Une seule transaction.Les transactions sont limitées à une seule transaction par jour, afin d’éviter une survente et de réduire les coûts.
  7. Automatisation complèteLes stratégies sont entièrement automatisées et ne nécessitent aucune intervention humaine, ce qui les rend idéales pour les traders qui n’ont pas la possibilité de surveiller le marché en temps réel.

Le risque stratégique

Bien que cette stratégie présente de nombreux avantages, elle comporte des risques potentiels:

  1. Le risque d’une fausse percéeBien que la stratégie d’attente de la rupture de la clôture du cours et de la reprise puisse être utilisée, il est toujours possible de rencontrer une situation de fausse rupture, c’est-à-dire une reprise rapide après la rupture du cours, ce qui entraîne le déclenchement d’un stop loss. La solution est d’envisager d’ajouter des indicateurs de confirmation supplémentaires, tels que la confirmation de la quantité ou la confirmation de la tendance.
  2. La distance d’arrêt est trop grande.La solution est de fixer une limite absolue à la distance de rupture maximale.
  3. La distance d’arrêt est trop petiteAu contraire, les jours de faible volatilité, la première barre peut être très étroite, ce qui entraîne une distance d’arrêt trop petite et susceptible d’être déclenchée par le bruit du marché. La solution consiste à définir une valeur absolue inférieure à la distance d’arrêt minimale.
  4. Ils ont raté quelque chose.: La stratégie ne permettant qu’une seule transaction par jour et imposant des positions blanches à des heures fixes, il est possible de manquer une situation de marché continue. La solution peut être envisagée en permettant la tenue de positions pendant la nuit dans certaines conditions.
  5. La dépendance au temps: la stratégie a des exigences strictes pour le moment de la formation de la première colonne et le moment de la clôture obligatoire, une forte dépendance à l’heure, différents marchés ou différents fuseaux horaires peuvent nécessiter un ajustement des paramètres. La solution est d’ajuster les paramètres en fonction des heures de négociation de certains marchés.
  6. Objectifs à but non lucratif: la stratégie ne définit pas d’objectifs de profit clairs, dépend entièrement de la poursuite des arrêts de perte ou des positions de clôture de la journée pour terminer les transactions, peut ne pas être rentable dans la position optimale. La solution peut être envisagée en ajoutant des mécanismes de rentabilité basés sur des niveaux de support / résistance ou des indicateurs techniques.
  7. Paramètre Sensibilité: La performance d’une stratégie peut être très sensible aux paramètres (comme l’heure de début, l’heure de fin, le suivi des multiplicateurs de stop loss, etc.) et nécessite un retour complet et une optimisation.

Orientation de l’optimisation de la stratégie

La stratégie peut être optimisée pour ces risques dans les directions suivantes:

  1. Ajout de conditions de filtrage: En combinaison avec un indicateur de tendance du marché ou un indicateur de volume des transactions, n’entrez en jeu que si la direction de la tendance est la même ou si le volume des transactions est confirmé, afin de réduire le risque de fausse rupture. Par exemple, vous pouvez ajouter une moyenne mobile comme filtre de tendance ou demander un volume de transactions nettement plus élevé lors d’une rupture.
  2. Optimisation des mécanismes de couvertureIl est possible d’envisager de définir une distance de rupture plus dynamique en combinant l’indicateur ATR (Average True Range) avec la distance de rupture.
  3. Mise en place d’un mécanisme de profit partiel: Lorsque le prix atteint un certain objectif (par exemple, 2 ou 3 fois la première tranche de coude), une partie de la position de clôture peut être considérée comme un profit, et le reste de la position continue à utiliser la gestion de la traçabilité des pertes.
  4. Augmentation des conditions de détention pendant la nuit: dans certaines conditions (par exemple, si la tendance est forte ou si le prix est loin du point d’entrée), il est permis de conserver une partie ou la totalité de la position pendant la nuit afin de maîtriser les grandes tendances.
  5. Ajouter un filtre temporel: éviter de négocier pendant les périodes de faible volatilité ou d’incertitude du marché, par exemple en évitant d’entrer en bourse avant ou après la publication de données économiques importantes.
  6. Mécanisme d’adaptation des paramètres d’optimisation: permet à la stratégie d’ajuster automatiquement les paramètres en fonction de l’état récent du marché, par exemple en ajustant le multiplicateur de stop-loss suivi en fonction de la volatilité moyenne des derniers jours.
  7. Adhésion à l’identification de l’environnement du marchéL’adaptabilité de la stratégie est améliorée en utilisant différents paramètres de négociation ou même différentes logiques de négociation dans différents environnements de marché (par exemple, en cas de choc ou de tendance).
  8. Considérez une analyse de plusieurs périodes: une structure de marché associée à un cadre temporel plus large, qui permet de négocier dans le sens de la tendance dominante et d’éviter les transactions contraires.
  9. Ajout d’un module de gestion de fondsAjuster la taille des positions en fonction de la volatilité du marché et de la dynamique de la performance historique, réduire les positions en période d’incertitude et augmenter les positions en période de bonne performance de la stratégie.

Résumer

La première rupture de crête - stratégie de placement de stop loss et de clôture de suivi dynamique est une stratégie de négociation intraday basée sur la première tranche de prix de la ligne de crête après l’ouverture du marché. Elle utilise l’entrée de signal de rupture de prix après confirmation, la gestion des risques basée sur les fluctuations du marché avec un mécanisme de stop loss de suivi dynamique et le placement forcé à des heures fixes chaque jour pour éviter le risque du lendemain.

L’avantage de cette stratégie réside dans la clarté des signaux d’entrée, la dynamique de la gestion des risques, l’évitement des faux-breaks et des risques de nuit, l’adaptation aux fluctuations du marché, la limitation des transactions excessives et la possibilité d’une exécution entièrement automatisée. Cependant, elle est également confrontée à des défis tels que le risque de faux-breaks, l’arrêt injustifié, la perte d’une situation majeure, la dépendance au temps, le manque d’objectifs de profit et la sensibilité aux paramètres.

La stabilité et la rentabilité de la stratégie peuvent être encore améliorées par l’ajout de conditions de filtrage, l’optimisation des mécanismes de stop-loss, l’introduction d’un mécanisme de profit partiel, l’ajout de conditions de tenue de position pendant la nuit, l’ajout de filtres de temps, l’optimisation des paramètres du mécanisme d’adaptation, l’ajout de l’identification de l’environnement du marché, la prise en compte de l’analyse de plusieurs délais et l’ajout d’un module de gestion des fonds.

Dans l’ensemble, il s’agit d’une stratégie de day trading structurée et logique, adaptée aux traders qui souhaitent effectuer des transactions de jour par le biais d’un système automatisé et contrôler strictement les risques. Grâce à une optimisation ciblée et à un ajustement approprié des paramètres, la stratégie devrait être stable dans différents environnements de marché.

Code source de la stratégie
/*backtest
start: 2025-03-24 00:00:00
end: 2025-03-31 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"TRX_USDT"}]
*/

//@version=5
strategy("First Candle Breakout - Trailing Stop & EOD Close", overlay=true)

// User Inputs
startHour = input(9, "Start Hour (Exchange Time)")
startMinute = input(15, "Start Minute (Exchange Time)")
endHour = input(15, "End Hour (Exchange Time)")  // Market closing hour
endMinute = input(30, "End Minute (Exchange Time)")
trailStopMultiplier = input(1.5, "Trailing Stop Multiplier")  // 1.5x first candle range

// Variables to store the first candle's high & low
var float firstCandleHigh = na
var float firstCandleLow = na
var bool tradeTaken = false  // Ensures only one trade per day
var int tradeDirection = 0   // 1 for long, -1 for short
var float trailStopLevel = na  // Trailing stop level

// Identify first candle's high & low
if (hour == startHour and minute == startMinute and bar_index > 1)
    firstCandleHigh := high
    firstCandleLow := low
    tradeTaken := false  // Reset trade flag at start of day
    tradeDirection := 0   // Reset trade direction
    trailStopLevel := na  // Reset trailing stop

// Calculate first candle range
firstCandleRange = firstCandleHigh - firstCandleLow
trailStopDistance = firstCandleRange * trailStopMultiplier

// Buy condition: Close above first candle high AFTER the first candle closes
longCondition = not na(firstCandleHigh) and close > firstCandleHigh and not tradeTaken and hour > startHour
if (longCondition)
    strategy.entry("Buy", strategy.long, comment="Buy")
    trailStopLevel := close - trailStopDistance  // Set initial trailing stop
    tradeTaken := true
    tradeDirection := 1

// Sell condition: Close below first candle low AFTER the first candle closes
shortCondition = not na(firstCandleLow) and close < firstCandleLow and not tradeTaken and hour > startHour
if (shortCondition)
    strategy.entry("Sell", strategy.short, comment="Sell")
    trailStopLevel := close + trailStopDistance  // Set initial trailing stop
    tradeTaken := true
    tradeDirection := -1

// Update trailing stop for long trades
if (tradeDirection == 1 and not na(trailStopLevel))
    trailStopLevel := nz(trailStopLevel, close - trailStopDistance)  // Initialize if na
    trailStopLevel := math.max(trailStopLevel, close - trailStopDistance)  // Adjust trailing stop up
    if (close <= trailStopLevel)  // Stop loss hit
        strategy.close("Buy", comment="Trailing SL Hit")

// Update trailing stop for short trades
if (tradeDirection == -1 and not na(trailStopLevel))
    trailStopLevel := nz(trailStopLevel, close + trailStopDistance)  // Initialize if na
    trailStopLevel := math.min(trailStopLevel, close + trailStopDistance)  // Adjust trailing stop down
    if (close >= trailStopLevel)  // Stop loss hit
        strategy.close("Sell", comment="Trailing SL Hit")

// Close trade at end of day if still open
if (tradeTaken and hour == endHour and minute == endMinute)
    strategy.close_all(comment="EOD Close")