Strategi Dagangan Kuantitatif Menggabungkan RSI, MACD dan Sokongan/Rintangan

Penulis:ChaoZhang, Tarikh: 2024-01-05 16:24:58
Tag:

img

Ringkasan

Strategi ini berdasarkan kepada penunjuk RSI dan MACD, digabungkan dengan tahap sokongan / rintangan untuk penghakiman isyarat perdagangan. Namanya adalah Panda Sticking Out Tongue strategi. Strategi ini menggunakan penunjuk RSI untuk menentukan tahap overbought / oversold, penunjuk MACD untuk menentukan trend bullish / bearish, dan menarik tahap sokongan / rintangan berdasarkan harga tertinggi dan terendah selama 100 tempoh yang lalu, menghasilkan isyarat beli berhampiran sokongan dan isyarat jual berhampiran rintangan. Ia adalah sebahagian daripada strategi trend berikut yang biasa.

Logika Strategi

Strategi ini terutamanya bergantung kepada dua penunjuk - RSI dan MACD. Penunjuk RSI menilai status overbought / oversold, sementara penunjuk MACD menentukan status trend bullish / bearish. Ia mula-mula mengira nilai RSI 14 tempoh, dan menetapkan ambang overbought sebagai 70 dan ambang oversold sebagai 30. Kemudian ia mengira nilai MACD berdasarkan garis cepat 12 hari, garis perlahan 26 hari, dan garis isyarat 9 hari. RSI di bawah 30 dianggap terlalu banyak dijual; RSI di atas 70 dianggap terlalu banyak dibeli.

Di samping itu, strategi ini juga mengira harga tertinggi dan terendah selama 100 tempoh terakhir sebagai tahap sokongan / rintangan. Apabila isyarat beli dicetuskan, harga perlu dekat dengan tahap sokongan, iaitu dalam 1% daripada tahap sokongan, untuk benar-benar mengeluarkan pesanan beli. Begitu juga apabila isyarat jual dicetuskan, harga perlu berada dalam 1% di bawah tahap rintangan untuk benar-benar mengeluarkan pesanan jual.

Kelebihan Strategi

Strategi ini menggabungkan analisis trend dan pengesanan tahap overbought / oversold untuk mengelakkan isyarat palsu yang bergantung pada satu penunjuk sahaja. Dengan memperkenalkan penapis sokongan / rintangan, ia dapat mengurangkan perdagangan yang salah kerana rebound berhampiran tahap S / R utama. Gabungan MACD dan RSI dapat mengenal pasti pergerakan harga dan status OB / OS dengan tepat. Berbanding dengan strategi Purata Bergerak mudah, strategi ini dapat menangkap trend harga jangka panjang dengan lebih fleksibel.

Risiko Strategi

Risiko utama strategi ini termasuk:

  1. Ia mungkin terlepas sebahagian besar keuntungan dalam trend yang kuat, kerana ia cenderung untuk memasuki selepas pembalikan selesai.

  2. Tetapan parameter RSI dan MACD yang tidak sesuai boleh menyebabkan isyarat yang salah.

  3. Logik pengesanan S/R yang mudah boleh terlalu besar atau kurang besar zon S/R sebenar.

  4. Kekurangan mekanisme stop loss. Tidak dapat mengawal kerugian dengan berkesan dalam keadaan pasaran yang melampau.

Untuk menangani risiko ini, kaedah seperti MACD adaptif, penyesuaian parameter RSI yang dioptimumkan, pengenalan S / R yang lebih baik, pemodelan rejim pasaran dan lain-lain boleh digunakan untuk meningkatkan strategi.

Arahan untuk Peningkatan

Strategi ini boleh ditingkatkan dari dimensi berikut:

  1. Memperkenalkan mekanisme stop loss e.g. CANVAS stop loss

  2. Gunakan MACD adaptif untuk penyesuaian parameter dinamik

  3. Memperkenalkan pengenalan corak harga untuk pengenalan S/R yang lebih saintifik

  4. Menggabungkan lebih banyak data untuk menubuhkan logik pengesanan keadaan pasaran untuk menggunakan parameter yang berbeza secara adaptif

  5. Gunakan algoritma pembelajaran mesin untuk mengoptimumkan strategi hujung ke hujung

Melalui penambahbaikan ini, kita boleh mengurangkan pengeluaran dan meningkatkan kestabilan strategi.

Kesimpulan

Strategi ini mengintegrasikan penunjuk RSI dan MACD untuk menentukan status OB / OS, dan berdagang di sekitar tahap sokongan / rintangan, mewakili pendekatan mengikuti trend. Dengan menggabungkan penapis sokongan / rintangan, risiko dikurangkan. Kelebihannya terletak pada isyarat yang stabil dan risiko yang boleh dikawal yang sesuai untuk pegangan jangka panjang.


/*backtest
start: 2023-12-28 00:00:00
end: 2024-01-04 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("RSI + MACD with Support and Resistance", shorttitle="RSI_MACD_SR", overlay=true)

// Input for RSI and MACD values
rsiOverbought = input(70, title="RSI Overbought Threshold")
rsiOversold = input(30, title="RSI Oversold Threshold")
macdFastLength = input(12, title="MACD Fast Length")
macdSlowLength = input(26, title="MACD Slow Length")
macdSignalSmoothing = input(9, title="MACD Signal Smoothing")

// Calculating RSI and MACD
rsiValue = ta.rsi(close, 14)
[macdLine, signalLine, _] = ta.macd(close, macdFastLength, macdSlowLength, macdSignalSmoothing)

// Support and Resistance
support = ta.lowest(100)
resistance = ta.highest(100)

// Drawing support and resistance lines
// line.new(x1=bar_index[0], y1=support, x2=bar_index[-1], y2=support, color=color.green, width=1)
// line.new(x1=bar_index[0], y1=resistance, x2=bar_index[-1], y2=resistance, color=color.red, width=1)

// Buy Condition: If RSI is oversold and MACD line crosses above the signal line
// Additionally, check if price is near the support line
longCondition = ta.crossover(macdLine, signalLine) and rsiValue < rsiOversold and (close - support) < (close * 0.01)
strategy.entry("Long", strategy.long, when=longCondition, comment="Buy")

// Sell Condition: If RSI is overbought and MACD line crosses below the signal line
// Additionally, check if price is near the resistance line
shortCondition = ta.crossunder(macdLine, signalLine) and rsiValue > rsiOverbought and (resistance - close) < (close * 0.01)
strategy.entry("Short", strategy.short, when=shortCondition, comment="Sell")

// Plot values on the chart for visualization
plotshape(series=longCondition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="Buy")
plotshape(series=shortCondition, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="Sell")

Lebih lanjut