Ini adalah strategi perdagangan kuantitatif berdasarkan penunjuk MACD yang melaksanakan perdagangan dalam julat masa yang ditentukan. Strategi teras menggunakan purata bergerak cepat dan perlahan untuk mengira nilai MACD dan menghasilkan isyarat berdasarkan persilangan dengan garis isyarat. Strategi ini juga menggabungkan mekanisme stop-loss dan mengambil keuntungan untuk mengawal risiko dan mengunci keuntungan.
Strategi ini menggunakan purata bergerak eksponen (EMA) 8 tempoh dan 16 tempoh untuk mengira nilai MACD, dan menggunakan purata bergerak mudah (SMA) 11 tempoh sebagai garis isyarat. Isyarat beli dihasilkan apabila garis MACD melintasi di atas garis isyarat, sementara isyarat jual berlaku pada salib ke bawah. Strategi ini termasuk tetapan stop-loss 1% dan 2% mengambil keuntungan, dan hanya melaksanakan dagangan dalam julat masa yang ditentukan oleh pengguna ( lalai adalah tahun penuh 2023).
Ini adalah strategi perdagangan kuantitatif yang terstruktur dengan baik dengan logik yang jelas. Ia menjana isyarat perdagangan melalui persilangan MACD, digabungkan dengan penapisan masa dan pengurusan risiko untuk membentuk sistem perdagangan yang praktikal. Kebolehsesuaian strategi yang tinggi menjadikannya sesuai untuk pengoptimuman dan penyesuaian lanjut.
/*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")