Strategie für die Verlagerung von drei gleitenden Durchschnitten

Schriftsteller:ChaoZhang, Datum: 2023-10-30 16:38:01
Tags:

img

Übersicht

Diese Strategie verwendet drei gleitende Durchschnittslinien mit verschiedenen Parameter-Einstellungen, um Preistrends zu bestimmen und zu verfolgen.

Grundsätze

  1. Berechnen Sie drei glättete gleitende Durchschnittslinien: lange Periode von 13 Bars mit einer Verschiebung von 8 Bars; mittlere Periode von 8 Bars mit einer Verschiebung von 5 Bars; kurze Periode von 5 Bars mit einer Verschiebung von 3 Bars. Alle verwenden den Median der nahen Preise.

  2. Vergleichen Sie die Beziehung zwischen den drei Linien: gehen Sie lang, wenn der kurze MA über den mittleren MA und der mittlere MA über den langen MA kreuzt; gehen Sie kurz, wenn entgegengesetzte Kreuzungen auftreten.

  3. Option für den Handel in umgekehrter Richtung

  4. Zeichnen Sie die drei gleitenden Durchschnittslinien.

Vorteile

  1. Die Verwendung von drei MAs ermöglicht eine mehrschichtige Trendbestimmung und verbessert die Signalzuverlässigkeit.

  2. Bei der Kombination verschiedener Zeitrahmen werden sowohl kurzfristige Dynamiken als auch mittelfristige Trends berücksichtigt.

  3. Der Medianpreis reduziert die falschen Ausbrüche.

  4. Linienverschiebungen unterscheiden die Ausbruchstärke und vermeiden Whipsaws.

  5. Die Option für den umgekehrten Handel passt sich den unterschiedlichen Marktregelungen an.

Risiken

  1. Mehrfache MA-Kombinationen erfordern eine Optimierung der Parameter, unsachgemäße Einstellungen können die Signalqualität beeinträchtigen.

  2. Kurze MA-Kreuzungen bedeuten sicherlich keine Trendänderungen.

  3. Die Crossover-Signale können sich verzögern, andere Indikatoren sollten bei der Zeitdurchführung helfen.

  4. Umgekehrter Handel erfordert Vorsicht beim Stop-Loss, um Risiken zu begrenzen.

Optimierungsrichtlinien

  1. Optimierung der MA-Länge und -Verlagerungen für verschiedene Periodenzyklen.

  2. Hinzu kommen weitere Indikatoren wie Lautstärke für die Signalfilterung und Zuverlässigkeit.

  3. Optimieren Sie Stop-Loss-Strategien mit der richtigen Positionierung.

  4. Einbeziehung von Trendlinien und Unterstützung/Widerstand für zusätzlichen Kontext.

Zusammenfassung

Diese Strategie bestimmt Trendumkehrungen unter Verwendung einer Kombination von MAs unterschiedlicher Länge und Verschiebungen. Die Verwendung mehrerer MAs verbessert die Signalqualität, während verschiedene Perioden-MAs kurz-, mittelfristige und langfristige Funktionen enthalten. Parameteroptimierung, Signalfilterung, Stop-Loss und andere Verbesserungen können die Robustheit und die reale Leistung weiter verbessern.


/*backtest
start: 2023-09-29 00:00:00
end: 2023-10-29 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 01/02/2017
// This indicator calculates 3 Moving Averages for default values of
// 13, 8 and 5 days, with displacement 8, 5 and 3 days: Median Price (High+Low/2).
// The most popular method of interpreting a moving average is to compare 
// the relationship between a moving average of the security's price with 
// the security's price itself (or between several moving averages).
////////////////////////////////////////////////////////////
strategy(title="Bill Williams Averages. 3Lines", shorttitle="3 Lines", overlay = true)
LLength = input(13, minval=1)
MLength = input(8,minval=1)
SLength = input(5,minval=1)
LOffset = input(8,minval=1)
MOffset = input(5,minval=1)
SOffset = input(3,minval=1)
reverse = input(false, title="Trade reverse")
xLSma = sma(hl2, LLength)[LOffset]
xMSma = sma(hl2, MLength)[MOffset]
xSSma = sma(hl2, SLength)[SOffset]
pos = iff(close < xSSma and xSSma < xMSma and xMSma < xLSma, -1,
	   iff(close > xSSma and xSSma > xMSma and xMSma > xLSma, 1, nz(pos[1], 0))) 
possig = iff(reverse and pos == 1, -1,
          iff(reverse and pos == -1, 1, pos))	   
if (possig == 1) 
    strategy.entry("Long", strategy.long)
if (possig == -1)
    strategy.entry("Short", strategy.short)	   	    
barcolor(possig == -1 ? red: possig == 1 ? green : blue )
plot(xLSma, color=blue, title="MA")
plot(xMSma, color=red, title="EMA")
plot(xSSma, color=green, title="EMA")

Mehr