
Strategi MACD monopoli momentum adalah menggunakan kombinasi indikator MACD dan indikator momentum untuk membentuk isyarat perdagangan, dan ia adalah strategi trend-following. Strategi ini pertama-tama mengira EMA garis cepat dan EMA garis lambat, kemudian mengira nilai MACD, dan kemudian mengira isyarat MACD.
Strategi ini adalah berasaskan kepada penggunaan gabungan MACD dan indikator momentum.
Penunjuk MACD adalah penunjuk jenis trend yang terdiri daripada EMA garis cepat, EMA garis perlahan dan MACD. Parameter EMA garis cepat biasanya 12 hari, EMA garis perlahan 26 hari, dan formula pengiraan adalah:
Garis pantas EMA = EMA ((harga penutupan, 12)
Garis perlahan EMA = EMA ((harga penutupan, 26)
MACD = EMA garis pantas - EMA garis perlahan
Garis isyarat = EMA ((MACD,9)
Apabila garis cepat melintasi garis perlahan, menunjukkan momentum kenaikan jangka pendek lebih kuat daripada jangka panjang, sebagai isyarat masuk; apabila garis cepat melintasi garis perlahan, menunjukkan momentum penurunan jangka panjang lebih kuat daripada jangka pendek, sebagai isyarat keluar.
Penunjuk momentum adalah penunjuk teknikal yang mencerminkan kelajuan perubahan harga saham, yang dikira dengan formula:
Nilai dinamik = harga penutupan hari ini - harga penutupan N hari lalu
Di mana N biasanya mengambil 10. Apabila harga penutupan hari ini meningkat lebih daripada N hari yang lalu, nilai dinamik adalah positif, saham berada dalam trend naik; Apabila harga penutupan hari ini jatuh lebih rendah daripada N hari yang lalu, nilai dinamik adalah negatif, saham berada dalam trend menurun.
Strategi ini menggunakan gabungan indikator MACD dan indikator momentum untuk membentuk isyarat perdagangan. Kriteria untuk menentukan isyarat perdagangan adalah: apabila perbezaan nilai MACD dan perbezaan nilai momentum melintasi sumbu sifar menghasilkan isyarat membeli, membentuk silang di atas sumbu sifar; apabila perbezaan nilai MACD dan perbezaan nilai momentum melintasi sumbu sifar menghasilkan isyarat menjual, membentuk silang di bawah sumbu sifar.
Strategi ini mempunyai kelebihan berikut:
Kombinasi indikator MACD dengan indikator momentum, mewujudkan trend yang mengikuti, mengelakkan perdagangan yang tidak berkesan berlaku apabila harga aset hanya mempunyai kejutan yang tidak mempunyai arah.
Mekanisme pengesahan dua kali menghasilkan isyarat dagangan, yang boleh menapis beberapa bunyi bising dan mengelakkan gangguan isyarat palsu.
Parameter penunjuk MACD boleh disesuaikan, parameter boleh dioptimumkan mengikut pelbagai jenis dan kitaran perdagangan, beradaptasi kuat.
Ia menggunakan mekanisme perdagangan dua hala untuk membeli dan menjual, yang membolehkan trend ditangkap dua hala.
Strategi mudah difahami, parameter yang lebih sedikit, sesuai untuk pelajar pemula.
Strategi ini mempunyai beberapa risiko:
MACD dan penunjuk momentum adalah penunjuk jenis trend, yang mungkin menghasilkan lebih banyak dagangan yang tidak berkesan apabila pasaran mengalami turun naik yang kuat atau tidak ada trend yang jelas.
Portfolio indeks berganda, walaupun dapat menyaring isyarat palsu, juga mungkin kehilangan peluang perdagangan, parameter harus disesuaikan dengan betul untuk mengimbangi risiko.
Apabila trend kitaran besar berbalik, indikator MACD akan mengalami kemunduran, yang menyebabkan kerugian perdagangan.
Frekuensi dagangan mungkin tinggi, perlu berhati-hati dengan pengurusan dana dan kawalan yuran.
Parameter yang tidak betul boleh menyebabkan terlalu sensitif atau terlalu ketinggalan, yang memerlukan ujian dan pengoptimuman yang berterusan mengikut keadaan pasaran.
Strategi ini boleh dioptimumkan dengan:
Mengoptimumkan parameter untuk penunjuk MACD, mencari kombinasi parameter yang optimum mengikut pelbagai jenis perdagangan dan kitaran.
Mengoptimumkan parameter harian untuk penunjuk dinamik, keseimbangan sensitiviti dengan penapis bunyi.
Menambah mekanisme hentikan kerugian untuk mengawal kerugian maksimum dalam satu transaksi.
Menambah modul pengurusan kedudukan untuk membolehkan skala dagangan mengikut trend.
Menambah penapis seperti penunjuk kepekatan untuk mengelakkan perdagangan yang salah dalam keadaan bengkok.
Gabungan dengan penunjuk lain, seperti Bollinger Bands, RSI dan lain-lain membentuk isyarat perdagangan yang disahkan secara berganda.
Tambahkan kitaran pengoptimuman supaya parameter dapat terus diulang dan dioptimumkan.
Strategi MACD monopoli momentum menggunakan indikator MACD dan indikator momentum Strengths yang membolehkan perdagangan mengikuti trend. Mekanisme pengesahan ganda yang berkesan dapat memadamkan bunyi pasaran dan mengelakkan perdagangan yang tidak sah. Strategi ini lebih mudah digunakan, mudah difahami, dan sangat sesuai untuk pelajar pemula.
/*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")