Strategi Pemisahan Momentum MACD

Penulis:ChaoZhang, Tarikh: 2023-10-20 17:12:31
Tag:

img

Ringkasan

Strategi Momentum Breakdown MACD terutamanya menggunakan gabungan penunjuk MACD dan penunjuk Momentum untuk menjana isyarat dagangan, yang tergolong dalam strategi trend-mengikut. Strategi ini mula-mula mengira EMA cepat dan EMA perlahan, kemudian mengira nilai MACD, dan seterusnya mengira garis isyarat MACD. Pada masa yang sama, ia mengira nilai momentum harga. Apabila nilai momentum melintasi tahap sifar bersama-sama dengan perbezaan MACD, ia menjana isyarat beli. Apabila nilai momentum melintasi tahap sifar bersama-sama dengan perbezaan MACD, ia menjana isyarat jual. Ini tergolong dalam mekanisme pengesahan berganda untuk menghasilkan isyarat perdagangan.

Logika Strategi

Strategi ini terutamanya berdasarkan gabungan penunjuk MACD dan Momentum.

Indikator MACD adalah penunjuk trend, yang terdiri daripada EMA pantas, EMA perlahan, dan histogram MACD. EMA pantas biasanya mempunyai parameter 12 hari, dan EMA perlahan mempunyai parameter 26 hari. Formula pengiraan adalah:

