Stratégie de rupture et de retournement des bougies du matin

OHLC MA ATR RSI
Date de création: 2024-07-31 14:16:42 Dernière modification: 2024-07-31 14:16:42
Copier: 5 Nombre de clics: 591
1
Suivre
1617
Abonnés

Stratégie de rupture et de retournement des bougies du matin

Aperçu

Cette stratégie est une stratégie de négociation intra-journée basée sur le graphique du matin, utilisant principalement les hauts et les bas de la ligne de crête de 11 heures du matin pour déterminer la tendance du marché. L’idée centrale de la stratégie est de faire plus lorsque le prix franchit le sommet du matin, de faire moins lorsque le prix franchit le bas, tout en définissant les conditions de stop correspondantes.

Principe de stratégie

La stratégie fonctionne comme suit:

  1. Déterminer les prix clés: la stratégie commence par identifier les hauts et les bas de l’horloge de 11h00 et utilise ces deux prix comme niveau de référence clé.

  2. Signal d’entrée:

    • Faire un signal plus: lorsque le prix de clôture atteint deux sommets K consécutifs, le signal plus est déclenché.
    • Signal de rupture: lorsque le prix de clôture a atteint deux lignes K consécutives au-dessous des bas du matin, le signal de rupture est déclenché.
  3. Paramètres de stop-loss:

    • La perte de plusieurs têtes: le point le plus bas de l’éclairage matinal.
    • Le point culminant de l’appareil est fixé au point culminant de l’appareil le matin.
  4. Le mécanisme de retrait:

    • Toucher le stop loss: Lorsque le prix atteint le niveau de stop loss correspondant, la position est automatiquement levée.
    • Déclenchement: toutes les positions seront automatiquement liquidées à 15h15 pour maîtriser le risque du jour au lendemain
  5. Limite de temps de transaction: la stratégie consiste à ne plus ouvrir de nouvelles transactions après 15h15 afin d’éviter des fluctuations anormales avant la clôture.

Avantages stratégiques

  1. Règles de négociation claires: la stratégie est basée sur une logique de rupture et de retournement de prix claire, facile à comprendre et à exécuter.

  2. Contrôle des risques: contrôler efficacement le risque de chaque transaction en définissant des points de stop-loss fixes.

  3. Adaptation aux conditions du marché: la stratégie peut s’adapter aux différentes conditions du marché en fonction de la fourchette de prix formée le matin.

  4. Automatisation de l’exécution: les stratégies peuvent être programmées pour automatiser complètement les transactions, en réduisant l’intervention humaine et l’influence émotionnelle.

  5. Les transactions intra-journées permettent d’éviter le risque de détenir une position du jour au lendemain en la déposant avant la clôture de la journée.

  6. Flexibilité: la stratégie peut être optimisée en fonction des paramètres de différents marchés et types de transactions.

Risque stratégique

  1. Risque de fausse rupture: les marchés peuvent être exposés à des fausses ruptures, entraînant de fréquentes sorties à perte.

  2. Limitation de la marge de fluctuation: pendant les périodes de faible volatilité, il peut être difficile de déclencher un signal de trading ou de générer des bénéfices efficaces.

  3. Un seul fuseau horaire: le fait de se fier uniquement au fil de 11h00 peut faire oublier des informations importantes sur le marché pour d’autres périodes.

  4. Le manque de suivi des tendances: la stratégie ne met pas en place de conditions d’arrêt et peut ne pas être en mesure de saisir pleinement les grandes tendances.

  5. Stop-loss fixe: dans les marchés très volatiles, les stop-loss fixes peuvent être trop rapprochés, ce qui entraîne une sortie prématurée d’une situation avantageuse.

  6. Coûts de transaction: les entrées et sorties fréquentes peuvent entraîner des coûts de transaction plus élevés, affectant les bénéfices globaux.

