Stratégie de trading adaptative ATR à moyenne mobile


Date de création: 2023-11-02 16:51:14 Dernière modification: 2023-11-02 16:51:14
Copier: 0 Nombre de clics: 759
1
Suivre
1617
Abonnés

Stratégie de trading adaptative ATR à moyenne mobile

Aperçu

Cette stratégie combine l’indicateur ATR auto-adaptatif et le suivi des tendances pour détecter les tendances du marché et effectuer des transactions de tendance. Cette stratégie utilise l’ATR mobile Hull pour lisser l’ATR, former une moyenne ATR lisse, puis émettre un signal de transaction en fonction de la relation entre le prix et la moyenne ATR.

Principe de stratégie

L’indicateur ATR est un outil important pour mesurer la volatilité du marché et la variation réelle du prix des actions. L’indicateur ATR est un indicateur de l’ATR pour le traitement de lissage, la formation d’une moyenne, puis la comparaison avec les prix, pour juger de la tendance des prix.

Plus précisément, la stratégie commence par calculer TR ((True Range), soit la différence entre le prix le plus élevé et le prix le plus bas du jour, et prend le prix le plus élevé de la différence entre le prix le plus bas et le prix le plus bas du jour précédent. Ensuite, l’application de la méthode des moyennes mobiles de Hull pour lisser le TR, calcule une moyenne ATR adaptative. La moyenne ATR est capable de filtrer efficacement le bruit fréquent du marché et de ne capturer que les plus grandes fluctuations des prix.

Après avoir calculé la moyenne de l’ATR, la stratégie compare le prix à la moyenne de l’ATR. Lorsque le prix est au-dessus de la moyenne de l’ATR, cela indique que le prix commence à entrer dans une tendance à la hausse, la stratégie prend une position longue; lorsque le prix est en dessous de la moyenne de l’ATR, cela indique que le prix commence à entrer dans une tendance à la baisse, la stratégie prend une position courte.

En outre, la stratégie définit une plage de stop-loss fixe. Après chaque ouverture de position, un point de stop-loss et un point d’arrêt sont définis, l’arrêt de la perte de sortie lorsque le prix atteint le point de stop-loss et l’arrêt de la sortie lorsque le prix atteint le point de stop-loss. Cela permet de limiter les pertes par ordre et de bloquer les bénéfices.

Dans l’ensemble, la stratégie combine des mesures de gestion des risques rigoureuses adaptées à l’indicateur de la moyenne ATR afin de capturer les tendances de prix plus importantes tout en maîtrisant les pertes individuelles pour une croissance stable des bénéfices.

Analyse des avantages

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

  1. L’indicateur ATR moyen, qui est adapté, permet d’identifier efficacement les tendances les plus importantes dans les prix, de filtrer le bruit du marché et d’éviter les pièges.

  2. La méthode des moyennes mobiles de Hull est utilisée pour calculer l’ATR moyen, ce qui rend l’ATR moyen plus lisse et évite d’être induit en erreur par les vibrations à haute fréquence.

  3. Il est possible de définir des points de stop-loss fixes qui limitent les pertes individuelles tout en bloquant les bénéfices et garantissant le rapport risque/bénéfice pour chaque transaction.

  4. L’utilisation d’une méthode de négociation basée sur le suivi des tendances permet de capturer en permanence les tendances des prix et d’augmenter les chances de profit.

  5. La logique de la stratégie est simple et claire, facile à comprendre, les paramètres sont flexibles, adaptés à différentes variétés et environnements de marché.

  6. Il est possible de suivre les tendances dans n’importe quelle variété et possède une forte adaptabilité.

Analyse des risques

La stratégie présente principalement les risques suivants:

  1. Il est possible que l’ATR émette un signal erroné sur la ligne moyenne. Il peut y avoir une forte fluctuation des prix, ce qui entraîne une erreur de jugement de l’ATR sur la ligne moyenne et un signal erroné.

  2. Un point d’arrêt trop petit peut augmenter la probabilité qu’un point d’arrêt soit déclenché. Il est nécessaire de s’assurer que le point d’arrêt est bien placé et de laisser suffisamment de place au prix pour qu’il fluctue.

  3. L’objectif d’arrêt fixe peut s’arrêter prématurément et ne pas capturer la tendance de manière continue. Il est possible d’ajuster l’arrêt en fonction de la dynamique ATR.

  4. Les événements soudains entraînent une flambée des prix, déclenchant un stop loss. Il est nécessaire de suspendre la négociation pour éviter des pertes importantes.

  5. Lorsque la tendance est inversée, il est possible d’être pris au piège si l’on n’a pas éliminé la position à temps. Il est nécessaire de juger à temps les signaux de fin de tendance.

  6. Les paramètres doivent être optimisés pour les différentes variétés et les différents environnements du marché, sinon cela affectera la performance de la stratégie.

Direction d’optimisation

Cette stratégie peut être optimisée dans les domaines suivants:

  1. Optimiser les paramètres de la moyenne ATR, y compris la période de calcul de l’ATR et les paramètres de lissage. Des combinaisons différentes de paramètres peuvent affecter la moyenne ATR.

  2. Optimiser les stratégies de stop-loss, en envisageant d’ajuster le stop-loss en fonction de l’ATR dynamique plutôt que d’un réglage fixe.

  3. Ajouter des règles de jugement de tendance, combinées à d’autres indicateurs de jugement de signaux de retournement de tendance, afin d’éviter d’être pris dans une cage de retournement.

  4. Les paramètres sont testés et optimisés en fonction des variétés et des conditions du marché pour trouver les paramètres optimaux.

  5. Il est également possible d’augmenter le jugement sur les événements imprévus, de suspendre les transactions en cas de sauts importants et de contrôler les pertes.

  6. Optimiser le choix du moment d’entrée, en envisageant d’entrer en jeu au moment du redémarrage plutôt qu’au moment de la hausse, afin de réduire le risque.

  7. Optimiser les combinaisons de paramètres, tester des combinaisons de paramètres de lissage et de différentes longueurs d’ATR pour trouver la meilleure correspondance.

Résumer

Cette stratégie utilise l’ensemble de la détection de la tendance de l’indicateur ATR moyen adapté et effectue des transactions de suivi de la tendance par des arrêts de perte fixes. L’ATR moyen permet d’identifier efficacement les tendances et les arrêts de perte fixes contrôlent le risque-rendement. L’avantage de cette stratégie est que la logique est simple, claire et facile à comprendre; elle peut être ajustée en fonction des paramètres pour différentes variétés.

Code source de la stratégie
/*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)