Stratégie d'arrêt du trail ATR (uniquement longue)

Auteur:ChaoZhang est là., Date: 2023-11-02 14h05 et 22 min
Les étiquettes:

img

Résumé

Cette stratégie utilise deux arrêts ATR avec des paramètres différents pour définir des niveaux de stop-loss dynamiques - un stop rapide et un stop lent. Elle établit des positions longues basées sur les écarts de prix des différents niveaux de stop et sort des positions en utilisant les arrêts de trailing. L'objectif est d'utiliser les arrêts ATR pour définir des niveaux de stop-loss raisonnables tout en maximisant la capacité de suivre la tendance.

La logique de la stratégie

La stratégie utilise l'indicateur ATR pour calculer deux niveaux d'arrêt-perte. L'arrêt rapide utilise l'ATR de 5 périodes multiplié par 0,5 comme distance d'arrêt. L'arrêt lent utilise l'ATR de 10 périodes multiplié par 3 comme distance d'arrêt. Lorsque le prix dépasse le niveau d'arrêt rapide, une position longue est établie. Lorsque le prix continue de dépasser le niveau d'arrêt lent, l'arrêt est ajusté au niveau d'arrêt lent. Si le prix baisse, le niveau d'arrêt est ajusté en fonction des relations de croisement.

La logique est la suivante:

  1. Calcul de l'arrêt rapide Trail1: ATR à 5 périodes * 0,5

  2. Calcul de l'arrêt lent Trail2: ATR à 10 périodes * 3

  3. Lorsque le prix dépasse Trail1, établir une position longue

  4. Lorsque le prix continue à dépasser Trail2, ajustez l'arrêt à Trail2

  5. Si le prix baisse en cas de rupture de Trail1, ajustez l'arrêt à Trail1

  6. Si le prix continue à baisser en brisant Trail2, ajustez l'arrêt à Trail2

  7. Enfin, si le prix atteint le niveau de stop, quittez la position avec stop loss

De cette façon, la stratégie peut maximiser le profit pendant les tendances haussières avec les arrêts de trailing tout en arrêtant rapidement les pertes lorsque la tendance s'inverse.

Les avantages

  1. Les niveaux d'arrêt des pertes dynamiques sont fixés par ATR en fonction de la volatilité du marché

  2. Le mécanisme de double arrêt équilibre entre les pertes d'arrêt et les tendances à la baisse

  3. La direction longue s'aligne sur la tendance haussière globale, une rentabilité plus élevée

  4. Logie simple et claire, facile à comprendre et à mettre en œuvre

  5. Des règles strictes de stop loss limitent efficacement les pertes

Les risques

  1. Des paramètres ATR incorrects peuvent entraîner des arrêts trop larges ou trop serrés

  2. La direction longue a un biais directionnel, prédisposé à des arrêts aux sommets du marché

  3. Les règles de double arrêt sont complexes et peuvent échouer si elles ne sont pas correctement réglées.

  4. Aucun filtre tel que les croisements EMA, peut entraîner de mauvaises transactions

  5. Aucune gestion des positions ou des risques, risques de surtrading

Ces risques peuvent être réduits en optimisant les paramètres ATR, en ajoutant des filtres et en appliquant la gestion des risques.

Les domaines d'amélioration

  1. Optimiser les combinaisons de paramètres ATR pour obtenir les meilleurs résultats

  2. Ajouter des filtres comme EMA pour qualifier les signaux d'entrée

  3. Incorporer des indicateurs tels que le RSI de Stoch pour un avantage supplémentaire

  4. Ajouter une logique de réentrée pour optimiser la gestion de la position

  5. Optimiser les règles de gestion des risques afin de limiter les pertes par arrêt de transaction

  6. Incorporer des analyses au niveau du marché pour éviter les erreurs de direction

  7. Considérez des stratégies de délai plus rapide comme horaire

  8. Élargir à une stratégie universelle multi-marchés

  9. Déployer un moteur de négociation de haute performance

Grâce à ces améliorations, la stratégie peut être plus robuste, stable et rentable.

Résumé

La stratégie utilise des arrêts ATR clairs pour les entrées et les sorties longues. Les avantages résident dans ses règles de stop loss strictes pour limiter les pertes tout en suivant les tendances. Elle présente des risques de biais directionnel qui peuvent être réduits grâce à des optimisations telles que de meilleurs paramètres, l'ajout de filtres et l'amélioration de la gestion des risques.


/*backtest
start: 2023-10-25 00:00:00
end: 2023-11-01 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("ATR Trailing Stop Strategy (Long Position Only)", overlay=true)

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

// Fast Trail
AP1 = input(5, "Fast ATR period", input.integer)
AF1 = input(0.5, "Fast ATR multiplier", input.float)
SL1 = AF1 * atr(AP1)
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), SC + SL1, na))

// Slow Trail
AP2 = input(10, "Slow ATR period", input.integer)
AF2 = input(3, "Slow ATR multiplier", input.float)
SL2 = AF2 * atr(AP2)
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), SC + SL2, na))

Green = Trail1 > Trail2 and close > Trail2 and low > Trail2

Buy = crossover(Trail1, Trail2)

plotshape(Buy, style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small)

strategy.entry("Buy", strategy.long, when = Buy)

var float trailingStopPrice = na
if (Trail2 > trailingStopPrice)
    trailingStopPrice := Trail2

if (crossover(Trail1, Trail2))
    trailingStopPrice := Trail2

strategy.exit("Exit", from_entry = "Buy", stop=trailingStopPrice)


Plus de