La stratégie de suivi de tendance des moyennes mobiles doubles est une stratégie de trading quantitative qui utilise deux moyennes mobiles avec des périodes différentes pour déterminer la direction de la tendance du marché.
La stratégie utilise deux moyennes mobiles, y compris une moyenne mobile rapide (par exemple 10 périodes) et une moyenne mobile lente (par exemple 30 périodes).
Plus précisément, la stratégie calcule d'abord les moyennes mobiles rapides et lentes. Ensuite, elle compare la moyenne mobile rapide actuelle à la période précédente pour voir si celle-ci est plus grande que la précédente. Si oui, attribuez une valeur 1 indiquant une tendance haussière. Sinon, attribuez -1 pour une tendance baisse. Faites de même pour la moyenne mobile lente.
Enfin, déterminez la tendance par les valeurs des deux moyennes mobiles. Si les deux valeurs sont 1, la décision finale est 1, ce qui indique une tendance haussière. Si les deux sont -1, la décision finale est -1, ce qui indique une tendance baissière. Si les valeurs sont différentes, maintenir la décision de tendance précédente.
Une fois l'orientation de la tendance déterminée, la stratégie sera longue en tendance haussière et courte en tendance baissière.
La stratégie comporte les volets suivants:
Il y a aussi des risques liés à cette stratégie:
Pour réduire les risques, les paramètres des moyennes mobiles peuvent être fixés de manière plus raisonnable, d'autres indicateurs peuvent être introduits, des arrêts de perte et des prises de bénéfices peuvent être fixés et la taille de la position peut être ajustée en conséquence.
La stratégie peut être encore optimisée dans les aspects suivants:
La stratégie de suivi de tendance des moyennes mobiles doubles a une logique claire consistant à utiliser des moyennes mobiles doubles pour filtrer le bruit et identifier la tendance, et trader le long de la direction de la tendance. C'est une stratégie typique de suivi de tendance. Les traders peuvent choisir de long ou de court uniquement en fonction de leur préférence. Il y a encore certains risques de la stratégie. Des indicateurs supplémentaires, stop loss / take profit doivent être ajoutés pour contrôler les risques.
/*backtest start: 2022-12-12 00:00:00 end: 2023-12-18 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © noro // 2020 //@version=4 strategy(title = "Noro's TrendMA Strategy", shorttitle = "TrendMA str", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0, commission_value = 0.1) //Settings needlong = input(true, title = "Long") needshort = input(true, title = "Short") fast = input(10, minval = 1, title = "MA Fast (red)") slow = input(30, minval = 2, title = "MA Slow (blue)") type = input(defval = "SMA", options = ["SMA", "EMA"], title = "MA Type") src = input(ohlc4, title = "MA Source") showma = input(true, title = "Show MAs") showbg = input(false, title = "Show Background") //MAs fastma = type == "EMA" ? ema(src, fast) : sma(src, fast) slowma = type == "EMA" ? ema(src, slow) : sma(src, slow) //Lines colorfast = showma ? color.red : na colorslow = showma ? color.blue : na plot(fastma, color = colorfast, title = "MA Fast") plot(slowma, color = colorslow, title = "MA Slow") //Trend trend1 = fastma > fastma[1] ? 1 : -1 trend2 = slowma > slowma[1] ? 1 : -1 trend = 0 trend := trend1 == 1 and trend2 == 1 ? 1 : trend1 == -1 and trend2 == -1 ? -1 : trend[1] //Backgrouns colbg = showbg == false ? na : trend == 1 ? color.lime : trend == -1 ? color.red : na bgcolor(colbg, transp = 80) //Trading if trend == 1 if needlong strategy.entry("Long", strategy.long) if needlong == false strategy.close_all() if trend == -1 if needshort strategy.entry("Short", strategy.short) if needshort == false strategy.close_all()