Strategi Dagangan Gabungan Purata Bergerak Berganda dan MACD

Penulis:ChaoZhang, Tarikh: 2024-02-29 11:31:48
Tag:

img

Ringkasan

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.

Logika Strategi

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 salib emas dengan garis DEA yang dikekalkan selama beberapa tempoh untuk mengesahkan trend menaik; sebaliknya, apabila isyarat jual dicetuskan, salib mati diikuti oleh trend menurun selama beberapa tempoh perlu diperhatikan. Ini menapis perdagangan bising dan mengelakkan membuka kedudukan dengan kerap semasa penyatuan pasaran.

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.

Analisis Kelebihan

  • Purata bergerak berganda secara berkesan mengenal pasti arah perdagangan dan mengelakkan gangguan bunyi pasaran
  • Pengesahan MACD memastikan trend yang ditetapkan dan menghalang pembukaan kedudukan yang kerap semasa penyatuan
  • Strategi stop loss yang ketat mengunci keuntungan sejauh mungkin dan mengawal risiko pasaran
  • Parameter yang boleh diselaraskan yang membolehkan pengoptimuman berdasarkan ciri pasaran dan produk

Analisis Risiko

  • Pemilihan parameter MACD yang tidak betul mungkin terlepas daripada trend yang lebih pendek atau campur tangan terlalu kerap
  • Parameter purata bergerak perlu diuji untuk optimum setiap produk
  • Stop loss boleh ditembusi di pasaran yang kuat yang menyebabkan kerugian tertentu

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.

Arahan pengoptimuman

Pengoptimuman lanjut boleh diteruskan dalam arah berikut untuk strategi ini:

  1. Memperkenalkan algoritma purata bergerak adaptif. kombinasi purata bergerak tempoh dinamik menyesuaikan diri secara automatik dengan pasaran tanpa keperluan penyesuaian parameter manual.

  2. 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.

  3. Tambah penapis tambahan. Penunjuk teknikal lain boleh diperkenalkan di atas isyarat semasa sebagai standard penilaian tambahan, seperti mengintegrasikan faktor jumlah.

  4. 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.

Ringkasan

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)


Lebih lanjut