Strategi isyarat silang berdasarkan penunjuk MACD dan RSI


Tarikh penciptaan: 2023-12-18 17:19:03 Akhirnya diubah suai: 2023-12-18 17:19:03
Salin: 0 Bilangan klik: 967
1
fokus pada
1621
Pengikut

Strategi isyarat silang berdasarkan penunjuk MACD dan RSI

Gambaran keseluruhan

Strategi ini menggunakan indikator MACD untuk menilai trend pasaran dan mencari titik jual beli yang berpotensi, dan digabungkan dengan indikator RSI untuk mengesahkan fenomena jual beli yang lebih tinggi, apabila indikator MACD menghantar isyarat beli / jual, isyarat perdagangan akan dihasilkan hanya apabila RSI juga mengesahkan pasaran berada dalam keadaan jual beli / beli. Strategi ini dapat menyaring isyarat palsu dengan berkesan, meningkatkan kestabilan strategi.

Prinsip Strategi

Pengiraan Indeks MACD

Penunjuk MACD terdiri daripada perbezaan antara purata bergerak cepat (EMA) dan purata bergerak perlahan, yang mencerminkan perbezaan dalam trend perubahan harga purata jangka pendek dan jangka panjang. Dalam strategi ini, garis cepat mempunyai kitaran 12 hari dan garis perlahan 26 hari.

Apabila garis pantas melintasi garis perlahan, ia adalah isyarat garpu emas, yang menunjukkan bahawa pasaran melangkah ke arah yang lebih tinggi; apabila garis pantas melintasi garis perlahan, ia adalah isyarat garpu mati, yang menunjukkan bahawa pasaran melangkah ke arah yang lebih rendah.

Pengiraan RSI

Indeks RSI mencerminkan fenomena overbought dan oversold di pasaran. Dalam strategi ini, parameter RSI ditetapkan pada kitaran 14.

RSI BELOW 30 when buyers outpaced sellers for an extended period suggests ASSET was OVERSOLD.

RSI ABOVE 70 when selling pressure outpaced buying pressure over the tracked timeline suggests ASSET was OVERBOUGHT.

Apabila RSI di bawah 30 menunjukkan bahawa pasaran berada dalam keadaan oversold; apabila RSI di atas 70, menunjukkan bahawa pasaran berada dalam keadaan overbought.

Isyarat strategi

Apabila hanya bergantung pada indikator MACD untuk menghasilkan isyarat perdagangan, isyarat palsu akan muncul. Strategi ini menggunakan isyarat penapis indikator RSI, dan isyarat perdagangan sebenar hanya akan dihasilkan apabila MACD mengeluarkan isyarat dan RSI juga mengesahkan keadaan pasaran yang terlalu banyak membeli.

Khususnya, apabila MACD membentuk isyarat garpu emas, jika pada masa ini RSI<=34, mengesahkan pasaran berada dalam keadaan oversold, maka ia menghasilkan isyarat beli; apabila MACD membentuk isyarat garpu mati, jika pada masa ini RSI>=75, mengesahkan pasaran berada dalam keadaan oversold, maka ia menghasilkan isyarat jual.

Mekanisme pengesahan dua kali ini boleh menyaring banyak isyarat perdagangan yang tidak boleh dipercayai, meningkatkan kestabilan dan kebolehpercayaan strategi.

Analisis kelebihan

Penapisan ganda untuk meningkatkan kebolehpercayaan isyarat

Strategi ini menggunakan MACD dengan RSI untuk pengesahan ganda. Ini dapat mengurangkan gangguan isyarat palsu dan menapis beberapa isyarat perdagangan yang tidak boleh dipercayai, meningkatkan kebolehpercayaan dan kestabilan isyarat.

Mencari trend yang jelas

MACD sebagai penunjuk harga kuantitatif, dapat mengetahui dengan jelas trend turun naik pasaran. Dengan penghakiman overbought dan oversold yang digabungkan dengan penunjuk RSI, dapat dengan tepat menangkap titik-titik perubahan penting di pasaran, dan isyarat masuk dan keluar jelas.

Optimasi parameter ruang yang besar

Parameter MACD dan RSI strategi ini boleh disesuaikan secara optimum, menyesuaikan diri dengan pelbagai kitaran dan pelbagai jenis, ruang pengoptimuman yang lebih besar. Dengan menyesuaikan parameter, anda boleh menyesuaikan diri dengan tujuan geografi, untuk mendapatkan kesan strategi yang lebih baik.

Mudah difahami

MACD dan RSI yang digunakan dalam strategi ini adalah petunjuk teknikal yang sangat tipikal dan biasa digunakan, mudah difahami, dan pelaksanaan kodnya sangat mudah dan intuitif. Ini memudahkan penyesuaian dan pengoptimuman parameter.

Analisis risiko

Mungkin terlepas beberapa peluang perdagangan

Strategi ini menggunakan strategi pengesahan dua kali yang lebih berhati-hati, yang mungkin terlepas peluang perdagangan yang menguntungkan dengan syarat satu indikator kerana memfilterkan isyarat palsu.

  • Penyelesaian: Melepaskan RSI dari ambang nilai terendah yang sesuai, mengurangkan kekerapan pengesahan, dan membenarkan strategi untuk mendapatkan lebih banyak peluang perdagangan.

Kerugian akibat perubahan yang ketara

