Exponentielle gleitende Durchschnitts-Crossover-Strategie


Erstellungsdatum: 2023-10-17 16:55:10 zuletzt geändert: 2023-10-17 16:55:10
Kopie: 0 Klicks: 719
1
konzentrieren Sie sich auf
1617
Anhänger

Exponentielle gleitende Durchschnitts-Crossover-Strategie

Überblick

Dies ist eine automatische Handelsstrategie, die auf zwei verschiedenen Zeitspannen basiert. Sie verwendet einfache technische Indikatoren und eignet sich hervorragend für Anfänger zum Lernen und Üben.

Grundsätze

Die Strategie verwendet zwei exponentielle gleitende Durchschnitte, einen für den Mittelwert der großen Zeitspanne und einen für den Mittelwert der aktuellen Periode. Wenn der Mittelwert der aktuellen Periode den Mittelwert der großen Periode durchbricht, macht man einen Plus; wenn der Mittelwert der aktuellen Periode den Mittelwert der großen Periode durchbricht, macht man einen Minus.

Insbesondere definiert die Strategie zunächst zwei Mittellinienparameter:

  1. tf - große Zeitspanne, Standard Sonnenstrahl
  2. len - Länge der Durchschnittslinie, 3 als Standard

Dann berechnen Sie jeweils zwei EMAs:

  1. ma1 - 3-Tage-EMA auf der Großzyklussonne
  2. ma2 - EMA am 3. Tag des laufenden Zyklus

Schließlich geht es um die Transaktionslogik:

  • Wenn ma2 > ma1 ist, machen wir mehr.
  • Wenn ma2 < ma1 ist, machen Sie frei

So wird die Richtung des Trends durch die Kreuzung der Mittellinien verschiedener Zeiträume beurteilt und automatisch gehandelt.

Vorteile

Diese Strategie hat folgende Vorteile:

  1. Das Prinzip ist einfach, leicht zu verstehen und umzusetzen und eignet sich hervorragend für Anfänger.
  2. Wenn Sie mit dem Trend handeln, können Sie bessere Gewinne erzielen.
  3. Die Verwendung von Index-Moving Averages ist empfindlicher auf Preisänderungen und ermöglicht die zeitnahe Erfassung von Trendwende.
  4. Verschiedene Kombinationen von Periodengewogenheiten können ihre Vorteile ausüben und die Stabilität des Systems verbessern.
  5. Es sind keine Parameter erforderlich, es ist einfach zu testen und zu optimieren, und es ist einfach für die Festplatte zu arbeiten.

Die Gefahr

Die Strategie birgt auch einige Risiken:

  1. Die Beobachtung ist schwach und könnte zu einer Gefängnisstrafe führen, wenn der Markt schwankt.
  2. Es gibt eine Verzögerung bei der Doppel-Gleich-Linien-Kreuzung, die möglicherweise einige Chancen verpasst.
  3. Es ist nicht möglich, die Kreuzung von zwei Gleichlinien effektiv zu filtern.
  4. Es ist schwierig, sich an komplexe Märkte anzupassen, wenn man sich nur auf einfache Durchschnittslinien stützt.

Risiken können durch Einstellung von Stop-Loss, Optimierung von Parameterkombinationen oder Hinzufügen anderer Indikatoren verringert werden.

Optimierungsrichtung

Diese Strategie kann in folgenden Bereichen optimiert werden:

  1. Verschiedene Parameter der großen periodischen Durchschnittslinie werden getestet, um die optimale Kombination zu finden.
  2. Das ist eine sehr gute Idee, aber es ist nicht einfach.
  3. In Kombination mit Trendindikatoren erhöht sich die Positionsstärke und die Effizienz der Operationen.
  4. Setzen Sie einen adaptiven Stop-Loss-Punkt ein, um einzelne Verluste zu kontrollieren.
  5. Optimierung der Positionsverwaltung, Anpassung der Positionsgröße an den Markt.
  6. Die Strategie wird durch die Einbeziehung von maschinellen Lernmodellen intelligenter gemacht.

Zusammenfassen

Der Index Mobile Average Crossover Strategy nutzt einfache Indikatoren, um Trends zu erfassen, und ist für Anfänger geeignet. Der Optimierungsraum ist groß, und es können mehr technische Indikatoren und Modelle eingeführt und verbessert werden, um quantitative Handelsstrategien zu entwickeln, die eine stärkere Wirkung haben.

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

//@version=3
strategy("Noro's Singapore Strategy", shorttitle = "Singapore str", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0)

//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
capital = input(100, defval = 100, minval = 1, maxval = 10000, title = "Lot")
tf = input("D", title = "Big Timeframe")
len = input(3, minval = 1, title = "MA length")
src = input(close, title = "MA Source")
fromyear = input(1900, defval = 1900, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year")
frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month")
fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day")
today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day")

//MAs
ma1 = request.security(syminfo.tickerid, tf, sma(src, len))
ma2 = sma(src, len)
plot(ma1, linewidth = 2, color = blue, title = "Big TF MA")
plot(ma2, linewidth = 2, color = red, title = "MA")

//Trading
size = strategy.position_size
lot = 0.0
lot := size != size[1] ? strategy.equity / close * capital / 100 : lot[1]

if ma2 > ma1
    strategy.entry("L", strategy.long, needlong ? lot : 0, when = (time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)))
if ma2 < ma1
    strategy.entry("S", strategy.short, needshort ? lot : 0, when = (time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)))
if time > timestamp(toyear, tomonth, today, 23, 59)
    strategy.close_all()