
Diese Strategie basiert auf dem EVWMA-Indikator und entwickelt eine einfache Trendverfolgungsstrategie. Die Strategie verwendet eine schnelle und eine langsame Linie, um den EVWMA-Indikator zu erstellen.
Der zentrale Indikator der Strategie ist der EVWMA, der Elasticity-Weighted Moving Average. Er reflektiert dynamisch Markttrends in Kombination mit Informationen über Preise und Transaktionsvolumen durch seine eigene Berechnungs-Zykluslänge.
Die Berechnungsdauer der schnellen Linie ist die Summe der letzten 10 K-Linien und die der letzten 20 K-Linien. Die EVWMA jeder K-Line wird berechnet nach der Formel: “EVWMA × (Zykluslänge - aktuelles K-Linevolumen) + aktuelles K-Lineabschlusspreis × aktuelles K-Linevolumen) / Länge der Zykluslänge”. Dies kombiniert gleichzeitig Preis- und Transaktionsvolumen.
Wenn die schnelle Linie die langsame Linie durchbricht, bedeutet dies, dass die Kaufkraft erhöht ist und mehr getan wird. Wenn die schnelle Linie unter der langsamen Linie durchbricht, bedeutet dies, dass die Verkaufskraft erhöht ist und frei gemacht wird. Durch eine solche Kombination von schnellen Linien kann die Markttrends dynamisch erfasst und eine Trendverfolgungsstrategie umgesetzt werden.
Der größte Vorteil dieser Strategie besteht darin, dass die dynamische Zyklusgestaltung der EVWMA-Indikatoren verwendet wird, um schneller auf Preis- und Transaktionsvolumenänderungen zu reagieren und Markttrends in Echtzeit zu erfassen, was für eine Trendverfolgungsstrategie sehr geeignet ist. Zusätzlich kombiniert es im Vergleich zu herkömmlichen Indikatoren wie beispielsweise Moving Averages Informationen zu Preisen und Transaktionsvolumen, um falsche Durchbrüche zu filtern.
Das Hauptrisiko dieser Strategie liegt in der Problematik der Einstellung der EVWMA-Indikatorparameter. Wenn die Schnell- und die Langzeitschnell-Perioden falsch eingestellt sind, kann dies zu einer Fülle von Falschsignalen führen. Darüber hinaus ist die Trend-Tracking-Strategie an sich nur die Konsequenzen eines Trends, wenn sie die Tendenz des Marktes umkehrt.
Um diese Probleme zu lösen, kann man die optimale Kombination von Parametern finden, indem man die Parameter optimiert, die Berechnungszyklen für die schnelle und die langsame Linie anpasst. Gleichzeitig kann man einen Stop-Loss einrichten, um das Verlustrisiko zu kontrollieren. Man kann eine Pause-Strategie in Erwägung ziehen, um diesen Zeitraum zu vermeiden, wenn der Markt zu einem Zeitpunkt, zu dem eine bedeutende Wende eintreten könnte, wie zum Beispiel der Veröffentlichung wichtiger Daten.
Die Strategie bietet auch Raum für weitere Optimierungen. Zum Beispiel kann man darüber nachdenken, andere Kennzahlen, wie z.B. Durchbrüche im Volumen, Brin-Band usw. als Bestätigungssignale hinzuzufügen, um die Stabilität der Strategie zu verbessern. Darüber hinaus können die Optimierungswerte für verschiedene Sorten und unterschiedliche Zeiträume unterschiedlich sein, so dass ein Anpassungsmechanismus für die Parameter erstellt werden kann, der die Parameter an die Echtzeitdaten anpasst.
Aus der Sicht des Handels können auch dynamische Stop-Loss- und Stop-Tracking-Methoden entwickelt werden, um das Risiko zu kontrollieren. Darüber hinaus können die optimalen Werte für verschiedene Sorten und unterschiedliche Zeiträume unterschiedlich sein. Es kann ein Optimierungsmechanismus für die Anpassung der Parameter eingerichtet werden, um die Parameter an Echtzeitdaten anzupassen.
Die Strategie nutzt die dynamische Zyklusgestaltung der EVWMA-Indikatoren und die Berücksichtigung von Handelsvolumeninformationen, um eine einfache und effektive Trendverfolgungsstrategie zu entwickeln. Sie kann schnell auf Preisänderungen reagieren und Markttrends erfassen. Die Strategie kann durch Parameteroptimierung, Risikokontrolle usw. die Strategie-Stabilität weiter verbessern.
/*backtest
start: 2022-12-05 00:00:00
end: 2023-12-11 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("QuantNomad - EVWMA Cross Strategy", shorttitle="EVWMA Cross", overlay=true)
// Inputs
fast_sum_length = input(10, title = "Fast Sum Length", type = input.integer)
slow_sum_length = input(20, title = "Slow Sum Length", type = input.integer)
// Calculate Volume Period
fast_vol_period = sum(volume, fast_sum_length)
slow_vol_period = sum(volume, slow_sum_length)
// Calculate EVWMA
fast_evwma = 0.0
fast_evwma := ((fast_vol_period - volume) * nz(fast_evwma[1], close) + volume * close) / (fast_vol_period)
// Calculate EVWMA
slow_evwma = 0.0
slow_evwma := ((slow_vol_period - volume) * nz(slow_evwma[1], close) + volume * close) / (slow_vol_period)
// Plot
plot(fast_evwma, title = "EVWMA Fast", linewidth = 2, color = color.red)
plot(slow_evwma, title = "EVWMA Slow", linewidth = 2, color = color.green)
// Strategy
strategy.entry("Long", true, when = crossover(fast_evwma, slow_evwma))
strategy.entry("Short", false, when = crossunder(fast_evwma, slow_evwma))