
Die Strategie basiert auf dem üblichen Kreuzung von Moving Averages, um ein Kauf- und Verkaufssignal zu erzeugen, aber einige Änderungen wurden vorgenommen, um ein genaueres Handelssignal zu erzeugen. Die Strategie kombiniert eine Kreuzung von schnellen und langsamen Moving Averages, um einen Trend zu bestimmen, und gehört zu den Trend-Tracking-Strategie.
Wenn ein schneller Moving Average den langsamen Moving Average von unten durchbricht, wird dies als Kaufsignal betrachtet; wenn ein schneller Moving Average von oben nach unten fällt, wird ein langsamer Moving Average als Verkaufssignal betrachtet. Das heißt, Goldfork überschreitet, Deadfork macht leer. Sobald es überschreitet / leer ist, wird ein Stop-Loss gesetzt, um zu große Verluste zu vermeiden.
Der Schlüssel zu dieser Strategie liegt in der Auswahl der schnellen und langsamen Durchschnittslinie. Die Strategie verwendet Indikatorische Moving Averages mit einer Länge von 50 und 100 als schnelle und langsame Linie. Durch die Anpassung der Durchschnittsparameter kann die Strategie optimiert werden.
Diese Strategie kombiniert die Trendrichtung der binären Gleichgewichtslinien, um den Marktrauschen zu filtern und Trends zu erkennen. Die Strategie erhöht die Gewinnwahrscheinlichkeit im Vergleich zur Einzellinienstrategie. Außerdem kann die Einstellung von Stop-Loss-Positionen die Verluste für einzelne Geschäfte begrenzen.
Die Strategie nutzt die Kreuzungsprinzipien, um Trendwendepunkte zu ermitteln und Trendchancen zeitnah zu erfassen. Im Vergleich zu Strategien mit komplexer bedingter Logik ist die Strategie leicht zu verstehen und zu implementieren.
Diese Strategie kann drei Risiken aufweisen: falsche Mittelwertparameter, falsche Haltedauer und falsche Stop-Loss-Position.
Die falsche Auswahl der Parameter der Durchschnittslinie führt zu falschen Signalen. Wenn die Durchschnittslinie zu kurz oder zu lang ist, wird der Markt falsch beurteilt. Sie sollte entsprechend an die spezifischen Merkmale der Sorte angepasst werden.
Eine zu lange oder zu kurze Haltedauer, die den Gewinn nicht maximieren oder das Risiko nicht kontrollieren kann. Verschiedene Ausstiegsmethoden müssen getestet werden, um die optimale Haltedauer zu bestimmen.
Eine falsche Einstellung der Stoppposition führt dazu, dass die Stopps zu locker oder zu eng sind. Die geeignete Stoppposition sollte anhand der Schwankungen der Sorte bestimmt werden.
Diese Strategie kann in folgenden Bereichen optimiert werden:
Test mehr Kombinationen von Mittellinienparametern, um die besten Parameter zu finden
Festlegung eines dynamischen Stop-Loss-Positions auf Basis der jüngsten N-Tage-Preisschwankungen oder ATR
Die Eintrittszeiten werden anhand weiterer Kennzahlen wie MACD, KD usw. bestimmt.
Der Trend-Filter-Regel wurde hinzugefügt, um eine Marktdurchreitung zu vermeiden.
Erwägen Sie, die Strategie auf mehr Sorten anzuwenden oder zu einer Sortenübergreifenden Strategie zu entwickeln
Die Moving Average Cross-Optimierung Strategie integriert die Vorteile der schnellen und langsamen Durchschnittslinie, um die Richtung der Tendenz zu beurteilen, und setzt Stop-Losses, um das Risiko zu kontrollieren. Die Strategie gehört zu den leicht umsetzbaren Trend-Tracking-Strategien. Die Strategie kann die Stabilität und Effizienz durch Parameteroptimierung, Stop-Loss-Optimierung und Signalfilterung weiter verbessern.
/*backtest
start: 2024-01-27 00:00:00
end: 2024-02-03 00:00:00
period: 15m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © ashishchauhan
strategy(title="MA CO Strategy Test", overlay=true, pyramiding=0, initial_capital=100000)
fastEMALen = input(title="Fast EMA Length", type=input.integer, defval=50)
slowEMALen = input(title="Slow EMA Length", type=input.integer, defval=100)
fastEMA = ema(close, fastEMALen)
slowEMA = ema(close, slowEMALen)
enterLong = crossover(fastEMA, slowEMA)
enterShort = crossunder(fastEMA, slowEMA)
longStop = 0.0
longStop := enterShort ? close : longStop[1]
shortStop = 0.0
shortStop := enterLong ? close : shortStop[1]
plot(series=fastEMA, color=color.orange, title="Fast EMA")
plot(series=slowEMA, color=color.teal, linewidth=3, title="Slow EMA")
if enterLong
strategy.entry(id="GoLong", long=true)
if enterShort
strategy.entry(id="GoShort", long=false)
if strategy.position_size > 0
strategy.exit(id="ExLong", from_entry="GoLong", stop=longStop)
if strategy.position_size < 0
strategy.exit(id="ExShort", from_entry="GoShort", stop=shortStop)
strategy.close_all()