Stratégie de négociation des moyennes mobiles ATR adaptatives

Auteur:ChaoZhang est là., Date: 2023-11-02 16h51 et 14h
Les étiquettes:

img

Résumé

Cette stratégie combine l'indicateur de moyenne mobile adaptative ATR et le suivi de la tendance pour découvrir les tendances du marché et négocier le long de la tendance. Elle utilise la moyenne mobile Hull pour lisser l'ATR et former des moyennes mobiles ATR lisses, puis génère des signaux de trading basés sur la relation des prix avec les moyennes mobiles ATR. Les moyennes mobiles ATR peuvent filtrer efficacement le bruit du marché et identifier les tendances importantes.

La logique de la stratégie

L'indicateur de base de cette stratégie est l'ATR moyenne mobile. ATR est un outil important de mesure de la volatilité, qui mesure la volatilité du marché et les fluctuations des prix.

Plus précisément, la stratégie calcule d'abord la True Range, qui est la différence entre les prix élevés et bas de la journée, et la différence maximale entre le prix de clôture précédent et le prix le plus élevé / le plus bas actuel.

Après avoir calculé les moyennes mobiles de l'ATR, la stratégie compare le prix avec les moyennes mobiles de l'ATR. Lorsque le prix dépasse la moyenne mobile de l'ATR, il indique une tendance à la hausse et la stratégie est longue. Lorsque le prix dépasse la moyenne mobile de l'ATR, il indique une tendance à la baisse et la stratégie est courte.

En outre, des plages de stop loss et de take profit fixes sont définies après chaque transaction. Lorsque le prix atteint le niveau de stop loss, le commerce est arrêté. Lorsque le prix atteint le niveau de take profit, le profit est pris. Cela limite la perte et bloque le profit pour chaque transaction.

En résumé, cette stratégie combine des moyennes mobiles ATR adaptatives et une gestion stricte des risques pour suivre les tendances importantes et contrôler les pertes par transaction, afin d'obtenir une croissance constante des bénéfices.

Analyse des avantages

Les principaux avantages de cette stratégie sont les suivants:

  1. Utiliser des moyennes mobiles ATR adaptatives pour identifier efficacement les tendances importantes et filtrer le bruit du marché afin d'éviter d'être pris au piège.

  2. Appliquer la méthode de la moyenne mobile de Hull pour calculer des moyennes mobiles ATR plus lisses, en évitant d'être induit en erreur par les fluctuations de haute fréquence.

  3. La mise en place d'un stop-loss et d'un profit fixes pour limiter les pertes par transaction et verrouiller les bénéfices, en assurant le rapport risque/rendement.

  4. La tendance suivant le style de trading peut continuer à capturer les tendances et augmenter le potentiel de profit.

  5. Une logique simple et claire, facile à comprendre, des paramètres flexibles adaptés à différents produits et marchés.

  6. Peut être appliqué dans n'importe quel produit pour suivre la tendance.

Analyse des risques

Les principaux risques de cette stratégie sont les suivants:

  1. Possibilité de faux signaux des moyennes mobiles ATR. Les prix peuvent fluctuer violemment et provoquer des erreurs dans les signaux des moyennes mobiles ATR.

  2. S'assurer que le stop loss permet suffisamment de mouvements de prix.

  3. Les bénéfices fixes peuvent être retirés trop tôt, incapables de capturer les tendances complètes.

  4. Il faut mettre en pause les transactions pendant ces événements pour éviter de grosses pertes.

  5. L'échec de la sortie en temps opportun lorsque la tendance s'inverse peut entraîner des pertes liées à l'inversion de la tendance.

  6. Les paramètres doivent être optimisés pour différents produits et marchés, sinon cela peut affecter les performances de la stratégie.

Directions d'optimisation

La stratégie peut être optimisée dans les aspects suivants:

  1. Optimiser les paramètres de la moyenne mobile ATR, y compris la période ATR et les paramètres de lissage, qui affectent la moyenne mobile ATR.

  2. Optimiser la stratégie de stop loss et de take profit.

  3. Ajoutez des règles pour déterminer l'inversion de tendance, en combinant d'autres indicateurs, afin d'éviter d'être pris au piège par les inversions.

  4. Tester et optimiser les paramètres pour différents produits et environnements de marché afin de trouver les paramètres optimaux.

  5. Ajoutez la détection d'événements extrêmes, pausez les transactions lorsque des pics de prix énormes se produisent pour contrôler les pertes.

  6. Optimisez le moment de l'entrée, envisagez d'entrer sur les retraits au lieu des évasions pour réduire le risque.

  7. Optimisation des combinaisons de paramètres, test de différentes combinaisons de période ATR et de paramètres de lissage pour trouver la meilleure correspondance.

Conclusion

En résumé, cette stratégie utilise des moyennes mobiles ATR adaptatives pour identifier les tendances et négocie les tendances avec un stop-loss et un profit fixes. Les moyennes mobiles ATR identifient efficacement les tendances et les stops et les objectifs fixes contrôlent le risque / la récompense. Les avantages sont une logique simple et claire, facile à comprendre, adaptable à différents produits grâce à l'ajustement des paramètres.


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

//@version=3
strategy("ATR(Hull)", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100, calc_on_order_fills= false, calc_on_every_tick=true, pyramiding=0)
length = input(title="Length", defval=14, minval=1)
price = input(close)
SL = input(50, title="Stop loss")
TP = input(150, title="Take profit")
FromMonth = input(defval = 9, title = "From Month", minval = 1, maxval = 12) 
FromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31) 
FromYear = input(defval = 2018, title = "From Year", minval = 2017) 
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 = 9999, title = "To Year", minval = 2017) 
start = timestamp(FromYear, FromMonth, FromDay, 00, 00) 
finish = timestamp(ToYear, ToMonth, ToDay, 23, 59) 
window() => true
p=price[1]
func_hma(style, length)=>
    return = wma((2*wma(p,length/2))-wma(p,length),round(sqrt(length)))
ATR=func_hma(tr(true), length)    
plot(ATR[0], title="ATR1",color=green,transp=0)
plot(ATR[1], title="ATR2",color=red,transp=0)
if (ATR>ATR[1])
    strategy.entry("long",strategy.long,comment="Long",when=window())
if (ATR<ATR[1])
    strategy.entry("short",strategy.short,comment="Short",when=window())
//strategy.close_all(when=strategy.openprofit<-eqSL and window())
//strategy.close_all(when=strategy.openprofit>eqTP and window())
strategy.exit("exit", "long", profit = TP, loss = SL)
strategy.exit("exit", "short", profit = TP, loss = SL)

Plus de