La stratégie de croisement de la moyenne mobile triple utilise le croisement des moyennes mobiles sur différentes périodes de temps comme signaux de trading, appartenant à des stratégies de suivi de tendance.
Tout d'abord, la stratégie calcule les moyennes mobiles à court terme (défaut 7 jours), à moyen terme (défaut 25 jours) et à long terme (défaut 99 jours), puis génère des signaux de trading selon les règles suivantes:
Lorsque l'AM à court terme dépasse l'AM à moyen terme, un signal d'achat est généré.
Lorsque le MA à court terme dépasse le MA à moyen terme, un signal de vente est généré.
Lorsque l'AM à court terme dépasse l'AM à long terme, un signal d'achat rapide est généré.
Lorsque le MA à court terme dépasse le MA à long terme, un signal de vente rapide est généré.
La stratégie croit que le croisement MA à court terme au-dessus de la MA à moyen terme indique une tendance haussière, donc un signal d'achat est généré. Et le croisement MA à court terme au-dessous de la MA à moyen terme indique une tendance à la baisse, donc un signal de vente est généré. De même, le croisement entre la MA à court terme et la MA à long terme génère également des signaux de trading rapides pour capturer les changements de tendance à plus long terme.
La logique de la stratégie est simple et facile à comprendre et à mettre en œuvre.
L'utilisation d'une analyse à plusieurs délais permet de détecter efficacement les changements dans les tendances du marché.
Les paramètres peuvent être optimisés en ajustant les périodes d'AM.
Les signaux de croisement visuel reflètent intuitivement les changements de tendance.
Les MAs ont des émissions en retard et peuvent manquer des points d'inversion de tendance.
Trop de faux signaux lorsque l'AM à court terme dépasse l'AM à long terme sur les marchés haussiers.
Trop de faux signaux lorsque l'AM à court terme dépasse l'AM à long terme sur les marchés baissiers.
Les signaux de trading rapide peuvent être trop sensibles, augmentant la fréquence des transactions et les commissions.
Les ajustements appropriés des périodes de MA ou l'ajout de conditions de filtre peuvent aider à optimiser et à réduire les faux signaux.
Ajouter des conditions de filtrage, telles que la génération de signaux uniquement lorsque certains volumes de négociation ou des pourcentages de variation de prix sont atteints.
Combinez avec d'autres indicateurs tels que MACD, KDJ pour éviter les transactions erronées en l'absence de tendance claire.
Optimiser les combinaisons de périodes de MA pour réduire les faux signaux.
Distinguer les marchés haussiers et baissiers, optimiser les paramètres d'achat et de vente séparément.
Considérez les coûts de négociation, ajustez les paramètres de négociation rapide pour contrôler la fréquence.
La stratégie triple MA est relativement simple, jugeant la direction de la tendance à travers le croisement de différents MAs de temps pour générer des signaux de trading. Elle est facile à mettre en œuvre avec des ajustements de paramètres flexibles pour capturer les changements de tendance.
/*backtest start: 2023-10-06 00:00:00 end: 2023-11-05 00:00:00 period: 1h basePeriod: 15m 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/ // © dadashkadir //@version=4 strategy("Üç Hareketli Ortalama Str.", overlay=true, initial_capital=10000, commission_value=0.047, default_qty_type=strategy.percent_of_equity, default_qty_value=100, pyramiding=0, calc_on_order_fills=true) kisa = input(title = "Kısa Vade - Gün", defval = 7, minval = 1) orta = input(title = "Orta Vade - Gün", defval = 25, minval = 1) uzun = input(title = "Uzun Vade - Gün", defval = 99, minval = 1) sma7 = sma(close, kisa) sma25 = sma(close, orta) sma99 = sma(close, uzun) alTrend = plot (sma7, color=#2323F1, linewidth=2, title="Har.Ort. Kısa Vade", transp=0) satTrend = plot (sma25, color=#FF0C00, linewidth=3, title="Har.Ort. Orta Vade", transp=0) ort99 = plot (sma99, color=#DFB001, linewidth=3, title="Har.Ort. Uzun Vade", transp=0) zamanaralik = input (2020, title="Backtest Başlangıç Tarihi") al = crossover (sma7, sma25) and zamanaralik <= year sat = crossover (sma25, sma7) and zamanaralik <= year hizlial = crossover (sma7, sma99) and zamanaralik <= year hizlisat = crossover (sma99, sma7) and zamanaralik <= year alkosul = sma7 >= sma25 satkosul = sma25 >= sma7 hizlialkosul = sma7 >= sma99 hizlisatkosul = sma99 >= sma7 plotshape(al, title = "Buy", text = 'Al', style = shape.labelup, location = location.belowbar, color= color.green, textcolor = color.white, transp = 0, size = size.tiny) plotshape(sat, title = "Sell", text = 'Sat', style = shape.labeldown, location = location.abovebar, color= color.red, textcolor = color.white, transp = 0, size = size.tiny) plotshape(hizlial, title = "Hızlı Al", text = 'Hızlı Al', style = shape.labelup, location = location.belowbar, color= color.blue, textcolor = color.white, transp = 0, size = size.tiny) plotshape(hizlisat, title = "Hızlı Sat", text = 'Hızlı Sat', style = shape.labeldown, location = location.abovebar, color= #6106D6 , textcolor = color.white, transp = 0, size = size.tiny) fill (alTrend, satTrend, color = sma7 >= sma25? #4DFF00 : #FF0C00, transp=80, title="Al-Sat Aralığı") //fill (ort99, satTrend, color = sma7 >= sma25? #6106D6 : color.blue, transp=80, title="Hızlı Al-Sat Aralığı") if (al) strategy.entry("LONG", strategy.long) if (sat) strategy.entry("SHORT", strategy.short) //if (hizlial) // strategy.entry("My Short Entry Id", strategy.long) //if (hizlisat) // strategy.entry("My Short Entry Id", strategy.short)