Dreifaches gleitendes Durchschnitts-Crossover-System


Erstellungsdatum: 2023-09-28 15:33:14 zuletzt geändert: 2023-09-28 15:33:14
Kopie: 1 Klicks: 779
1
konzentrieren Sie sich auf
1617
Anhänger

Überblick

Ein Triple Moving Average-Cross-System ist eine typische Trend-Tracking-Strategie. Es nutzt die Kreuzung von drei Moving Averages unterschiedlicher Zeitlänge als Kauf- und Verkaufssignal. Es erzeugt ein Kaufsignal, wenn der kurzfristige Moving Average den mittleren Moving Average überschreitet und der mittlere Moving Average den langfristigen Moving Average überschreitet; es erzeugt ein Verkaufsignal, wenn der mittlere Moving Average den kurzfristigen Moving Average überschreitet und der mittlere Moving Average den langfristigen Moving Average überschreitet.

Strategieprinzip

Die Strategie basiert auf drei Moving Averages: dem langfristigen Moving Average ma1, dem mittelfristigen Moving Average ma2 und dem kurzfristigen Moving Average ma3. Zunächst werden diese drei Linien berechnet:

length1 = input(18,'长线') 
length2 = input(9,'中线')
length3 = input(4,'短线')

ma1 := sma(close,length1) 
ma2 := sma(close,length2)
ma3 := sma(close,length3)

Dabei definieren length1, length2 und length3 die Zeitspanne der drei Moving Averages. Die SMA-Funktion berechnet den einfachen Moving Average für die entsprechenden Längen.

Die drei Moving Averages werden dann verwendet, um die Kauf- und Verkaufszeiten zu bestimmen:

if ma2 > ma1 and ma3 > ma3[1] 
    strategy.entry("Long", strategy.long)

if ma2 < ma1 and ma3 < ma3[1]
    strategy.entry("Short", strategy.short) 

Wenn die mittlere Linie ma2 die langfristige Linie ma1 durchläuft und die kurzfristige Linie ma3 den vorherigen Zyklus ma3 durchläuft, wird ein Mehrsignal ausgegeben. Wenn die mittlere Linie ma2 die langfristige Linie ma1 durchläuft und die kurzfristige Linie ma3 den vorherigen Zyklus ma3 durchläuft, wird ein Leersignal ausgegeben.

Strategische Vorteile

  • Mit drei Moving Averages kann man die Veränderung der Trends deutlich erkennen.
  • Eine Kombination aus langen und kurzen Linien filtert einige kurzfristige Marktgeräusche aus und schließt die Trends in den längeren Linien ein.
  • Die Regeln sind einfach und einfach zu bedienen.
  • Die Parameter der drei Moving Averages können an unterschiedliche Marktbedingungen angepasst werden.

Strategisches Risiko

  • Es ist nicht möglich, Verluste vollständig zu vermeiden, wenn die Kauf- und Verkaufspunkte nachträglich bestätigt werden.
  • Wenn die Aktienkurse in der Nähe des gleitenden Durchschnitts schwanken, treten mehrere Falschsignale auf.
  • Langzeit-Überschneidungen verpassen Trendwendepunkte. Kurzzeit-Überschneidungen werden aufgrund von Geräuschen häufig gehandelt.
  • Es ist nicht gut, den Leerlaufmarkt zu handhaben.

Diese Risiken können durch geeignete Optimierungsparameter in Kombination mit anderen Indikatoren als Filterbedingungen verringert werden.

Richtung der Strategieoptimierung

  • Es ist möglich, Kombinationen verschiedener Längenparameter zu testen, um die optimale Parameter zu finden.
  • Der Stop-Loss kann eingesetzt werden, um Verluste zu kontrollieren.
  • Andere Indikatoren können hinzugefügt werden, um Fehleinschätzungen zu vermeiden, z. B. MACD, KD usw.
  • Sie können die geeigneten Stoppstrategien wählen, je nachdem, wie die Situation aussieht.

Zusammenfassen

Die Triple Moving Average Cross Strategy gehört zu den einfachsten und praktischsten Trend-Tracking-Strategien. Sie beurteilt die Veränderung der Markttrends anhand der Kreuzung von drei Moving Averages, um ein Handelssignal zu erzeugen. Die Strategie hat den Vorteil, dass die Regeln einfach sind und Trends effektiv verfolgen können.

Strategiequellcode
/*backtest
start: 2023-08-28 00:00:00
end: 2023-09-27 00:00:00
period: 2h
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/
// © dongyun

//@version=4
strategy("三重交叉修正模式系统", overlay=true)
//strategy.risk.allow_entry_in(strategy.direction.long)
length1 = input(18,'长线')
length2 = input(9,'中线')
length3 = input(4,'短线')

ma1 =0.0
ma2 = 0.0
ma3 = 0.0

ma1 := sma(close,length1)
ma2 := sma(close,length2)
ma3 := sma(close,length3)

plot(ma1)
plot(ma2)
plot(ma3)

if ma2 > ma1 and ma3 > ma3[1]
	strategy.entry("Long", strategy.long, when=strategy.position_size <= 0)

if ma2 < ma1 and ma3 < ma3[1]
	strategy.entry("Short", strategy.short, when=strategy.position_size > 0)