Orientation de l’optimisation de la stratégie

  1. L’introduction de l’analyse à plusieurs périodes: une meilleure précision des transactions, combinée à une meilleure compréhension des tendances sur de plus longues périodes.

  2. Stop-loss dynamique: utilisez des méthodes telles que l’indicateur ATR pour définir un stop-loss dynamique adapté aux différentes conditions de volatilité du marché.

  3. Ajout d’un mécanisme de freinage: mise en place de conditions de freinage basées sur le rapport risque/bénéfice, amélioration du rapport profit/perte de la stratégie.

  4. L’analyse du volume: ajout d’une analyse de la quantité de trafic pour améliorer la fiabilité du signal de rupture.

  5. Filtrage de l’état du marché: introduction d’indicateurs de volatilité tels que l’ATR, pour réduire la fréquence des transactions en période de faible volatilité.

  6. Optimiser le moment de l’entrée: envisagez d’utiliser des indicateurs tels que le RSI pour effectuer des transactions inverses dans les zones de survente.

  7. Ajout d’un élément de suivi de la tendance: lors d’une forte rupture, envisagez d’utiliser un stop mobile pour suivre la tendance.

  8. La rétroaction et l’optimisation des paramètres: la rétroaction est effectuée sur différentes combinaisons de paramètres pour trouver le paramétrage optimal.

Résumer

Les stratégies de rupture et de retournement du lever du matin sont un système de négociation intraday basé sur des ruptures de prix clés. Elle utilise les hauts et les bas du lever du 11 heures du matin comme référence importante pour capturer les tendances à court terme par des ruptures de prix. L’avantage de la stratégie réside dans la clarté des règles, la maîtrise des risques et l’exécution automatisée.

Code source de la stratégie
/*backtest
start: 2024-06-30 00:00:00
end: 2024-07-30 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Custom Strategy Nifty 50", overlay=true)

// Define the time variables
var bool morningCandleFound = false
var float morningHigh = na
var float morningLow = na
var bool inTrade = false
var int tradeDirection = 0 // 0: No trade, 1: Buy Call, -1: Buy Put
var bool noNewTrades = false // To prevent new trades after 15:15

// Identify the high and low of the 11:00 morning candle
if (hour == 11 and minute == 0)
    morningHigh := high
    morningLow := low
    morningCandleFound := true

// Plot the high and low of the 11:00 morning candle
plot(morningHigh, title="11:00 morning High", color=color.green, linewidth=2)
plot(morningLow, title="11:00 morning Low", color=color.red, linewidth=2)

// Conditions for Buy Call and Buy Put signals
var bool buyCallCondition = false
var bool buyPutCondition = false

if (morningCandleFound and (hour > 11 or (hour == 11 and minute > 0)) and not noNewTrades)
    // Check for Buy Call condition
    if (close[1] > morningHigh and close > morningHigh)
        if (not inTrade or tradeDirection != 1)
            strategy.entry("Buy Call", strategy.long, stop=morningLow)
            buyCallCondition := true
            inTrade := true
            tradeDirection := 1
            label.new(bar_index, high, "Buy Call", color=color.green)
            alert("Buy Call: Price crossed morning high", alert.freq_once_per_bar_close)
    else if (close[1] <= morningHigh)
        buyCallCondition := false

    // Check for Buy Put condition
    if (close[1] < morningLow and close < morningLow)
        if (not inTrade or tradeDirection != -1)
            strategy.entry("Buy Put", strategy.short, stop=morningHigh)
            buyPutCondition := true
            inTrade := true
            tradeDirection := -1
            label.new(bar_index, low, "Buy Put", color=color.red)
            alert("Buy Put: Price crossed morning low", alert.freq_once_per_bar_close)
    else if (close[1] >= morningLow)
        buyPutCondition := false

    // Exit conditions
    if (inTrade)
        if (tradeDirection == 1 and low <= morningLow)
            strategy.close("Buy Call")
            label.new(bar_index, low, "Exit Call", color=color.red)
            alert("Exit Call: Price fell below stop", alert.freq_once_per_bar_close)
            buyCallCondition := false
            inTrade := false
            tradeDirection := 0
        if (tradeDirection == -1 and high >= morningHigh)
            strategy.close("Buy Put")
            label.new(bar_index, high, "Exit Put", color=color.green)
            alert("Exit Put: Price rose above stop", alert.freq_once_per_bar_close)
            buyPutCondition := false
            inTrade := false
            tradeDirection := 0

// Close all positions at 15:15 and prevent new trades for the rest of the day
if (hour == 15 and minute == 15)
    strategy.close_all()
    inTrade := false
    tradeDirection := 0
    noNewTrades := true
    alert("Close All Positions at 15:15", alert.freq_once_per_bar_close)

// Reset noNewTrades at the start of a new day
if (hour == 11 and minute == 0)
    noNewTrades := false