Stratégie de stop loss suiveur Double ATR


Date de création: 2024-01-31 17:10:32 Dernière modification: 2024-01-31 17:10:32
Copier: 3 Nombre de clics: 921
1
Suivre
1617
Abonnés

Stratégie de stop loss suiveur Double ATR

Aperçu

La double ATR est une stratégie de négociation de courte ligne basée sur l’indicateur de l’amplitude réelle moyenne (ATR). La stratégie définit simultanément deux lignes de stop, l’ATR rapide et l’ATR lent, pour juger de l’entrée et de la sortie en fonction du croisement des deux lignes de stop. La stratégie est simple et facile à comprendre, réagit rapidement et convient aux marchés très volatils.

Principe de stratégie

La stratégie utilise principalement l’indicateur ATR pour définir deux lignes de stop-loss. L’une est la ligne ATR rapide, avec un cycle ATR court, multiplié par le nombre petit, et réagit rapidement; l’autre est la ligne ATR lente, avec un cycle ATR long, multiplié par le nombre grand, et joue le rôle de filtre.

La logique d’opération est la suivante: calculer les lignes ATR rapides et lentes; si le prix de la ligne rapide est supérieur à celui de la ligne lente, le stop est suivi par la ligne rapide, sinon le stop est suivi par la ligne lente. La couleur Kline indique le stop actuellement utilisé, le stop en lignes rapides est indiqué en vert et bleu, et le stop en lignes lentes est indiqué en rouge et jaune.

Analyse des avantages

La double ATR a les avantages suivants:

  1. La logique d’opération est simple, claire et facile à comprendre.
  2. Il est adapté aux marchés très volatils.
  3. Le double ATR contrôle le risque de dommages, et les dommages sont efficaces.
  4. Le paramétrage de l’indicateur ATR permet d’ajuster le stop loss.
  5. Les couleurs Kline visualisées indiquent clairement le point de rupture.

Analyse des risques

Cette stratégie comporte aussi des risques:

  1. Les échanges sont trop fréquents.
  2. L’indicateur ATR est mal adapté à la courbe, ce qui peut entraîner une perte de grossissement.
  3. Il n’est pas possible de filtrer efficacement les deux phases du marché, la phase transversale et la phase tendancielle.

Ces risques peuvent être atténués par l’optimisation des cycles d’ATR, l’ajustement des multiples d’ATR et le filtrage d’autres indicateurs.

Direction d’optimisation

Les stratégies d’arrêt de la perte d’attente du double ATR peuvent être optimisées dans les domaines suivants:

  1. Optimiser le paramètre ATR et ajuster le stop loss
  2. Augmentation des indicateurs de filtrage pour éviter les transactions invalides. Par exemple, augmentation de la moyenne des indicateurs de jugement de tendance.
  3. Augmentation des conditions d’ouverture des positions afin d’éviter les erreurs de négociation.
  4. Il est également important de prendre en compte le fait que les transactions sont plus longues et que les transactions sont moins fréquentes.

Résumer

La double ATR est une stratégie d’arrêt de la perte de suivi qui est facile à comprendre et à mettre en œuvre. Elle est particulièrement adaptée aux scénarios de forte volatilité. Elle permet de contrôler efficacement le risque.

Code source de la stratégie
/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © ceyhun

//@version=4
strategy("ATR Trailing Stop Strategy by ceyhun", overlay=true)

/////////notes////////////////////////////////////////
// This is based on the ATR trailing stop indicator //
// width addition of two levels of stops and        //
// different interpretation.                        //
// This is a fast-reacting system and is better     //
// suited for higher volatility markets             //
//////////////////////////////////////////////////////

SC = input(close, "Source", input.source)

// Fast Trail //
AP1 = input(5, "Fast ATR period", input.integer)  // ATR Period
AF1 = input(0.5, "Fast ATR multiplier", input.float)  // ATR Factor
SL1 = AF1 * atr(AP1)  // Stop Loss
Trail1 = 0.0
Trail1 := iff(SC > nz(Trail1[1], 0) and SC[1] > nz(Trail1[1], 0), max(nz(Trail1[1], 0), SC - SL1), iff(SC < nz(Trail1[1], 0) and SC[1] < nz(Trail1[1], 0), min(nz(Trail1[1], 0), SC + SL1), iff(SC > nz(Trail1[1], 0), SC - SL1, SC + SL1)))

// Slow Trail //
AP2 = input(10, "Slow ATR perod", input.integer)  // ATR Period
AF2 = input(2, "Slow ATR multiplier", input.float)  // ATR Factor
SL2 = AF2 * atr(AP2)  // Stop Loss
Trail2 = 0.0
Trail2 := iff(SC > nz(Trail2[1], 0) and SC[1] > nz(Trail2[1], 0), max(nz(Trail2[1], 0), SC - SL2), iff(SC < nz(Trail2[1], 0) and SC[1] < nz(Trail2[1], 0), min(nz(Trail2[1], 0), SC + SL2), iff(SC > nz(Trail2[1], 0), SC - SL2, SC + SL2)))

// Bar color for trade signal //
Green = Trail1 > Trail2 and close > Trail2 and low > Trail2
Blue = Trail1 > Trail2 and close > Trail2 and low < Trail2
Red = Trail2 > Trail1 and close < Trail2 and high < Trail2
Yellow = Trail2 > Trail1 and close < Trail2 and high > Trail2

// Signals //
Bull = barssince(Green) < barssince(Red)
Bear = barssince(Red) < barssince(Green)

Buy = crossover(Trail1, Trail2)
Sell = crossunder(Trail1, Trail2)

TS1 = plot(Trail1, "Fast Trail", style=plot.style_line,color=Trail1 > Trail2 ? color.blue : color.yellow, linewidth=2)
TS2 = plot(Trail2, "Slow Trail", style=plot.style_line,color=Trail1 > Trail2 ? color.green : color.red, linewidth=2)
fill(TS1, TS2, Bull ? color.green : color.red, transp=90)

plotcolor = input(true, "Paint color on chart", input.bool)

bcl = iff(plotcolor == 1, Blue ? color.blue : Green ? color.lime : Yellow ? color.yellow : Red ? color.red : color.white, na)
barcolor(bcl)

if Buy
    strategy.entry("Buy", strategy.long, comment="Buy")
    
if Sell
    strategy.entry("Sell", strategy.short, comment="Sell")