
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Kesan strategi ini sangat bergantung kepada parameter seperti MACD dan RSI. Jika parameter tidak ditetapkan dengan betul, mudah untuk mendapatkan isyarat perdagangan terbalik.
Anda boleh menetapkan peraturan berhenti harga atau berhenti petunjuk untuk menghentikan kerugian apabila kerugian meluas ke tahap tertentu, untuk mengawal kerugian tunggal dengan berkesan.
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.
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.
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.
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.
/*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)