Logarithmischer gleitender Durchschnittskonvergenz Divergenzstrategie

Schriftsteller:ChaoZhang, Datum: 23.09.2021
Tags:

Übersicht

Diese Strategie erzeugt Handelssignale mithilfe des logarithmischen MACD-Indikators. Sie berechnet die Differenz zwischen schnellen und langsamen logarithmischen gleitenden Durchschnitten, um die Marktdynamik und -chancen zu messen.

Strategie Logik

Die Hauptlogik lautet:

  • Berechnung der schnellen logarithmischen MA (Standard 12) und der langsamen logarithmischen MA (Standard 26)

  • Logarithmischer MACD ist ihre Differenz, die Marktdynamik ausdrückt

  • Die Signallinie ist glatter MA des MACD (Standard 9)

  • Gehen Sie lang, wenn der MACD über das Signal von unten geht

  • Gehen Sie kurz, wenn der MACD unter dem Signal von oben kreuzt

  • MACD-Signaldifferenz als Histogramm dargestellt

Im Vergleich zum einfachen MACD kann der logarithmische MACD exponentielle Wachstumstrends besser hervorheben.

Vorteile

  • Erkennt exponentielle Preisbewegungen mit logarithmischer Transformation

  • Der MACD-Log zeigt Informationen über Preisschwankungen.

  • Signallinie glättet MACD in Handelssignale

  • Das MACD-Histogramm zeigt intuitiv die Trendrichtung.

Risiken

  • Die Log-Transformation kann das Preisgeräusch verstärken

  • Häufige Signale, Risiken eines übermäßigen Handels

  • Keine Stop-Loss-Verwaltung, unvollständige Risikokontrolle

Abmilderung:

  • Anpassung der Parameter zur Verringerung der Signalfrequenz

  • Fügen Sie Filter hinzu, um Signale unter schüttelnden Bedingungen zu vermeiden

  • Einführung von Stop Loss zur Kontrolle von Verlusten pro Handel

Möglichkeiten zur Verbesserung

  • Optimierung der Stabilitätsparameter

  • Versuchen Sie andere Transformationen wie exponentiellen gleitenden Durchschnitt

  • Hinzufügen eines Trendfilters zu Bildschirmsignalen

  • Einbeziehung von Stop-Loss-Strategien

  • Verwenden Sie maschinelles Lernen, um die Signalverlässlichkeit zu beurteilen

Schlussfolgerung

Die logarithmische Transformation erhöht die Empfindlichkeit des MACD für die frühzeitige Trenddetektion. Aber die Handelsfrequenz sollte kontrolliert werden. Mit Optimierungen in Parametern, Risikomanagement usw. kann diese Strategie zu einem stabilen und einzigartigen quantitativen System werden.


/*backtest
start: 2022-09-14 00:00:00
end: 2023-09-20 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy(title="Logarithmic Moving Average Convergence Divergence Strategy", shorttitle="LMACD Strategy")

// Getting inputs
fast_length = input(title="Fast Length",  defval=12)
slow_length = input(title="Slow Length",  defval=26)
src = input(title="Source",  defval=close)
signal_length = input(title="Signal Smoothing",  minval = 1, maxval = 50, defval = 9)
sma_source = input(title="Simple MA(Oscillator)",  defval=false)
sma_signal = input(title="Simple MA(Signal Line)", defval=false)

// Plot colors
col_grow_above = #26A69A
col_grow_below = #FFCDD2
col_fall_above = #B2DFDB
col_fall_below = #EF5350
col_macd = #0094ff
col_signal = #ff6a00

// Calculating
fast_ma = sma_source ? sma(src, fast_length) : ema(src, fast_length)
slow_ma = sma_source ? sma(src, slow_length) : ema(src, slow_length)
lmacd = log(fast_ma) - log(slow_ma)
signal = sma_signal ? sma(lmacd, signal_length) : ema(lmacd, signal_length)
hist = lmacd - signal

plot(hist, title="Histogram", style=columns, color=(hist>=0 ? (hist[1] < hist ? col_grow_above : col_fall_above) : (hist[1] < hist ? col_grow_below : col_fall_below) ), transp=0 )
plot(lmacd, title="LMACD", color=col_macd, transp=0)
plot(signal, title="Signal", color=col_signal, transp=0)

if (crossover(hist, 0))
	strategy.entry("Long", strategy.long, comment="LMACD long")
if (crossunder(hist, 0))
	strategy.entry("Short", strategy.short, comment="LMACD short")

Mehr