
Strategi ini melakukan beberapa pengoptimalan terhadap indikator MACD klasik untuk menghasilkan sinyal perdagangan yang lebih akurat dan dapat diandalkan serta pengendalian risiko yang lebih ketat. Pengoptimalan utama meliputi: 1 memperkenalkan indikator RSI untuk menghindari overbought; 2 menambahkan konfirmasi volume transaksi; 3 mengatur stop loss; 4 mengoptimalkan kombinasi parameter.
Prinsip dasar masih merupakan indikator MACD yang cepat dan lambat, garpu berkas lebih banyak, garpu mati kosong. Pengoptimalan utama terwujud dalam:
Menggunakan indikator RSI untuk menghindari sinyal palsu jika pasar terlalu tinggi atau terlalu rendah. RSI dapat secara efektif mencerminkan tekanan jual beli pasar.
Dengan menambahkan jumlah transaksi, sinyal hanya akan dihasilkan jika volume transaksi meningkat, untuk menghindari terjadinya terobosan yang tidak efektif. Peningkatan volume transaksi dapat mengkonfirmasi kekuatan tren.
Sistem Stop Loss ini memungkinkan Anda untuk secara dinamis melacak pergerakan pasar dan mengontrol risiko dalam kisaran yang dapat ditanggung. Stop loss dapat secara efektif mengontrol kerugian tunggal. Stop loss dapat mengunci keuntungan dan menghindari laba laba.
Mengoptimalkan kombinasi MACD, menyesuaikan parameter untuk garis cepat dan lambat dan garis sinyal, mendapatkan kombinasi yang lebih baik, menghasilkan sinyal perdagangan yang lebih akurat.
Strategi ini memiliki beberapa keuntungan yang signifikan dari MACD yang dioptimalkan secara ganda:
Pengurangan produksi sinyal palsu, meningkatkan reliabilitas dan akurasi sinyal.
Sistem stop loss yang ketat mengontrol risiko perdagangan dan memaksimalkan keuntungan.
Parameter MACD telah disesuaikan secara optimal agar lebih sesuai dengan varietas dan periode waktu.
Kombinasi multi-indikator menghasilkan sinyal yang kuat, sistematis, dan beradaptasi dengan lingkungan pasar yang lebih luas.
Secara keseluruhan, rasio efisiensi dan risiko pendapatan meningkat secara signifikan.
Strategi ini juga memiliki beberapa risiko yang perlu diwaspadai:
Parameter yang dioptimalkan tidak selalu 100% cocok untuk semua varietas dan siklus, perlu disesuaikan dengan situasi yang sebenarnya.
Frekuensi produksi sinyal akan berkurang, dan ada beberapa risiko kehilangan sinyal.
Dalam situasi pasar yang ekstrem, beberapa indikator dapat memberikan sinyal konflik yang memerlukan penilaian manual.
Penutupan otomatis dapat terjadi terlalu dini dalam kasus lompatan cepat, membawa risiko tertentu pada keuntungan.
Pengendalian yang dilakukan adalah dengan memantau penilaian, menyesuaikan parameter sesuai dengan kondisi pasar, dan mengendalikan ukuran posisi.
Strategi ini dapat terus dioptimalkan dengan cara:
Uji kombinasi dari lebih banyak indikator, seperti pita Brin, KD, dan lain-lain, untuk menentukan kelompok indikator.
Menggunakan algoritma pembelajaran mesin untuk mengoptimalkan parameter secara otomatis dan membuatnya lebih cerdas.
Menambahkan strategi pengelolaan dana yang lebih ketat, seperti saham tetap, rumus Kelly, dll.
Mengembangkan strategi stop-loss otomatis, menyesuaikan stop-loss sesuai dengan tren dan fluktuasi.
Aplikasi algoritma canggih seperti Deep Learning memungkinkan prediksi yang lebih akurat.
Strategi ini melalui optimasi ganda dari indikator MACD asli, mengatasi kelemahan MACD yang mudah menghasilkan sinyal palsu dan kurangnya kontrol risiko. Kombinasi multi-indikator dan penggunaan stop loss membuat sinyal lebih akurat dan dapat diandalkan, kontrol risiko juga lebih ketat. Strategi ini layak dikembangkan dan diterapkan lebih lanjut, dan merupakan contoh dari perbaikan indikator MACD.
/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("优化版MACD交易策略 ", overlay=true)
// 输入参数
fastLength = input(16, "快速线周期")
slowLength = input(34, "慢速线周期")
signalSmoothing = input(10, "信号线平滑")
rsiPeriod = input(19, "RSI周期")
overboughtRsi = 70
oversoldRsi = 30
volumeAvgPeriod = input(13, "成交量平均周期")
stopLossPerc = input.float(10.5, "止损百分比", step=0.1)
takeProfitPerc = input.float(0.3, "止盈百分比", step=0.1)
// 计算指标
[macdLine, signalLine, _] = ta.macd(close, fastLength, slowLength, signalSmoothing)
rsi = ta.rsi(close, rsiPeriod)
volumeAvg = ta.sma(volume, volumeAvgPeriod)
// 交易信号
longCondition = ta.crossover(macdLine, signalLine) and macdLine > 0 and rsi < overboughtRsi and volume > volumeAvg
shortCondition = ta.crossunder(macdLine, signalLine) and macdLine < 0 and rsi > oversoldRsi and volume > volumeAvg
// 止损和止盈
longStopLossPrice = close * (1 - stopLossPerc / 100)
longTakeProfitPrice = close * (1 + takeProfitPerc / 100)
shortStopLossPrice = close * (1 + stopLossPerc / 100)
shortTakeProfitPrice = close * (1 - takeProfitPerc / 100)
// 执行交易
if longCondition
strategy.entry("买入", strategy.long)
strategy.exit("买入止损止盈", "买入", stop=longStopLossPrice, limit=longTakeProfitPrice)
if shortCondition
strategy.entry("卖出", strategy.short)
strategy.exit("卖出止损止盈", "卖出", stop=shortStopLossPrice, limit=shortTakeProfitPrice)