Strategi persilangan MACD


Tarikh penciptaan: 2023-12-13 16:58:15 Akhirnya diubah suai: 2023-12-13 16:58:15
Salin: 0 Bilangan klik: 744
1
fokus pada
1621
Pengikut

Strategi persilangan MACD

Gambaran keseluruhan

Strategi penyebaran silang MACD membentuk MACD dengan mengira perbezaan antara purata bergerak cepat dan purata bergerak perlahan, dan kemudian mengira purata bergerak MACD membentuk garis penyebaran, menghasilkan isyarat perdagangan apabila MACD melintasi atau melintasi garis penyebaran. Strategi ini menggabungkan pemikiran dua baris, menangkap titik-titik perubahan dalam trend jangka menengah harga saham, dan merupakan strategi penarikan khas.

Prinsip Strategi

Strategi ini mula-mula mengira rata-rata bergerak cepat (fastMA) dan rata-rata bergerak perlahan (slowMA). Parameter rata-rata bergerak cepat adalah 12 hari dan parameter rata-rata bergerak perlahan adalah 26 hari.

Kelebihan strategi adalah menangkap titik perubahan trend harga saham pertengahan. Gabungan garis rata-rata perlahan-lahan menapis bunyi pergerakan harga jangka pendek, dan dapat menangkap trend harga pertengahan. MACD akan menembusi garis penghantaran apabila harga saham pertengahan bertukar, menghasilkan isyarat perdagangan yang lebih jelas.

Analisis kelebihan

Strategi penyambungan penyebaran MACD menggabungkan pemikiran dua garis sejajar, menggunakan gabungan purata bergerak cepat dan purata bergerak perlahan untuk menyaring kebisingan jangka pendek dan hanya menangkap titik-titik perubahan trend jangka panjang dan pertengahan dalam harga saham. Ia menghasilkan kurang isyarat palsu berbanding dengan satu petunjuk harga.

MACD sendiri lebih sensitif dan dapat mencerminkan trend perubahan harga. Penambahan garis penghantaran dapat menyaring lebih banyak isyarat palsu jangka pendek. Isyarat hanya akan dihasilkan apabila trend pertengahan berubah dengan jelas dan MACD menembusi garis penghantaran ke atas dan ke bawah.

Dalam kenaikan yang berterusan, MACD dapat bertahan lebih tinggi daripada garis penghantaran, dan dapat menangkap peluang berganda secara beransur-ansur. Pada masa yang sama, dalam penurunan yang berterusan, MACD juga dapat mengekalkan format berganda, dan memberi isyarat berganda tepat pada masanya.

Analisis risiko

Oleh kerana isyarat titik beli dan jual strategi bergantung sepenuhnya pada persilangan rata-rata bergerak, lebih banyak isyarat palsu akan dihasilkan jika pasaran bergolak, yang menyebabkan kehilangan berhenti yang kerap. Strategi sebenarnya tidak menguntungkan.

Penembusan garis penghantaran harga saham tidak dapat memastikan bahawa trend pertengahan akan berubah. Dengan hanya satu petunjuk teknikal sebagai isyarat tempat membeli, ada kebutaan tertentu, dan pilihan masa mungkin tidak tepat.

Dalam pasaran yang berubah-ubah, lebih banyak peluang perdagangan mungkin terlepas dengan hanya menggunakan crossover indikator garis rata ganda sebagai titik penamat. Dalam keadaan yang lebih kompleks, strategi ini juga akan menghasilkan ketidakselesaan yang jelas.