MACD dan RSI boleh membuat keputusan terlewat apabila terdapat perubahan yang ketara dalam pasaran, menyebabkan kerugian yang disebabkan oleh isyarat perdagangan yang salah yang dihasilkan oleh strategi.

  • Penyelesaian: Masukkan mekanisme hentian kerugian, mengelakkan kerugian tunggal yang terlalu besar; menyesuaikan parameter agar penunjuk mempunyai sensitiviti tertentu terhadap perubahan drastik.

Kesan sangat berkaitan dengan kualiti parameter yang ditetapkan

Kesan strategi ini sangat bergantung kepada parameter seperti MACD dan RSI. Jika parameter tidak ditetapkan dengan betul, mudah untuk mendapatkan isyarat perdagangan terbalik.

  • Penyelesaian: Mencari tetapan parameter yang optimum dengan mengkaji semula kombinasi parameter.

Arah pengoptimuman

Menyertai mekanisme kawalan risiko

Anda boleh menetapkan peraturan berhenti harga atau berhenti petunjuk untuk menghentikan kerugian apabila kerugian meluas ke tahap tertentu, untuk mengawal kerugian tunggal dengan berkesan.

Sesuaikan parameter dengan ciri-ciri keadaan

Anda boleh menyesuaikan parameter seperti kitaran MACD yang cepat dan perlahan, RSI yang lebih baik dan lebih baik daripada paras paras paras RSI, untuk menjadikannya lebih sesuai dengan ciri-ciri pasaran yang berbeza dan kitaran.

Uji varieti untuk mencari yang paling sesuai

Ia boleh diuji dalam pelbagai jenis seperti indeks saham, mata wang digital, mata wang asing, komoditi, dan lain-lain untuk mencari jenis yang paling berkesan dalam strategi.

Tambahan kepada penunjuk lain untuk pengesahan berbilang dimensi

Ia boleh diperkenalkan pada asas MACD dan RSI yang sedia ada, stoch, OBV, CCI dan lain-lain petunjuk, untuk mencapai pengesahan pelbagai petunjuk, meningkatkan kualiti isyarat lebih lanjut.

ringkaskan

Strategi ini berdasarkan MACD untuk menentukan arah trend pasaran dan isyarat perdagangan. Untuk menyaring isyarat palsu, isyarat perdagangan dihasilkan hanya apabila kedua-duanya memenuhi syarat.

Kesan strategi dapat ditingkatkan lagi melalui pengoptimuman parameter, penggunaan mekanisme penghentian kerugian, dan kaedah penambahbaikan seperti pengesahan pelbagai indikator. Strategi ini mudah dikendalikan, lebih stabil, dan merupakan strategi perdagangan kuantitatif yang sesuai untuk latihan dan pengoptimuman pemula.

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

//@version=2
strategy(default_qty_type = strategy.percent_of_equity, default_qty_value = 25, pyramiding = 10, title="MACD crossover while RSI Oversold/Overbought", overlay=true, shorttitle="MACD Cross + RSI Oversold Overbought", initial_capital = 1000)

//MACD Settings
fastMA = input(title="Fast moving average",  defval = 12, minval = 7) //7 16
slowMA = input(title="Slow moving average",  defval = 26, minval = 7) //24 26 
signalLength = input(9,minval=1) //9 6

//RSI settings
RSIOverSold = input(34 ,minval=1) //26
RSIOverBought = input(75 ,minval=1) //77
src = close, len = input(14, minval=1, title="Length")
up = rma(max(change(src), 0), len)
down = rma(-min(change(src), 0), len)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down))
wasOversold = rsi[0] <= RSIOverSold or rsi[1] <= RSIOverSold or rsi[2] <= RSIOverSold or rsi[3] <= RSIOverSold or rsi[4] <= RSIOverSold or rsi[5] <= RSIOverSold
wasOverbought = rsi[0] >= RSIOverBought or rsi[1] >= RSIOverBought or rsi[2] >= RSIOverBought or rsi[3] >= RSIOverBought or rsi[4] >= RSIOverBought or rsi[5] >= RSIOverBought


[currMacd,_,_] = macd(close[0], fastMA, slowMA, signalLength)
[prevMacd,_,_] = macd(close[1], fastMA, slowMA, signalLength)
signal = ema(currMacd, signalLength)

crossoverBear = cross(currMacd, signal) and currMacd < signal ? avg(currMacd, signal) : na
crossoverBull = cross(currMacd, signal) and currMacd > signal ? avg(currMacd, signal) : na

plotshape(crossoverBear and wasOverbought , title='MACD-BEAR', style=shape.triangledown, text='overbought', location=location.abovebar, color=orange, textcolor=orange, size=size.tiny) 
plotshape(crossoverBull and wasOversold, title='MACD-BULL', style=shape.triangleup, text='oversold', location=location.belowbar, color=lime, textcolor=lime, size=size.tiny) 

// Configure backtest start date with inputs
startDate = input(title="Start Date",
     defval=8, minval=1, maxval=31)
startMonth = input(title="Start Month",
     defval=3, minval=1, maxval=12)
startYear = input(title="Start Year",
     defval=2021, minval=1800, maxval=2100)

afterStartDate = (time >= timestamp(syminfo.timezone,
     startYear, startMonth, startDate, 0, 0))
     
if (afterStartDate==true)
    posSize = abs(strategy.position_size)
    strategy.order("long", strategy.long, when = crossoverBull and wasOversold) 
    strategy.order("long", long=false, qty=posSize/3, when = crossoverBear and wasOverbought)