Stratégie de profit directionnel de contrôle des risques ATR de croisement SMMA bidirectionnel

SMMA ATR TP SL
Date de création: 2025-02-19 10:59:14 Dernière modification: 2025-02-19 10:59:14
Copier: 7 Nombre de clics: 389
1
Suivre
1617
Abonnés

Stratégie de profit directionnel de contrôle des risques ATR de croisement SMMA bidirectionnel

Aperçu

Il s’agit d’une stratégie de suivi de tendance bidirectionnelle basée sur les SMMA, qui utilise les prix et les croisements des SMMA pour générer des signaux polyvalents et gère les risques et les bénéfices en combinant des arrêts de perte dynamiques ATR et des objectifs de profit fixes. La stratégie est conçue pour être simple et efficace, adaptée aux transactions de suivi de tendance sur différentes périodes de temps.

Principe de stratégie

Le cœur de la stratégie est de capturer les changements de tendance par la croisée de 17 cycles de SMMA avec le prix. Lorsque le prix traverse la SMMA, ouvrez des positions de plus de tête; Lorsque le prix traverse la SMMA, ouvrez des positions de moins de tête. La gestion de sortie utilise un triple mécanisme: 1) un arrêt dynamique basé sur l’ATR, fixé à 0,75 fois l’ATR sur la SMMA et en dessous; 2) un objectif de profit fixe, avec un plus de tête de 1150 points et une tête de moins de 1500 points; 3) un plafonnement de signal de croisement inverse.

Avantages stratégiques

  1. Système de signaux stable et fiable: SMMA est plus fluide que la moyenne mobile simple et réduit efficacement les faux signaux
  2. Gestion intégrée des risques: en combinant les objectifs ATR de stop-loss dynamique et de profit fixe, pour s’adapter aux changements de volatilité du marché tout en sécurisant des gains raisonnables
  3. Les échanges bidirectionnels: saisissez les opportunités bidirectionnelles du marché et améliorez l’efficacité de l’utilisation des fonds
  4. Scalabilité: un cadre stratégique clair et facile à mettre en œuvre sur différents marchés et périodes
  5. Les règles d’opération sont claires: les conditions d’entrée et de sortie sont objectives, réduisant les interférences causées par des jugements subjectifs

Risque stratégique

  1. Risque de choc des marchés: la fréquence des transactions peut entraîner des pertes dans les marchés à choc horizontal
  2. Risque de glissement: les objectifs de profit en points fixes peuvent être confrontés à des points de glissement dans un marché rapide
  3. Risque de renversement de tendance: le stop loss ATR peut ne pas être suffisamment rapide en cas de renversement soudain d’une tendance forte
  4. Paramètres dépendants: le choix des cycles SMMA et des multiples ATR a une influence sur la performance de la stratégie
  5. Risques de gestion de fonds: les positions en pourcentage fixe peuvent ne pas être suffisamment souples face à la volatilité

Orientation de l’optimisation de la stratégie

  1. Introduction de filtres de force de tendance: des indicateurs tels que l’ADX peuvent être ajoutés pour filtrer les tendances fortes et réduire les faux signaux sur les marchés de choc
  2. Objectif de profit dynamique: envisagez d’utiliser l’ATR pour ajuster dynamiquement l’objectif de profit afin de mieux s’adapter aux conditions du marché
  3. Amélioration de la gestion des positions: introduction d’un calcul des positions pondéré par la volatilité, optimisation de l’efficacité de l’utilisation des fonds
  4. Confirmation à plusieurs périodes: augmentation de la confirmation de tendances à plus longues périodes, amélioration de la qualité des transactions
  5. Adaptation aux conditions du marché: ajout de logiques de jugement par type de marché, adaptation des paramètres stratégiques aux différentes conditions du marché

Résumer

Il s’agit d’une stratégie de suivi de tendance conçue de manière rationnelle, qui capture les tendances par SMMA, utilise l’ATR pour le contrôle des risques et gère les gains avec un objectif de profit fixe. La logique de la stratégie est claire, la mise en œuvre est simple, elle a une bonne maniabilité et une évolutivité.

Code source de la stratégie
/*backtest
start: 2024-02-20 00:00:00
end: 2025-02-17 08:00:00
period: 4h
basePeriod: 4h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("SMMA 17 Crossover Strategy (Long & Short, ATR SL & Fixed TP)", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=200)

// 🚀 SMMA Calculation
smmaLength = 17
smma = 0.0
smma := na(smma[1]) ? ta.sma(close, smmaLength) : (smma[1] * (smmaLength - 1) + close) / smmaLength

// 📈 ATR Calculation (For Dynamic Stop-Loss)
atrLength = 14
atr = ta.rma(ta.tr(true), atrLength)

// 🔥 Long Entry Condition
longCondition = ta.crossover(close, smma)  // ✅ Price crosses above SMMA

// 🔄 Long Exit Condition
longExit = ta.crossunder(close, smma)  // ✅ Price crosses below SMMA

// 📉 ATR-Based Stop-Loss (Dynamic) for Long
longStopLoss = smma - (atr * 0.75)  // ✅ Stop Loss below SMMA

// 🏆 Fixed Take Profit for Long (1150 Points)
var float longEntryPrice = na
var float longTakeProfit = na
if longCondition
    longEntryPrice := close
    longTakeProfit := longEntryPrice + 1150  // ✅ TP 1150 points above entry

// 🔥 Short Entry Condition
shortCondition = ta.crossunder(close, smma)  // ✅ Price crosses BELOW SMMA (Short trade)

// 🔄 Short Exit Condition
shortExit = ta.crossover(close, smma)  // ✅ Price crosses ABOVE SMMA (Close Short trade)

// 📉 ATR-Based Stop-Loss (Dynamic) for Short
shortStopLoss = smma + (atr * 0.75)  // ✅ Stop Loss above SMMA

// 🏆 Fixed Take Profit for Short (1500 Points) - Updated from 2000
var float shortEntryPrice = na
var float shortTakeProfit = na
if shortCondition
    shortEntryPrice := close
    shortTakeProfit := shortEntryPrice - 1500  // ✅ TP 1500 points below entry (Updated)

// 📊 Plot SMMA (For Visualization)
plot(smma, title="SMMA (17)", color=color.blue)

// 🚀 Long Entry (Allow Multiple)
if longCondition
    strategy.entry("Long", strategy.long)

// 🛑 Long Exit Conditions (Whichever Comes First)
strategy.exit("Long TP/SL", from_entry="Long", stop=longStopLoss, limit=longTakeProfit)
if longExit
    strategy.close("Long")

// 🚀 Short Entry (Allow Multiple)
if shortCondition
    strategy.entry("Short", strategy.short)

// 🛑 Short Exit Conditions (Whichever Comes First)
strategy.exit("Short TP/SL", from_entry="Short", stop=shortStopLoss, limit=shortTakeProfit)
if shortExit
    strategy.close("Short")