Strategi Dagangan Kuantitatif Berdasarkan Indikator RSI dan Corak Mengambil

Penulis:ChaoZhang, Tarikh: 2024-01-03 11:24:08
Tag:

img

Ringkasan

Nama strategi ini ialah RSI and Engulfing Pattern Quantitative Trading Strategy. Idea utama strategi ini adalah untuk mengenal pasti trend pasaran dengan menggunakan kedua-dua penunjuk RSI dan corak engulfing untuk menjana isyarat beli dan jual.

Apabila penunjuk RSI menunjukkan ekstrem dan corak menelan muncul, kami percaya ia adalah peluang untuk menubuhkan kedudukan.

Logika Strategi

Pertama, kita menetapkan parameter untuk penunjuk RSI, termasuk tempoh panjang RSI (biasanya 9 atau 14), tahap overbought (biasanya 70) dan tahap oversold (biasanya 30).

Kemudian, kita mengenal pasti corak menelan untuk menentukan sama ada lilin bullish atau bearish yang besar telah menelan lilin sebelumnya. Ini menunjukkan bahawa trend semasa sedang mengalami pembalikan.

Selepas itu, jika RSI menunjukkan ekstrem overbought atau oversold dan bullish engulfing atau bearish engulfing muncul, isyarat beli atau jual dicetuskan.

Kelebihan Strategi

Strategi ini menggabungkan penunjuk trend RSI dan corak penunjuk corak untuk menilai tren pasaran secara komprehensif, yang mempunyai keberkesanan pengesahan yang lebih kuat berbanding dengan strategi penunjuk tunggal, dan dapat menapis isyarat perdagangan yang bising dengan berkesan.

Indikator RSI menilai keadaan overbought dan oversold dengan sangat tepat dan jelas, sementara ciri-ciri harga-volume yang tersirat dalam corak engulfing dapat mengesahkan kebolehpercayaan pembalikan trend.

Strategi ini dapat menangkap peluang pembalikan tepat pada masanya yang timbul daripada kelebihan beli dan kelebihan jual, sambil mengelakkan kerugian perdagangan yang tidak perlu semasa penyatuan.

Risiko Strategi

Risiko terbesar strategi ini adalah bahawa kebarangkalian penunjuk RSI dan corak menelan yang menunjukkan isyarat yang salah tidak rendah. Penunjuk RSI terdedah kepada penyimpangan dan perbezaan.

Di samping itu, kemungkinan goyangan dan penyatuan tidak dapat dikesampingkan sepenuhnya apabila isyarat pembalikan muncul. Pasaran mungkin mempunyai penurunan atau bahkan pembalikan dalam jangka pendek selepas kedudukan ditubuhkan. Semua ini boleh membawa kepada kerugian berhenti dan kerugian.

Untuk mengurangkan risiko, kita perlu mengoptimumkan tetapan parameter penunjuk RSI untuk mencari kombinasi parameter yang terbaik. Di samping itu, memilih instrumen dagangan dengan perwakilan dan kecairan yang kuat juga sangat penting. Selepas menubuhkan kedudukan, kita perlu mengawal saiz kedudukan dengan betul dan menetapkan stop loss yang tepat pada masanya.

Arahan untuk Pengoptimuman Strategi

Strategi ini boleh dioptimumkan lagi dalam aspek berikut:

  1. Menggabungkan lebih banyak penunjuk seperti KDJ dan MACD untuk membentuk sistem pengesahan pelbagai penunjuk untuk meningkatkan ketepatan isyarat.

  2. Pertimbangkan faktor-faktor seperti kecairan, turun naik dan kos transaksi instrumen dagangan, dan pilih yang optimum untuk mengurangkan kos dagangan dan risiko tergelincir.

  3. Gunakan kaedah pembelajaran mesin untuk melatih dan mengoptimumkan parameter. Sebagai contoh, gunakan pembelajaran mendalam untuk mengenal pasti perbezaan RSI.

  4. Tambah strategi stop loss, dan lindungi keuntungan melalui pergerakan stop loss, MA stop loss dan lain-lain.

Kesimpulan

Strategi ini menggunakan kekuatan penunjuk RSI dan corak menelan, dan merancang sistem perdagangan kuantitatif yang mengambil kira kedua-dua penilaian trend dan pengesahan ciri. Ia dapat menangkap peluang pembalikan dengan berkesan sambil mempunyai kebolehpercayaan yang tinggi. Melalui pengoptimuman berterusan, strategi ini boleh menjadi strategi kuantitatif yang stabil dan boleh dipercayai.


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

//@version=4
strategy(title="Lesson 6", shorttitle="RSI Swing Signals", overlay=true)

// Get user input
rsiSource = input(title="RSI Source", type=input.source, defval=close)
rsiLength = input(title="RSI Length", type=input.integer, defval=9)
rsiOverbought = input(title="RSI Overbought Level", type=input.integer, defval=60)
rsiOversold = input(title="RSI Oversold Level", type=input.integer, defval=25)

// Get RSI value
rsiValue = rsi(rsiSource, rsiLength)
rsiOB = rsiValue >= rsiOverbought
rsiOS = rsiValue <= rsiOversold

// Identify engulfing candles
bullishEC = close > open[1] and close[1] < open[1]
bearishEC = close < open[1] and close[1] > open[1]

// Define entry and exit conditions
longCondition = (rsiOS or rsiOS[1]) and bullishEC
shortCondition = (rsiOB or rsiOB[1]) and bearishEC

// Plot signals to chart
plotshape(longCondition, title="Long", location=location.belowbar, color=color.green, transp=0, style=shape.triangleup, text="Long")
plotshape(shortCondition, title="Short", location=location.abovebar, color=color.red, transp=0, style=shape.triangledown, text="Short")

// Strategy entry and exit
strategy.entry("Long", strategy.long, when=longCondition)
strategy.entry("Short", strategy.short, when=shortCondition)

// Define exit conditions
longExitCondition = crossover(rsiValue, 60) // You can customize this exit condition
shortExitCondition = crossunder(rsiValue, 40) // You can customize this exit condition

// Strategy exit
strategy.exit("ExitLong", from_entry="Long", when=longExitCondition)
strategy.exit("ExitShort", from_entry="Short", when=shortExitCondition)

// Send out an alert if this candle meets our conditions
alertcondition(longCondition or shortCondition, title="RSI Trade Alert!", message="RSI Swing Signal for XXX")


Lebih lanjut