Strategi perdagangan kombinasi rata-rata bergerak ganda dan MACD adalah strategi perdagangan kuantitatif yang memanfaatkan rata-rata bergerak dan indikator momentum untuk generasi dan validasi sinyal perdagangan. Dengan menggabungkan kemampuan mengikuti tren rata-rata bergerak dan karakteristik momentum MACD, strategi ini dapat secara efektif menangkap kontur tren pasar melalui penetapan kriteria masuk dan keluar yang ketat, sambil menghindari risiko rentang keuntungan yang sempit atau fluktuasi pasar yang dapat menyebabkan penurunan keuntungan atau bahkan kerugian.
Strategi ini menggunakan kombinasi dari rata-rata bergerak sederhana 20 periode (SMA) dan rata-rata bergerak eksponensial 5 periode (EMA). SMA 20 periode dapat meratakan fluktuasi pasar secara efektif dan menentukan tren harga jangka menengah hingga panjang, sementara EMA 5 periode memberikan bobot yang lebih tinggi pada harga baru-baru ini dan bereaksi secara sensitif terhadap perubahan harga jangka pendek. Sinyal beli dihasilkan ketika harga melintasi di atas garis 5 periode sementara di atas garis 20 periode, dan sinyal jual dihasilkan ketika harga melintasi di bawah garis 5 periode sementara di bawah garis 20 periode. Kombinasi rata-rata bergerak ganda seperti itu memastikan sinyal perdagangan mengikuti tren utama sambil meningkatkan sensitivitas dan ketepatan waktu sinyal melalui pengenalan rata-rata bergerak jangka pendek.
Setelah sinyal perdagangan dihasilkan, indikator MACD diperkenalkan untuk memvalidasi tren. Secara khusus, ketika sinyal beli dipicu, garis MACD DIFF perlu melihat
Akhirnya, tingkat stop-loss yang wajar ditetapkan untuk posisi panjang dan pendek. Garis stop-loss panjang ditetapkan di bawah titik terendah sejak masuk, sementara garis stop-loss pendek ditetapkan di atas titik tertinggi sejak masuk. Tingkat stop loss diperbarui secara dinamis dengan fluktuasi harga. Metode stop loss tersebut mengunci keuntungan sejauh mungkin dan mencegah kerugian yang tidak dapat diterima jika terjadi pembalikan pasar yang serius.
Parameter MACD dapat disesuaikan untuk kerja sama yang lebih baik. Juga, parameter periode rata-rata bergerak perlu dioptimalkan sesuai dengan karakteristik produk. Akhirnya, rentang stop loss dapat dilonggarkan secara wajar untuk memungkinkan pembebasan keuntungan penuh untuk pergerakan arah utama.
Optimalisasi lebih lanjut dapat dilakukan dalam arah berikut untuk strategi ini:
Memperkenalkan algoritma rata-rata bergerak adaptif. kombinasi rata-rata bergerak periode dinamis secara otomatis beradaptasi dengan pasar tanpa perlu penyesuaian parameter manual.
Mengintegrasikan model pembelajaran mesin Algoritma seperti pembelajaran mendalam dapat secara otomatis mengidentifikasi karakteristik pasar dari produk yang berbeda dan output pengaturan parameter optimal secara real time.
Tambahkan filter tambahan. Indikator teknis lainnya dapat diperkenalkan di atas sinyal arus sebagai standar penilaian tambahan, seperti mengintegrasikan faktor volume.
Optimalkan strategi stop loss. Teknik stop loss yang lebih cerdas seperti stop loss breakout dan stop loss pelacakan harus diteliti, untuk mendapatkan imbalan yang lebih besar sambil mengendalikan risiko.
Strategi kombinasi rata-rata bergerak ganda dan MACD secara komprehensif mempertimbangkan aspek seperti tren, momentum, pengendalian risiko di luar batasan indikator teknis tunggal, dan dapat secara efektif meningkatkan stabilitas perdagangan kuantitatif. Strategi ini beradaptasi dengan baik dengan lingkungan pasar yang berbeda melalui penyesuaian parameter dan sangat layak diterapkan secara langsung dan terus dioptimalkan. Sementara itu, masih ada ruang yang cukup dalam menggabungkan teknik yang lebih cerdas untuk optimasi otomatis dan memaksimalkan efektivitas strategi.
/*backtest start: 2024-01-01 00:00:00 end: 2024-01-31 23:59:59 period: 2h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Bollinger Band Strategy with Early Signal (v5)", overlay=true) // Inputs length = 20 mult = 1.5 src = close riskRewardRatio = input(3.0, title="Risk-Reward Ratio") // Calculating Bollinger Bands basis = ta.ema(src, length) dev = mult * ta.stdev(src, length) upper = basis + dev lower = basis - dev // Plotting Bollinger Bands plot(upper, "Upper Band", color=color.red) plot(lower, "Lower Band", color=color.green) // Tracking Two Candles Ago Crossing Bollinger Bands var float twoCandlesAgoUpperCrossLow = na var float twoCandlesAgoLowerCrossHigh = na if (close[2] > upper[2]) twoCandlesAgoUpperCrossLow := low[2] if (close[2] < lower[2]) twoCandlesAgoLowerCrossHigh := high[2] // Entry Conditions longCondition = (not na(twoCandlesAgoLowerCrossHigh)) and (high > twoCandlesAgoLowerCrossHigh) shortCondition = (not na(twoCandlesAgoUpperCrossLow)) and (low < twoCandlesAgoUpperCrossLow) // Plotting Entry Points plotshape(longCondition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY") plotshape(shortCondition, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL") // Strategy Execution if (longCondition) stopLoss = low - (high - low) * 0.05 takeProfit = close + (close - stopLoss) * riskRewardRatio strategy.entry("Buy", strategy.long) strategy.exit("Exit Buy", "Buy", stop=stopLoss, limit=takeProfit) if (shortCondition) stopLoss = high + (high - low) * 0.05 takeProfit = close - (stopLoss - close) * riskRewardRatio strategy.entry("Sell", strategy.short) strategy.exit("Exit Sell", "Sell", stop=stopLoss, limit=takeProfit)