Strategi Dagangan MACD berasaskan EVWMA

Penulis:ChaoZhang, Tarikh: 2024-01-22 10:50:25
Tag:

img

Ringkasan

Strategi ini adalah strategi perdagangan MACD berdasarkan Elastic Volume Weighted Moving Average (EVWMA). Ia menggunakan kelebihan EVWMA dan merancang strategi dengan isyarat perdagangan yang jelas dan kepraktisan yang kuat.

Prinsip-prinsip

Indikator EVWMA menggabungkan maklumat jumlah ke dalam pengiraan purata bergerak, yang membolehkan purata bergerak untuk mencerminkan perubahan harga dengan lebih tepat. Pengiraan garis pantas dan garis perlahan dalam strategi ini kedua-duanya berdasarkan EVWMA. Tetapan parameter baris pantas lebih sensitif untuk menangkap turun naik harga jangka pendek; tetapan parameter baris perlahan lebih kukuh untuk menapis beberapa bunyi bising. MACD yang dibentuk oleh dua EVWMA mencetuskan isyarat panjang dan pendek pada persilangan, dan histogram memberikan isyarat perdagangan yang ditingkatkan secara visual.

Analisis Kelebihan

Kelebihan terbesar strategi ini ialah dengan memanfaatkan kuasa penunjuk EVWMA, tetapan parameter strategi MACD menjadi lebih stabil dan isyarat perdagangan menjadi lebih jelas. Berbanding dengan purata bergerak mudah, EVWMA dapat memahami perubahan trend pasaran dengan lebih baik. Ini menjadikan strategi lebih mudah disesuaikan untuk berfungsi dengan stabil di pelbagai persekitaran pasaran.

Analisis Risiko

Risiko utama strategi ini adalah bahawa MACD sendiri mempunyai kelewatan tertentu dan tidak dapat menangkap pembalikan harga dengan segera. Di samping itu, tetapan parameter EVWMA juga mempengaruhi prestasi strategi. Jika parameter garis cepat dan perlahan tidak ditetapkan dengan betul, isyarat perdagangan akan kacau, mempengaruhi keuntungan.

Untuk mengurangkan risiko, parameter harus diselaraskan dengan sewajarnya untuk mempunyai perbezaan sederhana antara garis cepat dan perlahan. Histogram dapat membantu menilai sama ada penyesuaian parameter diperlukan. Di samping itu, strategi stop loss juga boleh direka untuk mengelakkan kerugian tunggal yang terlalu besar.

Arahan pengoptimuman

Aspek utama untuk mengoptimumkan strategi ini termasuk:

  1. Menggunakan teknik penetapan parameter penyesuaian untuk menyesuaikan parameter EVWMA secara automatik mengikut keadaan pasaran untuk memastikan kejelasan isyarat.

  2. Meningkatkan mekanisme stop loss untuk mengawal kerugian tunggal dengan berkesan.

  3. Masukkan penunjuk lain untuk menapis isyarat palsu. Sebagai contoh, menggabungkan dengan jumlah untuk hanya mencetuskan isyarat semasa perubahan harga yang ketara.

  4. Mengoptimumkan pemilihan titik masuk. Pada masa ini strategi membuka kedudukan pada persimpangan garis sifar MACD. Ujian jika menggunakan perbezaan lebih baik dapat diperiksa.

Kesimpulan

Strategi ini menggunakan kelebihan penunjuk EVWMA untuk membina strategi MACD yang mudah dan praktikal. Ia mempunyai kestabilan dan kesesuaian yang lebih baik. Pada masa yang sama, ia juga mempunyai masalah lag yang melekat pada MACD. Kita boleh meningkatkan kekuatan strategi melalui pengoptimuman parameter adaptif, reka bentuk stop loss, penapisan isyarat dan aspek lain.


/*backtest
start: 2023-01-15 00:00:00
end: 2024-01-21 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("QuantNomad - EVWMA MACD Strategy", shorttitle = "EVWMA MACD", overlay = false)

// Inputs
fast_sum_length = input(10, title = "Fast Sum Length",  type = input.integer)
slow_sum_length = input(20, title = "Slow Sum Length",  type = input.integer)
signal_length   = input(9,  title = "Signal Smoothing", type = input.integer, minval = 1, maxval = 50)

// Calculate Volume Period
fast_vol_period = sum(volume, fast_sum_length)
slow_vol_period = sum(volume, slow_sum_length)

// Calculate EVWMA
fast_evwma = 0.0
fast_evwma := ((fast_vol_period - volume) * nz(fast_evwma[1], close) + volume * close) / (fast_vol_period)

// Calculate EVWMA
slow_evwma = 0.0
slow_evwma := ((slow_vol_period - volume) * nz(slow_evwma[1], close) + volume * close) / (slow_vol_period)

// Calculate MACD
macd   = fast_evwma - slow_evwma
signal = ema(macd, signal_length)
hist   = macd - signal

// Plot 
plot(hist,   title = "Histogram", style = plot.style_columns, color=(hist>=0 ? (hist[1] < hist ? #26A69A : #B2DFDB) : (hist[1] < hist ? #FFCDD2 : #EF5350) ), transp=0 )
plot(macd,   title = "MACD",      color = #0094ff, transp=0)
plot(signal, title = "Signal",    color = #ff6a00, transp=0)

// Strategy
strategy.entry("Long",   true, when = crossover(fast_evwma, slow_evwma))
strategy.entry("Short", false, when = crossunder(fast_evwma, slow_evwma))

Lebih lanjut