
Ini adalah strategi perdagangan kuantitatif yang didasarkan pada indikator MACD, yang melakukan perdagangan dengan menetapkan rentang waktu tertentu. Inti dari strategi ini adalah menghitung nilai MACD dengan menggunakan rata-rata bergerak cepat dan lambat, dan berpotongan dengan garis sinyal untuk menentukan waktu jual beli. Strategi ini juga mencakup mekanisme stop loss dan stop loss untuk mengendalikan risiko dan mengunci keuntungan.
Strategi ini menggunakan indeks bergerak rata-rata ((EMA) dari 8 periode dan 16 periode untuk menghitung nilai MACD, dan menggunakan sederhana bergerak rata-rata ((SMA) dari 11 periode sebagai garis sinyal. Ketika MACD melintasi garis sinyal menghasilkan sinyal beli, ketika melintasi garis sinyal menghasilkan sinyal jual.
Ini adalah strategi perdagangan kuantitatif yang terstruktur, logis dan jelas. Ini menghasilkan sinyal perdagangan melalui MACD crossover, bekerja dengan penyaringan waktu dan manajemen risiko, membentuk sistem perdagangan yang praktis. Strategi ini sangat dapat disesuaikan, cocok untuk pengoptimalan lebih lanjut dan penyesuaian pribadi.
/*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")