Stratégie ATR réglable pour les arrêts de perte de traînée

Auteur:ChaoZhang est là., Date: 2023-10-25 15:08:04 Je suis désolé
Les étiquettes:

img

Cette stratégie utilise l'indicateur ATR pour calculer une ligne de stop loss dynamique pour le contrôle des risques.

Résumé

La stratégie utilise l'indicateur ATR pour calculer une ligne de stop loss dynamique. Lorsque les prix augmentent, la ligne de stop loss monte avec les prix pour bloquer les bénéfices. Lorsque les prix baissent, la ligne de stop loss reste inchangée pour éviter d'être arrêtée. L'indicateur ATR peut mesurer la volatilité et le risque du marché.

Principaux

La stratégie utilise l'indicateur ATR et la fonction Highest pour calculer la ligne de stop loss dynamique.

TS=highest(high-Mult*atr(Atr),Hhv) 

où Atr est le paramètre de la période ATR, Hhv est le paramètre de la période de rétrospective de la fonction Highest et Mult est le coefficient ATR.

La logique est de calculer d'abord la valeur ATR, puis de la multiplier par le coefficient Mult pour obtenir la plage de la zone tampon stop loss.

Lorsque les prix augmentent, le plus haut maximum sera constamment mis à jour, ce qui conduit la ligne de stop loss à monter et à verrouiller les bénéfices.

Les avantages

  1. L'exposition au risque est calculée sur la base de l'exposition au risque.

La ligne de stop loss s'ajuste dynamiquement pour suivre le point le plus élevé après la hausse du prix, ce qui permet de réaliser des bénéfices en temps opportun.

  1. Évitez les arrêts inutiles

Les lignes de stop loss fixes peuvent facilement être déclenchées par des retraits normaux ou des arrêts trop serrés.

  1. Plage réglable des pertes de freinage

En réglant la période ATR et les paramètres du multiplicateur, la sensibilité du réglage de la perte d'arrêt peut être contrôlée pour différents degrés d'arrêt.

  1. Risque contrôlable

L'ATR calcule dynamiquement l'intervalle de stop loss, permettant des intervalles de stop loss raisonnables en fonction de la volatilité du marché pour le contrôle des risques par transaction.

Les risques

  1. Stop-loss trop agressif lors d'une volatilité élevée

Lorsque la volatilité augmente, l'ATR augmente rapidement et fait monter rapidement la ligne de stop loss, augmentant ainsi le risque d'arrêts inutiles.

  1. Difficile à adapter à des changements brusques

La stratégie a du mal à s'adapter à des renversements brusques. La ligne de stop loss peut être trop en retard et nécessite une réduction de position rapide.

  1. Optimisation difficile

L'optimisation de la période ATR, de la période maximale et des paramètres du multiplicateur ensemble peut être difficile.

Optimisation

  1. Optimiser la période ATR

Augmenter la période d'ATR pour réduire les ajustements trop fréquents de la ligne d'arrêt, mais au prix d'une plus grande perte par arrêt.

  1. Optimiser la période maximale

Augmenter la période maximale pour rendre la ligne plus stable, mais équilibrer la vitesse de suivi.

  1. Testez différents coefficients ATR

Choisissez les multiplicateurs ATR appropriés en fonction des caractéristiques de l'instrument.

  1. Ajouter un filtre de tendance

L'ajout d'un filtre de tendance réduit les risques d'arrêt déclenchés par des renversements.

Résumé

La stratégie a l'avantage d'avoir des arrêts dynamiques et des risques contrôlables. Elle s'adapte aux marchés en tendance, mais attention aux pics de volatilité et à l'optimisation difficile des paramètres.


/*backtest
start: 2023-10-17 00:00:00
end: 2023-10-24 00:00:00
period: 30m
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 Stoploss Strategy ",overlay=true)

Atr=input(defval=5,title="Atr Period",minval=1,maxval=500)
Hhv=input(defval=10,title="HHV Period",minval=1,maxval=500)
Mult=input(defval=2.5,title="Multiplier",minval=0.1)
Barcolor=input(true,title="Barcolor")

TS=highest(high-Mult*atr(Atr),Hhv),barssince(close>highest(high-Mult*atr(Atr),Hhv) and close>close)
Color=iff(close>TS,color.green,iff(close<TS,color.red,color.black))
barcolor(Barcolor? Color:na)

plot(TS,color=Color,linewidth=3,title="ATR Trailing Stoploss")

Buy  = crossover(close,TS)
Sell = crossunder(close,TS)

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

Plus de