Handelsstrategie auf Basis von ADX- und MACD-Indikatoren

Schriftsteller:ChaoZhang, Datum: 2023-12-13 15:45:24
Tags:

img

Übersicht

Die Strategie heißt Trend Following Strategy Based on ADX und MACD Indicators. Sie verwendet den Average Directional Movement Index (ADX) zur Bestimmung der Trendrichtung und -stärke, kombiniert mit den Handelssignalen von Moving Average Convergence Divergence (MACD), um Trends zu implementieren.

Strategie Logik

Die Strategie berechnet die ADX- und +DI-, -DI-Linien, um die Markttrendrichtung und -intensität zu beurteilen. Wenn die +DI-Linie über -DI kreuzt, ist es ein Aufwärtstrend; wenn die -DI unter +DI fällt, ist es ein Abwärtstrend. Darüber hinaus zeigt die ADX-Lese über 20 an, dass der Trend stark genug ist.

Insbesondere ist die Handelssignallogik:

Langes Signal: +DI > -DI und MACD-Differenzlinie kreuzen sich über der Signallinie
Kurzsignal: -DI > +DI und MACD-Differenzlinie kreuzen sich unterhalb der Signallinie

Mit dieser Logik ist die Strategie in der Lage, den optimalen Eintrittszeitpunkt innerhalb starker Trends zu erfassen.

Vorteile

Der größte Vorteil dieser Strategie besteht darin, dass sowohl das Trendbeurteilen als auch die Wahl des Eintrittszeitraums berücksichtigt werden, so dass Händler relativ gute Einstiegspunkte finden können, wenn ein starker richtungsweisender Markt besteht.

Darüber hinaus wird auch eine Stop-Loss-Logik implementiert. Sie wird Verluste aktiv reduzieren, wenn der Positionsverlust den vom Benutzer definierten Stop-Loss-Preis übersteigt. Dies ist auch ein Höhepunkt der Strategie.

Risiken

Obwohl die Strategie einige Vorzüge aufweist, bestehen immer noch Risiken, die beachtet werden müssen:

  1. Die von ADX und MACD zusammengesetzten Handelssignale können in bestimmten Marktsituationen fehlschlagen oder falsche Signale geben und unnötige Verluste verursachen.

  2. Der vom Nutzer definierte Stop-Loss-Preis könnte durchdrungen werden, was zu Verlusten führt, die über die Erwartungen hinausgehen.

  3. Zu viele ineffiziente Geschäfte können in verschiedenen Märkten stattfinden und Transaktionskosten verbrauchen.

Um diese Risiken zu mindern, empfiehlt sich die Optimierung der Parameter von ADX und MACD sowie die Umsetzung strenger Geldmanagementregeln.

Anweisungen zur Verbesserung

Diese Strategie kann noch verbessert werden:

  1. Es könnten weitere Indikatoren eingeführt werden, um stärkere Handelssignale zu erzeugen, z. B. durch die Kombination von Volatilitätsindex und Handelslimits.

  2. ADX- und MACD-Parameter könnten automatisch über maschinelles Lernen optimiert werden.

  3. Es kann ein anpassungsfähiger Stop-Loss-Mechanismus zur dynamischen Verfolgung von Marktschwankungen eingerichtet werden.

Diese Methoden können dazu beitragen, die Stabilität und Rentabilität der Strategie weiter zu verbessern.

Schlussfolgerung

Zusammenfassend kann man sagen, dass die Trend Following Strategie auf Basis von ADX- und MACD-Indikatoren Vorzüge hat, wenn es darum geht, die Trendrichtung zu bestimmen, den optimalen Einstiegszeitpunkt zu finden, Stop-Loss-Logik zu setzen usw., was sie zu einem beträchtlichen Handelssystem macht. Angesichts der richtigen Parameter-Tuning und Risikokontrolle ist sie in der Lage, anständige Anlageerträge zu erzielen.


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

//@version=5
strategy("TUE ADX/MACD Confluence V1.0", overlay=true)

showsignals = input(true, title="Show BUY/SELL Signals")
showcandlecolors = input(true, title="Show Candle Colors")
length = input(14, title="ADX Length")
smoothing = input(10, title="ADX Smoothing")
macdsource = input(close, title="MACD Source")
macdfast = input(12, title="MACD Fast Length")
macdslow = input(26, title="MACD Slow Length")
macdsignal = input(9, title="MACD Signal Length")
colorup = input(color.green, title="Up Candle Color")
colordown = input(color.red, title="Down Candle Color")

/////////////////////////////////////////////////////////////////////////////////////////////// ADX AND MACD CALC
[diplus, diminus, adx] = ta.dmi(length, smoothing)

[macdline, signalline, histline] = ta.macd(macdsource, macdfast, macdslow, macdsignal)

//////////////////////////////////////////////////////////////////////////////////////////////TRADE CALC

longcheck = diplus > diminus and macdline > signalline
shortcheck = diminus > diplus and signalline > macdline

int trade = 0

//Open from nothing

if trade == 0 and longcheck
    trade := 1

else if trade == 0 and shortcheck
    trade := -1
    
//Reversal

else if trade == 1 and shortcheck
    trade := -1
    
else if trade == -1 and longcheck
    trade := 1
    
//Keep status quo until crossover

else
    trade := trade[1]

//////////////////////////////////////////////////////////////////////////////////////////////PLOT 

colors = longcheck ? colorup : shortcheck ? colordown : color.white

plotcandle(open, high, low, close, color = showcandlecolors ? colors : na)

plotshape(trade[1] != 1 and trade == 1 and showsignals, style=shape.labelup, text='BUY', textcolor=color.white, color=color.green, size=size.small, location=location.belowbar)
plotshape(trade[1] != -1 and trade == -1 and showsignals, style=shape.labeldown, text='SELL', textcolor=color.white, color=color.red, size=size.small, location=location.abovebar)

///////////////////////////////////////////////////////////////////////////////////////////// ALERTS

// Add Stop Loss
stopLossPrice = input(100, title="Stop Loss Price")

if trade == 1
    strategy.entry("Long", strategy.long)

if trade == -1
    strategy.entry("Short", strategy.short)

if trade == 1 and close < close[1] - stopLossPrice
    strategy.close("LongExit")

if trade == -1 and close > close[1] + stopLossPrice
    strategy.close("ShortExit")


Mehr