Cette stratégie calcule les moyennes mobiles SMA de plusieurs délais et prend la valeur moyenne pour construire l'indicateur de moyenne mobile. Elle génère des signaux d'achat lorsque les prix augmentent au-dessus de la moyenne mobile et des signaux de vente lorsque les prix baissent en dessous de la moyenne mobile.
En faisant la moyenne des SMA de plusieurs délais, cette stratégie peut effectivement lisser la courbe et filtrer les fausses ruptures.
Ces risques peuvent être réduits en raccourcissant de manière appropriée certaines périodes de moyenne mobile et en ajoutant d'autres indicateurs de confirmation.
L'idée générale de cette stratégie est claire. En intégrant les moyennes mobiles de plusieurs délais, il peut identifier efficacement les tendances et est une stratégie stable et pratique. Cependant, nous devons également faire attention à son retard et aux risques de faux signaux. En optimisant davantage les paramètres, en ajoutant des indicateurs de confirmation, etc., nous pouvons améliorer continuellement cette stratégie pour en faire un outil de trading quantitatif puissant.
/*backtest start: 2023-11-20 00:00:00 end: 2023-11-27 00:00:00 period: 30m basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy("STRATEGY AVERAGE MULTI_SMA", overlay=true) sma1 = sma(close,input(title="SMA 1", defval=8)) sma2 = sma(close,input(title="SMA 2", defval=21)) sma3 = sma(close,input(title="SMA 3", defval=50)) sma4 = sma(close,input(title="SMA 4", defval=100)) sma5 = sma(close,input(title="SMA 5", defval=200)) mediaSMA= (sma1+sma2+sma3+sma4+sma5)/5 //color mediaSMA MediaUP = mediaSMA>mediaSMA[1] colorUP = (MediaUP ? #3CFF35 : na) MediaDOWN = mediaSMA<mediaSMA[1] colorDOWN =(MediaDOWN ? #FF0F03 : na) colorN =(not MediaUP and not MediaDOWN and mediaSMA==mediaSMA[1] ? white : na ) plot(mediaSMA,title="Avarege MULTI_SMA UP", color=colorUP, style=circles, linewidth=2, transp=0) plot(mediaSMA,title="Avarege MULTI_SMA DOWN", color=colorDOWN, style=circles, linewidth=2, transp=0) plot(mediaSMA,title="Avarege MULTI_SMA UP NEUTRAL", color=colorN, style=circles, linewidth=2, transp=0) //plot(sma1,color=blue,linewidth=1, style=line,transp=0,title="SMA 1") //plot(sma2,color=yellow,linewidth=1, style=line,transp=0,title="SMA 2") //plot(sma3,color=green,linewidth=1, style=line,transp=0,title="SMA 3") //plot(sma4,color=purple,linewidth=1, style=line,transp=0,title="SMA 4") //plot(sma5,color=red,linewidth=1, style=line,transp=0,title="SMA 5") // Strategy //BUY comprar=close>mediaSMA and mediaSMA>mediaSMA[1] fechar=close<mediaSMA and mediaSMA<mediaSMA[1] strategy.entry("BUY",strategy.long,when=comprar) strategy.entry("SELL",strategy.short, when=fechar) //SELL vender=close<mediaSMA and mediaSMA<mediaSMA[1] fechar2=close>mediaSMA and mediaSMA>mediaSMA[1] strategy.entry("SELL",strategy.short, when=vender) strategy.entry("BUY", strategy.long,when=fechar2)