Arah pengoptimuman

  1. Meningkatkan indikator penapisan kecairan dan turun naik, mengurangkan frekuensi pembukaan kedudukan, mengelakkan perdagangan yang tidak berkesan. Seperti meningkatkan jumlah transaksi, menyesuaikan parameter purata bergerak secara dinamik, dan sebagainya.

  2. Gabungan dengan pelbagai petunjuk teknikal lain, membentuk kumpulan petunjuk, meningkatkan kualiti isyarat. Indikator jangka pendek digabungkan dengan indikator jangka menengah dan panjang, dapat menilai struktur pasaran secara lebih menyeluruh.

  3. Menambah algoritma pembelajaran mesin, melatih parameter dan perhatian yang lebih sesuai dengan keadaan pasaran semasa, mengurangkan campur tangan manusia.

  4. Gabungan indeks panik seperti VIX untuk meramalkan pergerakan dan turun naik pasaran awal, parameter penyesuaian dinamik, lebih baik menggunakan peluang MACD.

ringkaskan

Strategi penyambungan MACD menggunakan prinsip penyambungan dua garis rata untuk menghasilkan isyarat dagangan. Dengan menggambar perbezaan nilai rata-rata yang perlahan, perubahan trend harga pertengahan saham akan mempunyai ciri yang jelas. Penambahan garis penyambungan juga menapis beberapa isyarat bunyi yang berkesan.

Kod sumber strategi
/*backtest
start: 2022-12-06 00:00:00
end: 2023-12-12 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@author : SudeepBisht
//@version=2
strategy(title="MACD with Signal", shorttitle="MACD_with_Signal")
source = close
useCurrentRes = input(true, title="Use Current Chart Resolution?")
resCustom = input(title="Use Different Timeframe? Uncheck Box Above", defval="60")
smd = input(true, title="Show MacD & Signal Line? Also Turn Off Dots Below")
sd = input(true, title="Show Dots When MacD Crosses Signal Line?")
sh = input(true, title="Show Histogram?")
macd_colorChange = input(true,title="Change MacD Line Color-Signal Line Cross?")
hist_colorChange = input(true,title="MacD Histogram 4 Colors?")

res = useCurrentRes ? timeframe.period : resCustom

fastLength = input(12, minval=1), slowLength=input(26,minval=1)
signalLength=input(9,minval=1)

fastMA = ema(source, fastLength)
slowMA = ema(source, slowLength)

macd = fastMA - slowMA
signal = sma(macd, signalLength)
hist = macd - signal

outMacD = request.security(syminfo.tickerid, res, macd)
outSignal = request.security(syminfo.tickerid, res, signal)
outHist = request.security(syminfo.tickerid, res, hist)

histA_IsUp = outHist > outHist[1] and outHist > 0
histA_IsDown = outHist < outHist[1] and outHist > 0
histB_IsDown = outHist < outHist[1] and outHist <= 0
histB_IsUp = outHist > outHist[1] and outHist <= 0

//MacD Color Definitions
macd_IsAbove = outMacD >= outSignal
macd_IsBelow = outMacD < outSignal

plot_color = hist_colorChange ? histA_IsUp ? green : histA_IsDown ? lime : histB_IsDown ? red : histB_IsUp ? maroon :yellow :gray
macd_color = macd_colorChange ? macd_IsAbove ? green : red : red
signal_color = macd_colorChange ? macd_IsAbove ? yellow : yellow : lime

circleYPosition = outSignal
 
plot(smd and outMacD ? outMacD : na, title="MACD", color=macd_color, linewidth=3)
plot(smd and outSignal ? outSignal : na, title="Signal", color=blue, style=line ,linewidth=1)
plot(sh and outHist ? outHist : na, title="", color=plot_color, style=columns, linewidth=4)
//plot(sd and cross(outMacD, outSignal) ? circleYPosition : na, title="Cross", style=circles, linewidth=4, color=macd_color)
hline(0, '0 Line',  linewidth=2, color=white)

macd_chk=smd and outMacD ? outMacD : na
checker=smd and outSignal ? outSignal : na
if (crossover(macd_chk,checker))
    strategy.entry("BBandLE", strategy.long)

if (crossunder(macd_chk, checker))
    strategy.entry("BBandSE", strategy.short)