Strategi perdagangan gabungan purata bergerak dan MACD berganda adalah strategi perdagangan kuantitatif yang menggunakan kedua-dua purata bergerak dan penunjuk momentum untuk penjanaan dan pengesahan isyarat perdagangan. Dengan menggabungkan keupayaan mengikuti trend purata bergerak dan ciri momentum MACD, strategi ini dapat dengan berkesan menangkap kontur trend pasaran melalui penetapan kriteria kemasukan dan keluar yang ketat, sambil mengelakkan risiko julat keuntungan yang sempit atau turun naik pasaran yang boleh menyebabkan keuntungan yang berkurangan atau bahkan kerugian.
Strategi ini menggunakan gabungan purata bergerak mudah (SMA) 20 tempoh dan purata bergerak eksponensial 5 tempoh (EMA). SMA 20 tempoh dapat meratakan turun naik pasaran dengan berkesan dan menentukan trend harga pertengahan hingga jangka panjang, sementara EMA 5 tempoh memberikan berat yang lebih tinggi kepada harga baru-baru ini dan bertindak balas dengan sensitif terhadap perubahan harga jangka pendek. Isyarat beli dihasilkan apabila harga melintasi di atas garis 5 tempoh sementara di atas garis 20 tempoh, dan isyarat jual dihasilkan apabila harga melintasi di bawah garis 5 tempoh sementara di bawah garis 20 tempoh. Gabungan purata bergerak berganda sedemikian memastikan isyarat perdagangan mengikuti trend utama sambil meningkatkan kepekaan dan ketepatan masa isyarat melalui pengenalan purata bergerak jangka pendek.
Selepas isyarat perdagangan dihasilkan, penunjuk MACD diperkenalkan untuk mengesahkan trend. Khususnya, apabila isyarat beli dicetuskan, garis MACD DIFF perlu melihat
Akhirnya, tahap stop-loss yang munasabah ditetapkan untuk kedua-dua kedudukan panjang dan pendek. Garis stop-loss panjang ditetapkan di bawah titik terendah sejak kemasukan, sementara garis stop-loss pendek ditetapkan di atas titik tertinggi sejak kemasukan. Tahap stop loss dikemas kini secara dinamik dengan turun naik harga. Kaedah stop loss sedemikian mengunci keuntungan sejauh mungkin dan menghalang kerugian yang tidak dapat diterima sekiranya berlaku pembalikan pasaran yang serius.
Parameter MACD boleh diselaraskan untuk kerjasama yang lebih baik. Juga, parameter purata pergerakan tempoh memerlukan pengoptimuman mengikut ciri produk. Akhirnya, julat stop loss boleh dilepaskan dengan munasabah untuk membenarkan pelepasan keuntungan penuh untuk pergerakan arah utama.
Pengoptimuman lanjut boleh diteruskan dalam arah berikut untuk strategi ini:
Memperkenalkan algoritma purata bergerak adaptif. kombinasi purata bergerak tempoh dinamik menyesuaikan diri secara automatik dengan pasaran tanpa keperluan penyesuaian parameter manual.
Menggabungkan model pembelajaran mesin. Algoritma seperti pembelajaran mendalam boleh mengenal pasti ciri pasaran produk yang berbeza secara automatik dan output tetapan parameter optimum dalam masa nyata.
Tambah penapis tambahan. Penunjuk teknikal lain boleh diperkenalkan di atas isyarat semasa sebagai standard penilaian tambahan, seperti mengintegrasikan faktor jumlah.
Mengoptimumkan strategi stop loss. Teknik stop loss yang lebih pintar seperti stop loss pecah dan rintangan stop loss harus diteliti, untuk mendapatkan ganjaran yang lebih besar sambil mengawal risiko.
Strategi gabungan purata bergerak berganda dan MACD secara komprehensif mempertimbangkan aspek seperti trend, momentum, kawalan risiko di luar batasan penunjuk teknikal tunggal, dan dapat meningkatkan kestabilan perdagangan kuantitatif dengan berkesan. Strategi ini menyesuaikan diri dengan baik dengan persekitaran pasaran yang berbeza melalui penyesuaian parameter dan sangat bernilai aplikasi langsung dan pengoptimuman berterusan. Sementara itu, ruang yang besar masih terdapat dalam menggabungkan teknik yang lebih pintar untuk pengoptimuman automatik dan kecekapan strategi yang memaksimumkan.
/*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)