EMA pantas = EMA ((harga penutupan, 12)

EMA perlahan = EMA (harga penutupan, 26)

MACD = EMA pantas - EMA perlahan

Garis isyarat = EMA ((MACD, 9)

Apabila EMA cepat melintasi di atas EMA perlahan, ia bermakna trend menaik jangka pendek lebih kuat daripada trend jangka panjang, yang merupakan isyarat beli.

Indikator Momentum mencerminkan kelajuan pergerakan harga, dan formula penghitungannya adalah:

Momentum = Harga penutupan hari ini - Harga penutupan N hari yang lalu

Apabila harga penutupan hari ini meningkat di atas harga N hari yang lalu, nilai momentum adalah positif, menunjukkan aliran menaik. Apabila harga penutupan hari ini jatuh di bawah N hari yang lalu, nilai momentum adalah negatif, menunjukkan aliran menurun.

Strategi ini menggabungkan penunjuk MACD dengan penunjuk Momentum. Kriteria untuk menghasilkan isyarat perdagangan adalah: apabila perbezaan antara perbezaan MACD dan perbezaan momentum melintasi tahap sifar, ia menghasilkan isyarat beli, membentuk persilangan di atas sifar. Apabila perbezaan melintasi tahap sifar, ia menghasilkan isyarat jual, membentuk persilangan di bawah sifar. Ini tergolong dalam mekanisme pengesahan berganda untuk menghasilkan isyarat perdagangan, yang dapat menapis beberapa isyarat palsu dan mencapai trend berikut.

Analisis Kelebihan

Kelebihan strategi ini termasuk:

  1. Gabungan penunjuk MACD dan Momentum mencapai trend berikut, mengelakkan perdagangan yang tidak berkesan apabila harga aset hanya berayun tanpa arah yang jelas.

  2. Berdasarkan mekanisme pengesahan berganda, ia boleh menapis beberapa bunyi bising dan mengelakkan gangguan dari isyarat palsu.

  3. Parameter MACD boleh disesuaikan, yang boleh dioptimumkan untuk produk dan kitaran perdagangan yang berbeza, menjadikannya sangat mudah disesuaikan.

  4. Ia menggunakan kedua-dua mekanisme perdagangan beli dan jual untuk menangkap trend dalam kedua-dua arah.

  5. Strategi ini mudah difahami dengan lebih sedikit parameter, sesuai untuk pemula belajar.

Analisis Risiko

Strategi ini juga mempunyai beberapa risiko:

  1. Kedua-dua MACD dan Momentum tergolong dalam penunjuk trend. Mereka boleh menghasilkan perdagangan yang lebih tidak cekap apabila pasaran melihat turun naik yang ganas atau tidak mempunyai trend yang jelas.

  2. Walaupun gabungan penunjuk dua boleh menapis isyarat palsu, ia juga mungkin kehilangan beberapa peluang perdagangan. Parameter harus diselaraskan untuk mengimbangi risiko.

  3. Apabila trend kitaran utama berbalik, penunjuk MACD mungkin tertinggal, yang membawa kepada kerugian perdagangan.

  4. Frekuensi dagangan mungkin tinggi, yang memerlukan perhatian kepada pengurusan modal dan kawalan komisen.

  5. Parameter yang tidak betul boleh menyebabkan terlalu banyak kepekaan atau kelewatan.

Arahan pengoptimuman

Strategi ini boleh dioptimumkan dalam aspek berikut:

  1. Mengoptimumkan parameter MACD untuk mencari kombinasi parameter terbaik untuk produk perdagangan dan kitaran yang berbeza.

  2. Mengoptimumkan parameter tempoh penunjuk Momentum untuk mengimbangi kepekaan dan penapisan bunyi bising.

  3. Tambahkan mekanisme stop loss untuk mengawal kerugian maksimum setiap perdagangan.

  4. Tambah modul pengurusan kedudukan untuk mengukur saiz perdagangan mengikut trend.

  5. Tambah penapis seperti penunjuk ATR untuk mengelakkan perdagangan yang salah di pasaran yang bergolak.

  6. Menggabungkan penunjuk lain seperti Bollinger Bands dan RSI untuk membentuk isyarat perdagangan pelbagai pengesahan.

  7. Tambah gelung pengoptimuman untuk pengulangan dan pengoptimuman parameter berterusan.

Ringkasan

Strategi Momentum Breakdown MACD melaksanakan perdagangan mengikut trend menggunakan kekuatan indikator MACD dan Momentum. Mekanisme pengesahan berganda dapat menapis bunyi bising pasaran dengan berkesan dan mengelakkan perdagangan yang tidak cekap. Strategi ini agak mudah dan mudah difahami, terutama sesuai untuk pemula. Tetapi ketinggalan MACD dan risiko perdagangan yang tidak cekap semasa pasaran terhad julat harus diperhatikan.


/*backtest
start: 2022-10-13 00:00:00
end: 2023-10-19 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy(title="MACD MOMENTUM TEST", shorttitle="MACD MOM TEST")

// Getting inputs
fast_length = input(title="Fast Length", type=input.integer, defval=12)
slow_length = input(title="Slow Length", type=input.integer, defval=26)
len = input(title="Momentum", type=input.integer, defval=10)
src1 = input(title="Source MACD", type=input.source, defval=close)
src2 = input(title="Source MOMENTUM", type=input.source, defval=close)
signal_length = input(title="Signal Smoothing", type=input.integer, minval = 1, maxval = 50, defval = 14)
sma_source = input(title="Simple MA(Oscillator)", type=input.bool, defval=false)
sma_signal = input(title="Simple MA(Signal Line)", type=input.bool, defval=false)

// Plot colors
col_grow_above = #0c8e61
col_grow_below = #ffcdd2
col_fall_above = #b2dfdb
col_fall_below = #d42f28
col_macd = #ffffff
col_signal = #d42f28
col_mom = #fbc02d

// Calculating
fast_ma = sma_source ? sma(src1, fast_length) : ema(src1, fast_length)
slow_ma = sma_source ? sma(src1, slow_length) : ema(src1, slow_length)
macd = fast_ma - slow_ma
signal = sma_signal ? sma(macd, signal_length) : ema(macd, signal_length)
hist = macd - signal
mom = src2 - src2[len]


ma(s,l) => ema(s,l)
sema = ma( src1, fast_length )
lema = ma( src1, slow_length )
i1 = sema + mom + ma( src1 - sema, fast_length )
i2 = lema + mom + ma( src1 - lema, slow_length )
macdl = i1 - i2
macd1 =sema - lema

delta = mom - macd1

// Strategy
    // Backtest
FromYear  = input(defval = 2001, title = "From Year", minval = 2009)
FromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
FromDay   = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
ToYear    = input(defval = 9999, title = "To Year", minval = 2009)
ToMonth   = input(defval = 12, title = "To Month", minval = 1, maxval = 12)
ToDay     = input(defval = 31, title = "To Day", minval = 1, maxval = 31)

    // Function exampel
start     = timestamp(FromYear, FromMonth, FromDay, 00, 00)  // backtest start window
finish    = timestamp(ToYear, ToMonth, ToDay, 23, 59)        // backtest finish window
window()  => time >= start and time <= finish ? true : false // create function "within window of time"

if (crossover(delta, 0))
    strategy.entry("Buy", true, when=window(), comment="Buy")

if (crossunder(delta, 0))
    strategy.close_all(when=window())

// Plot
//plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)
plot(hist, title="Histogram", style=plot.style_histogram, color=(hist>=0 ? (hist[1] < hist ? col_grow_above : col_fall_above) : (hist[1] < hist ? col_grow_below : col_fall_below) ), transp=0 )
plot(macd, title="MACD", color=col_macd, transp=0)
plot(signal, title="Signal", color=col_signal, transp=0)
plot(mom, color=col_mom, title="Mom")






Lebih lanjut