Strategi persilangan MACD


Tanggal Pembuatan: 2023-12-13 16:58:15 Akhirnya memodifikasi: 2023-12-13 16:58:15
menyalin: 0 Jumlah klik: 744
1
fokus pada
1621
Pengikut

Strategi persilangan MACD

Ringkasan

Strategi MACD Delivery Cross-Trade (DLC) adalah strategi yang menggunakan MACD untuk membentuk MACD dengan menghitung perbedaan antara rata-rata bergerak cepat dan rata-rata bergerak lambat, kemudian menghitung MACD untuk membentuk garis pengiriman, yang menghasilkan sinyal perdagangan ketika MACD melintasi atau melintasi garis pengiriman. Strategi ini menggabungkan pemikiran kesetaraan dua garis untuk menangkap titik balik dari tren jangka menengah harga saham, dan merupakan strategi tracking stop loss yang khas.

Prinsip Strategi

Strategi ini pertama-tama menghitung fast moving average fastMA dan slow moving average slowMA. Parameter fast moving average adalah 12 hari dan parameter slow moving average adalah 26 hari. Kemudian menghitung perbedaan antara dua moving average, membentuk MACD.

Keuntungan dari strategi ini adalah menangkap titik balik dari tren harga saham pada pertengahan. Kombinasi garis rata-rata yang cepat dan lambat menyaring kebisingan dari fluktuasi harga jangka pendek dan menangkap tren harga pertengahan. MACD akan menembus garis pengiriman saat harga saham berbalik pada pertengahan dan menghasilkan sinyal perdagangan yang lebih jelas.

Analisis Keunggulan

Strategi penyebaran silang MACD menggabungkan pemikiran dua rata-rata, menggunakan kombinasi rata-rata bergerak cepat dan rata-rata bergerak lambat untuk memfilter kebisingan jangka pendek, hanya menangkap titik-titik pergeseran tren jangka panjang dan menengah dalam harga saham. Dibandingkan dengan indikator harga tunggal, dapat menghasilkan lebih sedikit sinyal palsu.

MACD sendiri lebih sensitif dan dapat mencerminkan tren perubahan harga. Penambahan garis distribusi dapat memfilter lebih banyak sinyal palsu jangka pendek. Hanya perubahan tren jangka menengah yang jelas, MACD naik dan turun melewati garis distribusi, yang akan menghasilkan sinyal.

Pada tren naik yang berkelanjutan, MACD dapat bertahan di atas garis pengiriman untuk sebagian besar waktu, dan dapat menangkap peluang multi-head secara berurutan. Pada tren turun yang berkelanjutan, MACD juga dapat mempertahankan pola multi-head, dan memberi sinyal pada waktu yang tepat.

Analisis risiko

Karena sinyal titik beli dan jual strategi sepenuhnya bergantung pada persimpangan rata-rata bergerak, lebih banyak sinyal palsu akan dihasilkan jika pasar bergoyang lebih besar, yang menyebabkan stop loss yang lebih sering. Strategi yang sebenarnya tidak menguntungkan.

Penembusan garis distribusi harga saham tidak sepenuhnya menjamin bahwa tren jangka menengah akan berubah. Hanya dengan indikator teknis tunggal sebagai sinyal titik beli, ada kecurigaan tertentu, dan pilihan waktu mungkin tidak akurat.

Dalam pasar yang berubah-ubah, lebih banyak peluang perdagangan yang mungkin terlewatkan hanya dengan crossover indikator garis rata-rata ganda sebagai batas yang ditetapkan. Dalam situasi yang lebih kompleks, strategi ini juga dapat menghasilkan keterlambatan yang jelas.

Arah optimasi

  1. Meningkatkan indikator penyaringan likuiditas dan volatilitas, mengurangi frekuensi pembukaan posisi, menghindari transaksi yang tidak efektif. Seperti meningkatkan volume transaksi, menyesuaikan parameter moving average secara dinamis, dll.

  2. Dalam kombinasi dengan beberapa indikator teknis lainnya, membentuk portofolio indikator, meningkatkan kualitas sinyal. Indikator jangka pendek dikombinasikan dengan indikator jangka menengah dan panjang, dapat lebih menyeluruh menilai struktur pasar.

  3. Menambahkan algoritma pembelajaran mesin, melatih parameter dan perhatian yang lebih sesuai dengan lingkungan pasar saat ini, mengurangi intervensi manusia.

  4. Kombinasi dengan indeks panik seperti VIX untuk memprediksi tren dan volatilitas pasar di masa depan, parameter penyesuaian dinamis untuk memanfaatkan lebih baik peluang MACD.

Meringkaskan

Strategi penyeberangan MACD memanfaatkan prinsip penyeberangan dua garis rata untuk menghasilkan sinyal perdagangan. Perubahan tren harga jangka menengah saham akan memiliki karakteristik yang jelas melalui grafik diferensial garis rata yang cepat dan lambat. Penambahan garis penyeberangan juga secara efektif menyaring beberapa sinyal noise. Strategi ini memiliki keunggulan tertentu dalam menangkap pergeseran tren jangka menengah yang lebih jelas. Namun, penyeberangan MACD dan garis penyeberangan tidak dapat sepenuhnya menentukan apakah struktur pasar telah berubah secara fundamental, dan sinyal perdagangan harus diperlakukan dengan hati-hati.

Kode 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)