Cette stratégie combine 5 types différents de moyennes mobiles pour générer un signal de transaction lorsque les directions des 5 moyennes mobiles sont cohérentes. La stratégie utilise l’agrégation de plusieurs moyennes mobiles pour filtrer efficacement le bruit du marché et identifier la direction de la tendance.
Cette stratégie utilise les cinq moyennes mobiles SMA, EMA, RMA, WMA et VWMA. Les cinq moyennes mobiles de longueur de ligne rapide de 8 jours et de longueur de ligne lente de 144 jours sont respectivement calculées. Un signal polyhedral est généré lorsque toutes les lignes rapides sont en hausse et les lignes lentes en hausse; un signal sans tête est généré lorsque toutes les lignes rapides sont en baisse et les lignes lentes en baisse.
Cette stratégie génère un signal de transaction en regroupant plusieurs moyennes mobiles principales et en obtenant un consensus sur toutes les moyennes mobiles. Cette stratégie peut tirer parti des avantages des moyennes mobiles, tout en filtrant une partie du bruit et en identifiant la direction des tendances du marché. L’optimisation des paramètres et la confirmation de la combinaison des indicateurs peuvent améliorer encore la stabilité de la stratégie.
//@version=2
strategy(title="MACD Multi-MA Strategy", overlay=false )
src = close
len1 = input(8, "FAST LOOKBACK")
len2 = input(144, "SLOW LOOKBACK")
/////////////////////////////////////////////
length = len2-len1
ma = vwma(src, length)
plot(ma, title="VWMA", color=lime)
length1 = len2-len1
ma1 = rma(src, length1)
plot(ma1, title="RMA", color=purple)
length2 = len2-len1
ma2 = sma(src, length2)
plot(ma2, title="SMA", color=red)
length3 = len2-len1
ma3 = wma(src, length3)
plot(ma3, title="WMA", color=orange)
length4 = len2-len1
ma4 = ema(src, length4)
plot(ma4, title="EMA", color=yellow)
long = ma > ma[1] and ma1 > ma1[1] and ma2 > ma2[1] and ma3 > ma3[1] and ma4 > ma4[1]
short = ma < ma[1] and ma1 < ma1[1] and ma2 < ma2[1] and ma3 < ma3[1] and ma4 < ma4[1]
strategy.entry("Long", strategy.long, when=long)
strategy.entry("Short", strategy.short, when=short)