
Es handelt sich um eine quantitative Handelsstrategie, die auf MACD-Indikatoren basiert und den Handel durch eine bestimmte Zeitspanne ausführt. Die Kernstrategie besteht darin, die MACD-Werte mit Hilfe von schnellen und langsamen Moving Averages zu berechnen und mit einer Kreuzung der Signallinien zu bestimmen, wann zu kaufen oder zu verkaufen ist. Die Strategie enthält auch Stop-Loss- und Stop-Stop-Mechanismen, um Risiken zu kontrollieren und Gewinne zu sperren.
Die Strategie berechnet den MACD-Wert mit einem Index-Moving-Average (EMA) von 8 und 16 Perioden und verwendet den Simple Moving Average (SMA) von 11 Perioden als Signallinie. Es erzeugt ein Kaufsignal, wenn die MACD-Linie über die Signallinie geht, und ein Verkaufssignal, wenn sie untergeht. Die Strategie führt außerdem eine Stop-Loss- und eine Stop-Stop-Einstellung von 1% ein und führt nur in einem vom Benutzer angegebenen Zeitrahmen (Default: ganzes Jahr 2023) Geschäfte aus.
Es handelt sich um eine strukturierte, logisch eindeutige und quantifizierte Handelsstrategie. Durch die MACD-Kreuzung wird ein Handelssignal erzeugt, das mit Zeitfilterung und Risikomanagement kombiniert wird, um ein praktisches Handelssystem zu bilden. Die Strategie ist stark anpassbar und geeignet für weitere Optimierungen und individuelle Anpassungen.
/*backtest
start: 2019-12-23 08:00:00
end: 2024-11-27 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © sergengurgen83
//@version=5
strategy(title="MACD Crossover Strategy with Date Range", shorttitle="MACD Crossover strategys.g", overlay=true)
// Kullanıcı girişleri
fastLength = input.int(8, minval=1, title="Hızlı MA Süresi")
slowLength = input.int(16, minval=1, title="Yavaş MA Süresi")
signalLength = input.int(11, minval=1, title="Sinyal MA Süresi")
stopLossPercent = input.float(1.0, title="Stop-Loss Yüzdesi") / 100
takeProfitPercent = input.float(2.0, title="Kar Al Yüzdesi") / 100
// Tarih aralığı girişleri
startDate = input(timestamp("2023-01-01 00:00"), title="Başlangıç Tarihi")
endDate = input(timestamp("2023-12-31 23:59"), title="Bitiş Tarihi")
// Tarih aralığı kontrolü
inDateRange = true
// Hareketli Ortalamalar ve MACD Hesaplamaları
fastMA = ta.ema(close, fastLength)
slowMA = ta.ema(close, slowLength)
macd = fastMA - slowMA
signal = ta.sma(macd, signalLength)
// Alım ve Satım sinyalleri
buySignal = ta.crossover(macd, signal) and inDateRange
sellSignal = ta.crossunder(macd, signal) and inDateRange
// Strateji kuralları
if (buySignal)
strategy.entry("Buy", strategy.long)
if (sellSignal)
strategy.close("Buy")
// Stop-Loss ve Kar Al seviyeleri
strategy.exit("Sell", from_entry="Buy", loss=stopLossPercent * close, profit=takeProfitPercent * close)
// Sinyallerin grafikte gösterilmesi
plot(macd, color=color.blue, title="MACD")
plot(signal, color=color.red, title="Sinyal")
hline(0, color=color.purple, linestyle=hline.style_dashed)
plotshape(series=buySignal, location=location.belowbar, color=color.green, style=shape.labelup, title="Al", text="AL")
plotshape(series=sellSignal, location=location.abovebar, color=color.red, style=shape.labeldown, title="Sat", text="SAT")