
Die Dynamic Momentum Oscillator Trading Strategy basiert auf dem Dynamo-Indikator, der von E. Marshall Wall in einem Artikel in der Zeitschrift Futures Weekly im Juli 1996 entwickelt wurde. Der Standard-Oszillator wurde normalisiert, um die Auswirkungen von Trends zu beseitigen.
Die Strategie berechnet zunächst einen 10-Tage-Randomindex (Stochastic Oscillator), dann einen 10-Tage-Simple Moving Average des Index und dann einen 20-Tage-Moving Average, der die Basis für die Berechnung des dynamischen dynamischen Oszillators bildet.
Strategy berechnet dann die Höchst- und Mindestwerte des Index und berechnet den Mittelwert. Es unterscheidet die 20-Tage-Mittellinie vom ursprünglichen Index und subtrahiert diesen Unterschied vom Mittelwert, um den standardisierten Schwingungswert zu erhalten.
Die wichtigsten Vorteile dieser Strategie sind:
Die Verwendung eines dynamischen Dynamik-Obsolvatoren-Indikators beseitigt die Auswirkungen von Trends und macht die Handelssignale zuverlässiger.
In Kombination mit Überkauf- und Überverkaufszonen kann ein genaueres Handelssignal am Wendepunkt erzeugt werden.
Die Regeln sind einfach, klar und leicht umzusetzen.
Die wichtigsten Risiken dieser Strategie sind:
Wenn die Märkte stürmen, gibt es eine größere Wahrscheinlichkeit, dass die Indikatoren falsche Signale senden. Sie können Stop-Loss-Sätze einrichten, um das Risiko zu kontrollieren.
In einem wackligen Markt werden häufig falsche Signale erzeugt. Die Parameter können entsprechend angepasst werden, um einige Geräusche zu filtern.
Es ist möglich, dass die Häufigkeit der Transaktionen höher ist und die Transaktionskosten einen gewissen Einfluss auf die Gewinne haben.
Diese Strategie kann in folgenden Bereichen optimiert werden:
Daten aus verschiedenen Märkten zu testen, um die besten Verträge und optimale Kombinationen von Parametern zu finden.
Erhöhen Sie die Filterbedingungen, um die Trendstärke zu beurteilen, bevor Sie ein Signal senden, und vermeiden Sie, dass Sie in einem Erschütterungsfall eingeschlossen werden.
Erhöhen Sie die Stop-Loss-Mechanismen. Wenn der Preis eine bestimmte Schwelle in eine negative Richtung überschreitet, wählen Sie Stop-Loss-Exit.
Auf der Grundlage dieser Strategie können komplexere Handelssysteme entwickelt werden, um Entscheidungen in Verbindung mit mehreren anderen Indikatoren zu treffen.
Dynamische Dynamik-Vibrator-Trading-Strategien, die durch die Beseitigung von Trend-Einflüssen ein genaueres Handelssignal in überkauften und überverkauften Bereichen senden. Die Strategie ist einfach und leicht umzusetzen, aber auch mit gewissen Risiken verbunden. Durch die Optimierung von Parametern und Regeln kann die Systemstabilität und die Profitabilität weiter verbessert werden.
/*backtest
start: 2023-01-15 00:00:00
end: 2024-01-21 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 10/04/2017
// In July 1996 Futures magazine, E. Marshall Wall introduces the
// Dynamic Momentum Oscillator (Dynamo). Please refer to this article
// for interpretation.
// The Dynamo oscillator is a normalizing function which adjusts the
// values of a standard oscillator for trendiness by taking the difference
// between the value of the oscillator and a moving average of the oscillator
// and then subtracting that value from the oscillator midpoint.
//
// You can change long to short in the Input Settings
// Please, use it only for learning or paper trading. Do not for real trading
////////////////////////////////////////////////////////////
strategy(title="Dynamo", shorttitle="Dynamo")
OscLen = input(10, minval=1)
MALen = input(20, minval=1)
HiBand = input(77, minval=1)
LowBand = input(23)
reverse = input(false, title="Trade reverse")
hline(HiBand, color=red, linestyle=line)
hline(LowBand, color=green, linestyle=line)
xOscK = stoch(close, high, low, OscLen)
xOscAvg = sma(xOscK, OscLen)
xMAVal = sma(xOscAvg, MALen)
maxNum = 9999999
LowestSoFar = iff(xOscAvg < nz(LowestSoFar[1], maxNum), xOscAvg, nz(LowestSoFar[1], maxNum))
HighestSoFar = iff(xOscAvg > nz(HighestSoFar[1]), xOscAvg, nz(HighestSoFar[1]))
MidPnt = (LowestSoFar + HighestSoFar) / 2
nRes = MidPnt - (xMAVal - xOscAvg)
pos = iff(nRes > HiBand, 1,
iff(nRes < LowBand, -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(nRes, color=blue, title="Dynamo")