Strategi ini mengoptimumkan penunjuk MACD klasik dengan pelbagai cara untuk menjana isyarat perdagangan yang lebih tepat dan boleh dipercayai dan mencapai kawalan risiko yang lebih ketat. pengoptimuman utama termasuk: 1memperkenalkan penunjuk RSI untuk mengelakkan overbuy/overselling; 2menambah pengesahan jumlah; 3menetapkan stop loss dan mengambil keuntungan; 4mengoptimumkan kombinasi parameter.
Prinsip asas masih menggunakan salib emas MACD untuk panjang dan salib kematian untuk pendek.
Memperkenalkan penunjuk RSI untuk mengelakkan penjanaan isyarat palsu apabila pasaran terlalu dinilai atau dinilai rendah.
Menambah penghakiman jumlah, isyarat hanya dihasilkan apabila jumlah dagangan meningkat, mengelakkan pecah yang tidak sah.
Menetapkan mekanisme stop loss dan mengambil keuntungan yang dapat menjejaki turun naik pasaran secara dinamik dan mengawal risiko dalam julat yang dapat ditanggung. Stop loss dapat dengan berkesan mengehadkan kerugian setiap perdagangan; mengambil kunci keuntungan dalam keuntungan dan mengelakkan penyesuaian keuntungan.
Mengoptimumkan kombinasi parameter MACD untuk mendapatkan portfolio parameter yang lebih baik dan menjana isyarat perdagangan yang lebih tepat.
Strategi MACD yang dioptimumkan pelbagai ini mempunyai kelebihan penting berikut:
Meningkatkan kebolehpercayaan isyarat dan ketepatan dengan mengurangkan isyarat palsu.
Mekanisme Stop Loss dan Take Profit yang ketat mengawal risiko perdagangan dan mengunci keuntungan sejauh mungkin.
Parameter MACD dioptimumkan dan lebih sesuai untuk produk dan jangka masa yang berbeza.
Isyarat yang dijana daripada pelbagai kombinasi penunjuk mempunyai ketahanan dan kebolehan menyesuaikan diri dengan persekitaran pasaran yang lebih luas.
Kecekapan modal secara keseluruhan dan nisbah faedah risiko meningkat dengan ketara.
Beberapa risiko strategi ini juga perlu dicegah:
Parameter yang dioptimumkan mungkin tidak sesuai 100% untuk semua produk dan tempoh, yang memerlukan penyesuaian situasi.
Kekerapan penjanaan isyarat akan berkurangan, mengakibatkan beberapa risiko perdagangan yang hilang.
Isyarat yang bertentangan mungkin muncul dari beberapa penunjuk dalam keadaan pasaran yang melampau, yang memerlukan penilaian manual.
Stop loss automatik boleh berhenti sebelum waktunya dalam senario jurang yang cepat, menimbulkan beberapa risiko kepada keuntungan.
Langkah-langkah balas adalah terutamanya pemantauan dan penilaian manual, menyesuaikan parameter mengikut keadaan pasaran apabila perlu, dan mengawal saiz kedudukan.
Strategi ini boleh dioptimumkan lagi dalam aspek berikut:
Uji lebih banyak kombinasi penunjuk seperti Bollinger Bands, KD untuk membentuk penilaian kumpulan.
Gunakan algoritma pembelajaran mesin untuk mengoptimumkan parameter secara automatik untuk kecerdasan yang lebih tinggi.
Memperkenalkan strategi pengurusan wang yang lebih ketat seperti pecahan tetap, formula Kelly dll.
Membangunkan strategi mengambil keuntungan automatik untuk menyesuaikan mata mengambil keuntungan berdasarkan trend dan turun naik.
Gunakan algoritma canggih seperti pembelajaran mendalam untuk ramalan yang lebih tepat.
Dengan pengoptimuman pelbagai dimensi penunjuk MACD asal, strategi ini menyelesaikan masalah kecenderungan MACD untuk menghasilkan isyarat palsu dan kawalan risiko yang tidak mencukupi. Penggunaan pelbagai penunjuk digabungkan dengan stop loss dan mengambil keuntungan menjadikan isyarat lebih tepat dan boleh dipercayai, dan kawalan risiko juga lebih ketat. Strategi ini layak pembangunan dan penerapan lanjut, dan merupakan paradigma peningkatan penunjuk 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)