Ini adalah strategi perdagangan kuantitatif berdasarkan indikator MACD yang mengeksekusi perdagangan dalam rentang waktu tertentu. Strategi inti menggunakan rata-rata bergerak cepat dan lambat untuk menghitung nilai MACD dan menghasilkan sinyal berdasarkan persilangan dengan garis sinyal. Strategi ini juga menggabungkan mekanisme stop-loss dan take-profit untuk mengendalikan risiko dan mengunci keuntungan.
Strategi ini menggunakan rata-rata bergerak eksponensial 8-periode dan 16-periode (EMA) untuk menghitung nilai MACD, dan menggunakan rata-rata bergerak sederhana 11-periode (SMA) sebagai garis sinyal. Sinyal beli dihasilkan ketika garis MACD melintasi di atas garis sinyal, sementara sinyal jual terjadi pada penyeberangan ke bawah. Strategi ini mencakup pengaturan stop-loss 1% dan take-profit 2%, dan hanya mengeksekusi perdagangan dalam rentang waktu yang ditentukan pengguna (default adalah tahun penuh 2023).
Ini adalah strategi perdagangan kuantitatif yang terstruktur dengan logika yang jelas. Ini menghasilkan sinyal perdagangan melalui crossover MACD, dikombinasikan dengan penyaringan waktu dan manajemen risiko untuk membentuk sistem perdagangan yang praktis. Keakuratan tinggi strategi ini membuatnya cocok untuk optimasi dan kustomisasi lebih lanjut. Pedagang disarankan untuk melakukan backtesting menyeluruh sebelum implementasi langsung dan menyesuaikan parameter sesuai dengan instrumen perdagangan tertentu dan kondisi pasar.
/*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")