TURTLE – Stratégie de cassure des bandes de Bollinger ATR

ATR
Date de création: 2024-06-03 10:48:09 Dernière modification: 2024-06-03 10:48:09
Copier: 0 Nombre de clics: 710
1
Suivre
1617
Abonnés

TURTLE – Stratégie de cassure des bandes de Bollinger ATR

Aperçu

Il s’agit d’une stratégie de suivi de tendance basée sur la loi du trading de l’avalanche. Cette stratégie utilise l’ATR pour déterminer la direction de la tendance et la taille de la position de négociation.

Principe de stratégie

Le cœur de la stratégie est d’utiliser l’indicateur ATR pour déterminer la direction de la tendance et la taille de la position de négociation. L’indicateur ATR mesure la volatilité du marché, ce qui nous aide à déterminer le bon point d’arrêt et la taille de la position. Les principales étapes de la stratégie sont les suivantes:

  1. Calculer la valeur de l’indice ATR
  2. Déterminer les niveaux de prix de rupture pour les billets à plusieurs têtes et à vide. Le prix de rupture pour les billets à plusieurs têtes est le prix le plus élevé et le prix de rupture pour les billets à vide est le prix le plus bas de la période précédente.
  3. Si le prix dépasse le prix de rupture de plusieurs têtes, ouvrez une position en plus; si le prix dépasse le prix de rupture de vide, ouvrez une position en vide.
  4. La taille de position par transaction est calculée en fonction de la valeur de l’indicateur ATR et du solde du compte.
  5. Tenir une position jusqu’à ce que le prix dépasse le prix le plus bas (positions multiples) ou le prix le plus élevé (positions vides) de la période précédente, et la position est clôturée.

De cette façon, la stratégie est capable de capturer les tendances fortes tout en contrôlant strictement les risques. L’utilisation de l’indicateur ATR peut nous aider à ajuster dynamiquement la taille de notre position afin de mieux nous adapter aux fluctuations du marché.

Avantages stratégiques

  1. Le but de cette stratégie est de capturer les tendances fortes et de générer des bénéfices considérables.
  2. Contrôle du risque: Cette stratégie permet de contrôler efficacement le risque en utilisant l’indicateur ATR pour déterminer la taille de la position et le point d’arrêt.
  3. Adaptabilité: l’indicateur ATR peut être ajusté de manière dynamique, ce qui permet à la stratégie de s’adapter à différents environnements de marché.
  4. Simplicité: La logique de la stratégie est claire, facile à comprendre et à mettre en œuvre.

Risque stratégique

  1. Retour de tendance: la stratégie peut subir des pertes importantes lorsque la tendance du marché se retourne brusquement.
  2. Marché en turbulence: Dans les marchés en turbulence, la stratégie peut entraîner des positions de reprise fréquentes et des frais de transaction élevés.
  3. Sensitivité des paramètres: la performance de la stratégie peut être sensible aux paramètres, et des paramètres inappropriés peuvent entraîner une mauvaise performance de la stratégie.

Pour faire face à ces risques, les solutions suivantes peuvent être envisagées:

  1. La mise en place d’un mécanisme de confirmation des tendances pour éviter de prendre des positions prématurément en cas de reprise des tendances.
  2. Réduire la taille de la position ou suspendre la négociation en cas de turbulence.
  3. Optimiser les paramètres pour trouver la meilleure combinaison de paramètres

Orientation de l’optimisation de la stratégie

  1. Introduction de plus d’indicateurs: En plus de l’indicateur ATR, il est possible d’envisager l’introduction d’autres indicateurs de confirmation de tendance, tels que les moyennes mobiles, pour améliorer la précision des jugements de tendance.
  2. Paramètres d’ajustement dynamique: en fonction de différents environnements de marché, paramètres de stratégie d’ajustement dynamique, tels que les cycles ATR, les cycles de prix de rupture, etc., pour s’adapter aux changements de marché.
  3. Adhésion à un mécanisme de stop-loss: après avoir réalisé un certain profit, il est possible d’envisager une partie du plafond pour bloquer les bénéfices et réduire les risques.
  4. Gestion des positions multiples: il est possible d’envisager la gestion des positions multiples et des positions vides séparément, par exemple en utilisant différents critères de stop-loss pour améliorer la flexibilité de la stratégie.

Grâce à ces optimisations, la stabilité et la rentabilité de la stratégie peuvent être encore améliorées.

Résumer

La stratégie de rupture de la ceinture de Turtle-ATR est une stratégie de suivi de la tendance basée sur les règles de négociation de l’orage. Elle utilise l’indicateur ATR pour déterminer la direction de la tendance et la taille de la position de négociation, pour ouvrir une position en franchissant le prix le plus élevé ou le plus bas de la période précédente et pour maintenir la position jusqu’à ce que la tendance se retourne. L’avantage de cette stratégie réside dans la capacité de capturer les tendances fortes tout en contrôlant strictement les risques.

Code source de la stratégie
/*backtest
start: 2023-05-28 00:00:00
end: 2024-06-02 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © luisfeijoo22

//@version=5
strategy("Estrategia de las tortugas_ES", overlay=true, pyramiding=3)

// Parámetros 
atrLength = input.int(20, "Longitud del ATR")
atrFactor = input.float(2, "Factor del ATR")
entryBreakout = input.int(20, "Breakout de entrada")
exitBreakout = input.int(10, "Breakout de salida")
longOnly = input.bool(false, "Solo largos")
shortOnly = input.bool(false, "Solo cortos")


// Cálculo del ATR
atr = ta.atr(atrLength)

// Cálculo de los niveles de breakout
longEntry = ta.highest(high, exitBreakout)[1]
longExit = ta.lowest(low, exitBreakout)[1]
shortEntry = ta.lowest(low, exitBreakout)[1]
shortExit = ta.highest(high, exitBreakout)[1]

// Cálculo del tamaño de la posición
nContracts = math.floor((strategy.equity * 0.01) / (atrFactor * atr))

// Filtra las fechas según el rango deseado
// in_range = time >= timestamp(year(start_date), month(start_date), dayofmonth(start_date)) 

// Condiciones de entrada y salida
longCondition = not longOnly and close > longEntry and time >= timestamp("2023-03-15")
if longCondition
    strategy.entry("Long", strategy.long, qty = nContracts)

shortCondition = not shortOnly and close < shortEntry and time >=  timestamp("2023-03-15")
if shortCondition
    strategy.entry("Short", strategy.short, qty = nContracts)
    
strategy.exit("Exit Long", "Long", stop = longExit)
strategy.exit("Exit Short", "Short", stop = shortExit)

// Visualización de los niveles de breakout
plot(longEntry, "Entrada larga", color.green, style = plot.style_line)
plot(longExit, "Salida larga", color.red, style = plot.style_line)
plot(shortEntry, "Entrada corta", color.green, style = plot.style_line)
plot(shortExit, "Salida corta", color.red, style = plot.style_line)