Multi-SMA-Crossover-Strategie für gleitende Durchschnitte

Schriftsteller:ChaoZhang, Datum: 2023-11-28 15:08:37
Tags:

img

Übersicht

Diese Strategie berechnet die gleitenden Durchschnitte der SMA von mehreren Zeitrahmen und nimmt den Durchschnittswert, um den gleitenden Durchschnittsindikator zu konstruieren.

Strategieprinzip

  1. Berechnen Sie 5 gleitende SMA-Durchschnitte verschiedener Perioden (8-Tage-, 21-Tage-, 50-Tage-, 100-Tage-, 200-Tage)
  2. Nehmen Sie den Durchschnitt der 5 gleitenden Durchschnitte, um den endgültigen gleitenden Durchschnittsindikator zu erhalten
  3. Erzeugen von Kaufsignalen, wenn die Schlusskurse über dem gleitenden Durchschnitt steigen
  4. Erzeugen von Verkaufssignalen, wenn der Schlusskurs unter den gleitenden Durchschnitt fällt

Durch das Durchschnitten der SMAs mehrerer Zeitrahmen kann diese Strategie die Kurve effektiv glätten und falsche Ausbrüche herausfiltern.

Analyse der Vorteile

  1. Die Verwendung von gleitenden Durchschnitten für mehrere Zeitrahmen kann Marktlärm effektiv filtern und Trends erkennen
  2. Glatte Kurve, vermeiden Sie zu viele falsche Signale zu erzeugen
  3. Die Strategie Logik ist einfach und klar, leicht zu verstehen und umzusetzen, geeignet für Anfänger zu lernen
  4. Anpassbare Kombination von gleitenden Durchschnittsperioden zur Optimierung des Indikatoreffekts

Risikoanalyse

  1. Das gleitende Durchschnittssystem ist als Ganzes zurückgeblieben und kann den Preisänderungen im Zeitverlauf nicht folgen.
  2. Wenn ein Ausbruch fehlschlägt, ist der Stop-Loss-Punkt weit entfernt, mit einem größeren Risiko für Verluste
  3. Stop-Loss-Linien werden häufig bei schwankenden Trends ausgelöst

Diese Risiken können durch eine angemessene Verkürzung einiger gleitender Durchschnittsperioden und durch Hinzufügen anderer Indikatoren zur Bestätigung verringert werden.

Optimierungsrichtlinien

  1. Optimierung der Kombinationen von gleitenden Durchschnittsperioden zur Ermittlung der besten Parameter
  2. Hinzufügen von Indikatoren wie Handelsvolumen zur Bestätigung von Breakout-Signalen
  3. Einbeziehung von Trendindikatoren zur Vermeidung falscher Signale auf schwankenden Märkten
  4. Entwicklung automatischer Parameteroptimierungsprogramme zur dynamischen Ermittlung der optimalen Parameter

Zusammenfassung

Die allgemeine Idee dieser Strategie ist klar. Durch die Integration der gleitenden Durchschnitte mehrerer Zeitrahmen kann sie Trends effektiv identifizieren und ist eine stabile und praktische Strategie. Allerdings müssen wir auch auf die Verzögerungs- und Falschsignalrisiken achten. Durch die weitere Optimierung der Parameter-Einstellungen, das Hinzufügen von Bestätigungsindikatoren usw. können wir diese Strategie kontinuierlich verbessern, um sie zu einem leistungsstarken quantitativen Handelswerkzeug zu machen.


/*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)



Mehr