Stratégie de stop loss suiveur ATR


Date de création: 2023-09-26 20:23:13 Dernière modification: 2023-09-26 20:23:13
Copier: 1 Nombre de clics: 974
1
Suivre
1617
Abonnés

La stratégie ATR est une stratégie de négociation basée sur l’indicateur d’amplitude réelle moyenne pour la mise en place d’une position de stop-loss dynamique. La stratégie s’applique aux variétés de négociation de devises avec une forte volatilité des prix, en suivant dynamiquement les fluctuations du marché pour mettre en place des stop-loss, tout en contrôlant le risque de capture de profit dans les grandes tendances.

Principe de stratégie

La stratégie forme un canal de négociation en calculant l’indicateur AVERAGE (la moyenne des prix) et le DIFF et le DIFFLOW de la trajectoire ascendante et descendante basés sur l’indicateur ATR. Lorsque le prix est en hausse, le DIFF est en hausse et lorsque le prix est en baisse, il est en hausse.

Plus précisément, la stratégie commence par calculer la moyenne mobile simple du prix et l’indicateur ATR, puis multiplie le DIFF et le DIFFLOW en haut et en bas de la trajectoire par un facteur multiplicatif basé sur la valeur ATR. Cela forme un canal de négociation dont les limites supérieures et inférieures sont déterminées par le DIFF et le DIFFLOW.

De cette façon, la stratégie peut être continuellement sur-comprimée dans les grandes tendances pour capturer des bénéfices, tout en contrôlant les risques par le suivi dynamique des arrêts de l’ATR, adapté aux variétés à forte volatilité.

Analyse des avantages

Cette stratégie présente les avantages suivants:

  1. L’indicateur ATR est utilisé pour effectuer des arrêts dynamiques, permettant de définir des arrêts flexibles en fonction de la volatilité du marché, afin d’éviter des arrêts trop proches ou trop éloignés.

  2. Créer des canaux de négociation pour capturer les opportunités de retour de la valeur moyenne dans les grandes tendances. Cette stratégie permet d’obtenir un meilleur taux d’utilisation des fonds lorsque les prix restent dans les canaux.

  3. Il est possible de suivre la tendance sans avoir à prévoir une rupture à la hausse ou à la baisse, ce qui permet d’obtenir de meilleurs profits.

  4. Les paramètres et les règles de négociation sont simples, faciles à comprendre et à mettre en œuvre, adaptés aux transactions automatisées.

  5. Le taux d’utilisation des fonds est élevé, il n’y a pas besoin de prédire la direction de la percée, les transactions continues offrent plus d’opportunités de profit.

Analyse des risques et des optimisations

Cette stratégie comporte également des risques à prendre en compte:

  1. Le paramètre ATR est trop élevé, ce qui entraîne des pertes trop longues pour contrôler efficacement le risque. Il est recommandé de définir le coefficient ATR entre 1 et 3 fois l’ATR quotidien.

  2. Dans les marchés de liquidation, les opérations de change sont actives, les fluctuations de prix sont importantes et les arrêts sont fréquents. Le coefficient ATR peut être ajusté de manière appropriée pour réduire la fréquence des arrêts.

  3. Parfois, le prix peut traverser la chaîne et revenir en arrière, ce qui entraîne une perte de stratégie. Il peut être combiné avec un filtre de tendance, qui n’intervient que lorsque la direction de la tendance traverse la chaîne.

  4. Il est possible que le stop-loss n’ait pas une bonne protection en cas de forte perturbation. Il est préférable d’ajouter un maximum de stop-loss pour éviter un stop-loss excessif.

Cette stratégie peut être optimisée comme suit:

  1. Optimiser les paramètres ATR pour trouver le coefficient de multiplication ATR approprié, qui permet de suivre les pertes d’arrêt sans être trop sensible aux pertes d’arrêt.

  2. Ajouter un indicateur de jugement de tendance, ne faire plus que lorsque la tendance est à la hausse, faire le vide lorsque la tendance est à la baisse, éviter les transactions hors tendance.

  3. Les paramètres sont testés séparément pour les différentes variétés, et la combinaison de paramètres est trouvée pour chaque variété.

  4. Optimiser les chances d’entrée, en considérant la possibilité d’entrer dans l’axe du milieu du passage.

  5. Il est important d’augmenter la taille des positions, mais aussi de limiter les pertes globales.

Résumer

La stratégie ATR trace les arrêts de perte en créant un canal de négociation, en continuant à négocier dans les grandes tendances pour capturer des bénéfices, tout en utilisant l’arrêt dynamique ATR pour contrôler les risques. La stratégie s’applique aux variétés plus volatiles, ce qui permet d’obtenir un meilleur taux d’utilisation des fonds.

Code source de la stratégie
/*backtest
start: 2023-09-18 00:00:00
end: 2023-09-25 00:00:00
period: 5m
basePeriod: 1m
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/
// © Investoz

//@version=4
strategy("ATR Strategy FOREX", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100)

len = input(26, type=input.integer, minval=1, title="Length")
mul = input(1, type=input.float, minval=0, title="Length")
mullow = input(2, type=input.float, minval=0, title="Length")

price = sma(close, 1)
average = ema(close, len)
diff = atr(len) * mul
difflow = atr(len) * mullow

bull_level = average + diff
bear_level = average - difflow
bull_cross = crossunder(price, bear_level)
bear_cross = crossunder(bull_level, price)

FromMonth = input(defval = 8, title = "From Month", minval = 1, maxval = 12)
FromDay   = input(defval = 18, title = "From Day", minval = 1, maxval = 31)
FromYear  = input(defval = 2008, title = "From Year", minval = 2008)
ToMonth   = input(defval = 1, title = "To Month", minval = 1, maxval = 12)
ToDay     = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
ToYear    = input(defval = 2020, title = "To Year", minval = 2019)

start     = timestamp(FromYear, FromMonth, FromDay, 00, 00)  
finish    = timestamp(ToYear, ToMonth, ToDay, 23, 59)       
startTimeOk()  => true

if (startTimeOk())
    strategy.entry("KOP", strategy.long, when=bull_cross)
    strategy.close("KOP", when=bear_cross)  
    strategy.entry("SALJ", strategy.short, when=bear_cross)
    strategy.close("SALJ", when=bull_cross)

plot(price, title="price", color=color.black, transp=50, linewidth=2)
a0 = plot(average, title="average", color=color.red, transp=50, linewidth=1)
a1 = plot(bull_level, title="bull", color=color.green, transp=50, linewidth=1)
a2 = plot(bear_level, title="bear", color=color.red, transp=50, linewidth=1)
fill(a0, a1, color=color.green, transp=97)
fill(a0, a2, color=color.red, transp=97)