Stratégie de négociation de tendance croisée à moyenne mobile double

Auteur:ChaoZhang est là., Date: 2023-11-06 à 10h27
Les étiquettes:

img

Résumé

Cette stratégie détermine les tendances du marché en calculant les situations de croisement entre la moyenne mobile à 9 jours (MA), la moyenne mobile à 20 jours et la moyenne mobile à 200 jours. Elle combine l'idée classique de croisement à double MA avec la moyenne mobile à 200 jours qui mesure la tendance à long terme.

La logique de la stratégie

Cette stratégie évalue principalement les tendances des prix en calculant les relations entre l'AM de 9 jours, l'AM de 20 jours et l'AM de 200 jours.

Premièrement, il calcule le MA de 9 jours et le MA de 20 jours. Si le MA de 9 jours dépasse le MA de 20 jours, il s'agit d'un signal d'achat. Si le MA de 9 jours dépasse le MA de 20 jours, il s'agit d'un signal de vente. C'est la règle de jugement la plus élémentaire du croisement double MA.

Deuxièmement, il calcule l'AM de 200 jours comme indicateur pour juger des tendances à long terme. Si l'AM de 20 jours dépasse l'AM de 200 jours, il indique une perspective haussière à long terme. Si l'AM de 20 jours dépasse l'AM de 200 jours, il indique une perspective baissière à long terme.

Enfin, il combine les relations entre le MA de 9 jours, le MA de 20 jours et le MA de 200 jours pour déterminer des points d'entrée et de sortie spécifiques.

En calculant les situations de croisement entre plusieurs MA, cette stratégie utilise pleinement la capacité de suivi des tendances des MA pour déterminer efficacement les mouvements de prix à court et à long terme, guidant ainsi les opérations d'achat et de vente.

Analyse des avantages

  1. L'utilisation d'un croisement double MA peut capter efficacement les tendances des prix à moyen et court terme et générer des bénéfices.

  2. L'ajout d'un jugement MA de 200 jours évite de longues périodes de tendance à la baisse à long terme, ce qui réduit les pertes.

  3. La combinaison de plusieurs relations MA rend les signaux plus fiables et évite les transactions inefficaces.

  4. Les signaux de croisement MA sont clairs et faciles à juger, adaptés à la pratique manuelle du trading.

  5. Le code simple et propre est facile à comprendre et à mettre en œuvre, bon pour les débutants du commerce quantique.

  6. L'optimisation est flexible, comme l'ajustement des périodes d'AM ou l'ajout d'autres indicateurs.

Analyse des risques

  1. Les stratégies d'AM sont sensibles au réglage des paramètres, différentes périodes d'AM peuvent produire des résultats très différents.

  2. Le croisement double MA ne juge que les tendances à moyen et court terme, peut manquer les grandes tendances à plus long terme.

  3. Les signaux croisés peuvent être retardés et ne peuvent pas éviter complètement de perdre des transactions.

  4. Les échanges fréquents augmentent les coûts de commission et de dérapage, ce qui réduit le potentiel de profit réel.

  5. Le code trop simple peut être sous-performant dans le trading en direct, nécessitant une optimisation.

Directions d'optimisation

  1. Testez différentes combinaisons de périodes de MA pour trouver les paramètres optimaux.

  2. Ajouter des stratégies de stop loss pour contrôler strictement le montant des pertes par transaction.

  3. Considérez la dimensionnement des positions en fonction de l'évolution des conditions du marché.

  4. Optimiser les signaux d'entrée, comme l'ajout de la confirmation de Momentum.

  5. Optimiser les sorties en fixant des niveaux de profit raisonnables.

  6. Ajoutez plus d'indicateurs pour juger des tendances et des probabilités de retrait.

  7. Ajoutez des modèles d'apprentissage automatique pour découvrir une logique de trading plus complexe.

Conclusion

Cette stratégie combine les idées classiques du double MA crossover et du jugement de tendance MA à long terme pour guider les décisions de trading en utilisant les caractéristiques de suivi de tendance MA. Elle a une logique simple et est facile à comprendre et à mettre en œuvre, ce qui est bon pour les débutants en quant trading. Cependant, elle est sensible aux paramètres et présente des problèmes de retard qui nécessitent une optimisation et une amélioration supplémentaires. Dans l'ensemble, cette stratégie fournit un cadre de base qui peut être étendu pour développer des systèmes de trading plus puissants. Les investisseurs peuvent choisir des éléments appropriés pour ajouter et optimiser continuellement la stratégie en fonction de leurs besoins, afin d'obtenir des rendements excédentaires à long terme dans le trading quantitatif.


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

//@version=1
strategy("Dieyson Swingtrade EMA 20+200 and bar & line color", overlay=true)


//bar color rules
Dgbar = close>close[1] and ema(close,20)>ema(close[1],20)
Drbar = close<close[1] and ema(close,20)<ema(close[1],20)

//Barcolors
barcolor(Dgbar ? green : na)
barcolor(Drbar ? red : na)

//MM09 Colorful

MMgreen9 = ema(close,9)>ema(close[1],9) and ema(close,20)>ema(close[1],20)
MMred9 = ema(close,9)<ema(close[1],9) and ema(close,9)<ema(close[1],9)
col8 = (MMgreen9 ? color(green,0) : na)
col28 = (MMred9 ? color(red,0) : na)
col38 = (not MMgreen9 and not MMred9 ? color(black,0) : na)

//plot(ema(close,9), color=col8, style=line, linewidth=1)
//plot(ema(close,9), color=col28, style=line, linewidth=1)
//plot(ema(close,9), color=col38, style=line, linewidth=1)

//MM20 Colorful

MMgreen = ema(close,20)>ema(close[1],20)
MMred = ema(close,20)<ema(close[1],20)
col = (MMgreen ? color(green,0) : na)
col2 = (MMred ? color(red,0) : na)
col3 = (not MMgreen and not MMred ? color(yellow,0) : na)
col4 = color(black,0)
plot(ema(close,20), color=col, style=line, linewidth=2)
plot(ema(close,20), color=col2, style=line, linewidth=2)
plot(ema(close,20), color=col3, style=line, linewidth=2)
plot(ema(close,200), color=col4, style=line, linewidth=3)
//plot(vwap(15), color(white,0), style=line, linewidth=3)
//plot(cross(ema(close,9), ema(close,20)) ? ema(close,9) : na, style = cross,color=fuchsia, transp=0, linewidth = 4)
plot(cross(ema(close,20), ema(close,200)) ? ema(close,20) : na, style = cross,color=fuchsia, transp=0, linewidth = 4)

c = crossover(ema(close,9), ema(close,20)) and ema(close,9) > ema(close,20)
// c = crossover(close, ema (close,9) and ema(close,9) > ema(close[1],9))
v = crossunder(close, ema (close,9))

strategy.entry("COMPRA", strategy.long,when=c)
strategy.entry("VENDA", strategy.short,when=v)




Plus de