MACD-Handelsstrategien basierend auf EVWMA


Erstellt: 2024-01-22 10:50:25 Letzte Änderung: 2024-01-22 10:50:25
Ich bin nicht derjenige, der das tut. 0 Anzahl der Klicks: 297
1
Besorgnis
1105
Betrachter

基于EVWMA的MACD交易策略

Übersicht

Die Strategie ist eine MACD-Handelsstrategie, die auf einem flexiblen, handlungsgewichteten gleitenden Durchschnitt (EVWMA) basiert. Sie nutzt die Vorteile von EVWMA, um eine klare und praktische Handelssignalstrategie zu entwickeln.

Die Strategie

Die EVWMA-Anzeige integriert die vollständigen Handelsdaten in die Berechnung des gleitenden Durchschnitts, so dass der gleitende Durchschnittswert die Preisänderungen genauer widerspiegeln kann. Diese Strategie basiert auf der Berechnung der schnellen und der langsamen Linien. Die Parameter für die schnellen Linien sind empfindlicher eingestellt, um kurzfristige Preisänderungen zu erfassen.

Stärkenanalyse

Der größte Vorteil dieser Strategie ist, dass sie die Kraft der EVWMA-Indikatoren nutzt, um die MACD-Strategieparameter stabiler zu setzen und die Handelssignale klarer zu machen. Im Vergleich zu einfachen gleitenden Durchschnitten kann die EVWMA die Markttrends besser erfassen. Dies macht die Strategie anpassungsfähiger und lässt sie in allen möglichen Marktumgebungen stabil funktionieren.

Risikoanalyse

Das Hauptrisiko der Strategie besteht darin, dass der MACD selbst eine gewisse Verzögerung aufweist, die es nicht ermöglicht, die Preiswende rechtzeitig zu erfassen. Darüber hinaus beeinflusst die Einstellung der EVWMA-Parameter auch die Strategie.

Um das Risiko zu reduzieren, sollten die Parameter entsprechend angepasst werden, damit die Differenz zwischen der schnellen und der langsamen Linie angemessen ist. Das Histogramm kann helfen zu entscheiden, ob ein Anpassungsprozess erforderlich ist. Außerdem kann eine Stop-Loss-Strategie entworfen werden, um zu vermeiden, dass ein einzelner Verlust zu groß ist.

Optimierung

Die Strategie kann vor allem in folgenden Bereichen optimiert werden:

  1. Mit Hilfe der Adaptive Parameter-Setting-Technologie können die Parameter von EVWMA automatisch an die Marktumgebung angepasst werden, um die Klarheit der Handelssignale zu gewährleisten.

  2. Ein weiterer wichtiger Schritt ist die Erhöhung des Stop-Loss-Mechanismus, um die Verluste von Einzahlungen effektiv zu kontrollieren.

  3. In Kombination mit anderen Indikatoren wird ein Fehlmeldesignal gefiltert.

  4. Optimierte Eintrittspunkte-Auswahl. Aktuelle Strategie ist es, bei MACD-Null-Achsen-Kreuzung zu treten. Es kann geprüft werden, ob eine Änderung zu einem tiefen Zug besser geeignet ist.

Zusammenfassung

Diese Strategie nutzt die Vorteile der EVWMA-Anzeige, um eine einfache und praktische MACD-Strategie zu konstruieren. Sie ist stabiler und anpassungsfähiger. Es gibt aber auch Probleme mit der Verzögerung der MACD selbst.

Strategie-Quellcode
                
                    /*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=4
strategy("QuantNomad - EVWMA MACD Strategy", shorttitle = "EVWMA MACD", overlay = false)

// 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)
signal_length   = input(9,  title = "Signal Smoothing", type = input.integer, minval = 1, maxval = 50)

// 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)

// Calculate MACD
macd   = fast_evwma - slow_evwma
signal = ema(macd, signal_length)
hist   = macd - signal

// Plot 
plot(hist,   title = "Histogram", style = plot.style_columns, color=(hist>=0 ? (hist[1] < hist ? #26A69A : #B2DFDB) : (hist[1] < hist ? #FFCDD2 : #EF5350) ), transp=0 )
plot(macd,   title = "MACD",      color = #0094ff, transp=0)
plot(signal, title = "Signal",    color = #ff6a00, transp=0)

// Strategy
strategy.entry("Long",   true, when = crossover(fast_evwma, slow_evwma))
strategy.entry("Short", false, when = crossunder(fast_evwma, slow_evwma))
                
            
Weitere Informationen