Strategi perdagangan MACD berdasarkan EVWMA

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

img

Gambaran umum

Strategi ini adalah strategi perdagangan MACD berdasarkan Elastic Volume Weighted Moving Average (EVWMA).

Prinsip-prinsip

Indikator EVWMA menggabungkan informasi volume ke dalam perhitungan rata-rata bergerak, yang memungkinkan rata-rata bergerak untuk lebih akurat mencerminkan perubahan harga. Perhitungan garis cepat dan garis lambat dalam strategi ini keduanya didasarkan pada EVWMA. Pengaturan parameter garis cepat lebih sensitif untuk menangkap fluktuasi harga jangka pendek; pengaturan parameter garis lambat lebih kuat untuk menyaring beberapa kebisingan. MACD yang dibentuk oleh dua EVWMA memicu sinyal panjang dan pendek pada crossover, dan histogram memberikan permintaan perdagangan yang ditingkatkan secara visual.

Analisis Keuntungan

Keuntungan terbesar dari strategi ini adalah bahwa dengan memanfaatkan kekuatan indikator EVWMA, pengaturan parameter strategi MACD menjadi lebih stabil dan sinyal perdagangan menjadi lebih jelas. Dibandingkan dengan rata-rata bergerak sederhana, EVWMA dapat lebih memahami perubahan tren pasar. Ini membuat strategi lebih mudah beradaptasi untuk bekerja stabil di berbagai lingkungan pasar.

Analisis Risiko

Risiko utama dari strategi ini adalah bahwa MACD sendiri memiliki keterlambatan tertentu dan tidak dapat dengan cepat menangkap pembalikan harga. Selain itu, pengaturan parameter EVWMA juga mempengaruhi kinerja strategi. Jika parameter garis cepat dan lambat tidak ditetapkan dengan benar, sinyal perdagangan akan kacau, mempengaruhi profitabilitas.

Untuk mengurangi risiko, parameter harus disesuaikan dengan tepat untuk memiliki perbedaan moderat antara garis cepat dan lambat. histogram dapat membantu menilai apakah perlu penyesuaian parameter. Selain itu, strategi stop loss juga dapat dirancang untuk menghindari kerugian tunggal yang terlalu besar.

Arahan Optimasi

Aspek utama untuk mengoptimalkan strategi ini meliputi:

  1. Menggunakan teknik pengaturan parameter adaptif untuk menyesuaikan parameter EVWMA secara otomatis sesuai dengan kondisi pasar untuk memastikan kejelasan sinyal.

  2. Meningkatkan mekanisme stop loss untuk mengontrol kerugian tunggal secara efektif.

  3. Masukkan indikator lain untuk menyaring sinyal palsu. misalnya, gabungkan dengan volume untuk hanya memicu sinyal selama perubahan harga yang signifikan.

  4. Optimalkan pilihan titik masuk. Saat ini strategi membuka posisi pada penyeberangan garis nol MACD. Pengujian apakah menggunakan divergensi berkinerja lebih baik dapat diperiksa.

Kesimpulan

Strategi ini memanfaatkan keuntungan dari indikator EVWMA untuk membangun strategi MACD yang sederhana dan praktis. Ini memiliki stabilitas dan kemampuan beradaptasi yang lebih baik. Pada saat yang sama, ini juga memiliki masalah lag yang melekat pada MACD. Kita dapat meningkatkan kekuatan strategi melalui optimasi parameter adaptif, desain stop loss, penyaringan sinyal dan aspek lainnya.


/*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 banyak