Die Strategie nutzt die Doppelbewegungsmittel, um Trends zu bestimmen, um ein Kauf- und Verkaufssignal zu erzeugen. Ein Gold- und Kaufsignal wird erzeugt, wenn ein schneller Bewegungsmittel von unten durch den langsamen Bewegungsmittel geht.
Die Strategie besteht aus folgenden Teilen:
Der Wert des Oszillators wird berechnet in Form eines Prozentsatzes des Preises. Der Wert des Oszillators ist der Prozentsatz des Preises abzüglich eines Mittelwerts. Der Mittelwert wird berechnet aus dem Mittelwert der höchsten und niedrigsten Preise, z. B. 20 Tage.
Berechnen Sie einen beweglichen Durchschnitt der Oscillatorwerte, z. B. den 20-Tage-Hull-Wechsel-Durchschnitt.
Berechnen Sie die Verzögerung des Moving Averages, z. B. 12 Tage Verzögerung.
Beurteilung, ob der Moving Average auf- oder abtritt, Verzögerung des Moving Averages, Gold- oder Todesfork-Signal.
Das sind die wichtigsten Faktoren, die den Markt beeinflussen.
Konkret berechnet die Strategie zuerst den Preis-Oszillator, dann den Oszillator-Moving Average und dann den Delay-Wert dieses Moving Averages.
Wenn der Oszillator über den Moving Average durchläuft, erzeugt er ein Gold-Fork-Signal, um mehr zu tun; wenn der Oszillator unter dem Moving Average durchläuft, erzeugt er ein Dead-Fork-Signal, um mehr zu tun.
So wird die Richtung des Handels bestimmt, indem man die Überschneidungen der doppelten gleitenden Durchschnitte beurteilt.
Diese Strategie hat folgende Vorteile:
Die Verwendung von doppelten gleitenden Durchschnitten filtert falsche Signale und erhöht die Zuverlässigkeit der Signale.
Die Kombination aus schnellen und langsamen Durchschnittslinien erfasst die mittlere Tendenz. Die schnellen Durchschnittslinien sind auf Preisänderungen empfindlich und die langsamen Durchschnittslinien sind rückläufig. Die Kombination kann die mittlere Trendwende erfassen, während die kurzfristigen Geräusche beseitigt werden.
Der Einsatz von Oszillatoren kann die Durchbruchspunkte hervorheben und ein klareres Handelssignal erzeugen.
Anpassbare Moving Average-Algorithmen und -Parameter für unterschiedliche Marktumgebungen.
Die Strategie ist klar und einfach zu verstehen und zu implementieren und eignet sich für Anfänger.
Die Strategie birgt auch folgende Risiken:
Die Überschneidung von zwei gleitenden Durchschnitten erzeugt Signalverzögerungen und kann zu einer Verfehlung der besten Einstiegspunkte führen.
Der Doppel-Moving-Average ist leicht zu Fehlschlägen in der Berechnung.
Es ist unklar, ob der Trend stark oder schwach ist, und es könnte ein vorzeitiger Ausstieg in einem Bullenmarkt sein.
PARAMETERS kann mit zu vielen Parametern verändert werden, so dass es nicht einfach ist, die optimale Kombination zu finden.
Es gibt keine Stop-Loss-Mechanismen, um einzelne Verluste zu kontrollieren.
Diese Strategie kann in folgenden Bereichen optimiert werden:
Optimierung der Arten und Parameter von Moving Averages, um die Stabilität verschiedener Kombinationen in verschiedenen Märkten zu testen.
Es ist wichtig, Trendmessgrößen wie den ADX zu verwenden, um unnötige Geschäfte durch falsche Signale zu vermeiden.
Hinzufügen von Stop-Loss-Strategien, wie beispielsweise mobile Stop-Loss oder Prozentsatz Stop-Loss, um Einzelschäden zu kontrollieren.
In Kombination mit anderen Indikatoren, wie Handelsvolumenenergie, RSI usw., erhöht sich die Qualität der Handelssignale.
Automatische Optimierung der Parameter mittels maschineller Lernmethoden, um eine stabilere Parameter-Einstellung zu erhalten.
Erwägen Sie eine angemessene Lockerung der Eintrittsbedingungen, um die Möglichkeit von Ausfallkarten zu verringern.
Die Doppel-Moving-Average-Gold-Stock-Strategie erzeugt Handelssignale durch die Kombination von schnellen und langsamen Durchschnittslinien. Die Strategie ist einfach, leicht zu implementieren, leicht zu verstehen und für Anfänger geeignet. Es gibt jedoch auch Nachteile, die Fehlsignale erzeugen und die Trendstärke nicht bestimmen können.
/*backtest
start: 2023-09-06 00:00:00
end: 2023-10-06 00:00:00
period: 4h
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/
// © EvoCrypto
//@version=4
strategy("Distance Oscillator Strategy- evo", shorttitle="Distance Oscillator Strategy")
// INPUTS {
na_1 = input(false, title="────────────{ Oscillator }──────────────")
// Osc_Src = input(close, title="Oscillator Source ")
Example_Length = input(20, title="Example Length", minval=1)
Osc_Src = (highest(Example_Length) + lowest(Example_Length)) / 2
// Strategy can not let you choose a Moving Average to connect with like the study version, so I use the MA above as example
Osc_Format = input("Percent",title="Oscillator Format", options=["Percent", "Currency"])
na_2 = input(false, title="─────────────{ Average }──────────────")
Average_Type = input("Hull", title="Average Type", options=["Hull", "Sma", "Ema", "Wma"])
Length = input(50, title="Average Length", minval=1)
Lagg = input(12, title="Average Lagg", minval=1)
Display_MA = input(true, title="Display Average")
// }
// SETTINGS {
Osc_Sum =
Osc_Format == "Percent" ? (close - Osc_Src) / close * 100 :
Osc_Format == "Currency" ? (close - Osc_Src) : na
Osc_MA = Display_MA == false ? na:
Average_Type == "Hull"? hma(Osc_Sum, Length) :
Average_Type == "Sma" ? sma(Osc_Sum, Length) :
Average_Type == "Ema" ? ema(Osc_Sum, Length) :
Average_Type == "Wma" ? wma(Osc_Sum, Length) : na
Osc_MA_1 = Osc_MA[Lagg]
Cross_Up = crossover( Osc_MA, Osc_MA_1)
Cross_Down = crossunder(Osc_MA, Osc_MA_1)
Osc_Color = Osc_Sum > 0 ? color.new(#bbdefb, 70) : Osc_Sum < 0 ? color.new(#000000, 70) : na
Average_Color = Osc_MA > Osc_MA_1 ? color.new(#311b92, 100) : Osc_MA < Osc_MA_1 ? color.new(#b71c1c, 100) : na
// }
// PLOT {
plot(Osc_Sum, title="Oscillator", color=Osc_Color, style=plot.style_histogram, linewidth=2)
Plot_0 = plot(Osc_MA, title="Osc Average",color=#b71c1c, linewidth=2)
Plot_1 = plot(Osc_MA_1, title="Osc Average",color=#311b92, linewidth=2)
fill(Plot_0, Plot_1, title="Average", color=Average_Color)
plotshape(Cross_Up ? Osc_MA_1 : na, title="Cross Up", color=#bbdefb, location=location.absolute, size=size.tiny, style=shape.circle)
plotshape(Cross_Down ? Osc_MA_1 : na, title="Cross Down", color=#000000, location=location.absolute, size=size.tiny, style=shape.circle)
// }
// STRATEGY {
if (Cross_Up)
strategy.entry("Long", strategy.long)
if (Cross_Down)
strategy.entry("Short", strategy.short)
// }