
Die Strategie basiert auf dem MACD-Indikator, um Trends zu verfolgen. Die Strategie nutzt den MACD-Indikator, um die Richtung des Trends zu erkennen und die Gewinne mit einem dynamischen Stop-Loss zu sichern.
Berechnung der Schnell-, Lang- und MACD-Indikatoren. Die Schnelllinie verwendet einen 12-Perioden-Indikator für den Moving Average, die Langlinie verwendet einen 26-Perioden-Indikator für den Moving Average.
Setzen Sie eine Kauf- und Verkaufsline. Geben Sie ein Kaufsignal aus, wenn Sie eine Kauf- und Verkaufsline auf dem MACD durchlaufen. Geben Sie ein Verkaufssignal aus, wenn Sie eine Verkaufsline unter dem MACD durchlaufen.
Nach dem Start der Position wird ein dynamischer Stop-Loss eingerichtet, um die Stop-Loss-Linie zu verfolgen. Die Stop-Loss-Linie wird mit einem Anfangswert von 95% des Eröffnungspreises eingestellt, um Gewinne zu erzielen, wenn der Preis auf die Stop-Loss-Linie übergeht.
Wenn ein Stop-Loss- oder Umkehrsignal ausgelöst wird, ist die Position platziert.
Die Verwendung von MACD-Indikatoren zur Identifizierung der Trendrichtung kann Trends effektiv verfolgen.
Dynamische Stop-Loss-Mechanismen können die Gewinne dauerhaft sperren und verhindern, dass die Verluste sich ausdehnen.
Die Strategie ist klar und einfach zu verstehen und eignet sich für die automatische Ausführung von quantifizierten Transaktionen.
Der MACD-Indikator ist nachlässig und könnte eine kurzfristige Trendwende verpassen.
Ein zu lockerer Stop-Loss kann einen Teil des Gewinns verpassen, ein zu strenger Stop-Loss kann zu früh sein.
Die Parameter-Tuning-Probleme, die MACD-Parameter und die Kauf- und Verkaufslinien müssen ständig getestet und optimiert werden.
Bei einem Trend ist es besser zu handeln, während bei einem Schock ein Verlustrisiko besteht.
Optimierung von MACD-Parametern, um die beste Kombination zu finden.
Verschiedene Verlustmethoden, wie z.B. Punkteverlust, ATR-Verlust usw. werden getestet.
Filterbedingungen wurden hinzugefügt, um Fehltrading durch andere Indikatoren zu vermeiden, wie z. B. Brin-Band, RSI usw.
Trends und Schwankungen identifizieren und die Strategieparameter für die dynamische Anpassung kombinieren.
Die Strategie hat eine klare Gesamtkonzeption. Die MACD-Indikatoren folgen dem Trend und nutzen die dynamischen Stop-Loss-Methoden, um die Gewinne zu verfolgen. Sie können die Trendentwicklung effektiv verfolgen.
/*backtest
start: 2023-10-16 00:00:00
end: 2023-11-15 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
strategy(shorttitle = "EURUSD MACD", title = "EURUSD MACD")
fastMA = input(title="Fast moving average", defval = 12, minval = 7)
slowMA = input(title="Slow moving average", defval = 26, minval = 7)
lastColor = yellow
[currMacd,_,_] = macd(close[0], fastMA, slowMA, 9)
[prevMacd,_,_] = macd(close[1], fastMA, slowMA, 9)
plotColor = currMacd > 0 ? currMacd > prevMacd ? lime : green : currMacd < prevMacd ? maroon : red
plot(currMacd, style = histogram, color = plotColor, linewidth = 3)
plot(0, title = "Zero line", linewidth = 1, color = gray)
//MACD
// 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)", type=bool, defval=false)
sma_signal = input(title="Simple MA(Signal Line)", type=bool, 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)
macd = fast_ma - slow_ma
signal = sma_signal ? sma(macd, signal_length) : ema(macd, signal_length)
hist = macd - 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(macd, title="MACD", color=col_macd, transp=0)
plot(signal, title="Signal", color=col_signal, transp=0)
///END OF MACD
//Long and Close Long Lines
linebuy = input(title="Enter Long", type=float, defval=-0.0002)
linesell = input(title="Close Long", type=float, defval=0.0001)
//Plot Long and Close Long Lines
plot(linebuy,color=green),plot(linesell,color=red)
//Stop Loss Input
sl_inp = input(0.05, title='Stop Loss %', type=float)/100
//Order Conditions
longCond = crossover(currMacd, linebuy)
exitLong = crossover(currMacd, linesell)
stop_level = strategy.position_avg_price * (1 - sl_inp)
//Order Entries
strategy.entry("long", strategy.long, when=longCond==true)
strategy.close("long", when=exitLong==true)
strategy.exit("Stop Loss", stop=stop_level)