Strategi perdagangan kuantitatif gabungan multi-indikator

Penulis:ChaoZhang, Tanggal: 2024-01-24 15:10:41
Tag:

img

Gambaran umum

Strategi ini menggunakan tiga indikator teknis harga saham, RSI, StochRSI dan Bollinger Bands, dan menggabungkan waktu perdagangan dan kondisi arah untuk menentukan sinyal beli dan jual untuk strategi perdagangan kuantitatif.

Prinsip

Ketika indikator RSI kurang dari area bawah dan garis StochRSI K melintasi di atas garis D, itu dianggap sinyal beli. Pada saat yang sama, harga saham lebih murah dari garis bawah Bollinger Band atau melintasi di bawah garis bawah Bollinger Band juga digunakan sebagai dasar untuk membeli.

Ketika indikator RSI melebihi area atas dan garis StochRSI K melintasi di bawah garis D, itu dianggap sinyal jual. Pada saat yang sama, harga saham lebih tinggi dari garis atas Bollinger Band atau melanggar garis atas Bollinger Band juga digunakan sebagai dasar untuk menjual.

Indikator RSI menilai apakah harga saham terlalu banyak dibeli atau terlalu banyak dijual, StochRSI menilai momentum harga saham, dan Bollinger Bands menilai apakah harga saham berjalan pada tingkat tinggi dan murah.

Analisis Keuntungan

Ini adalah strategi gabungan multi-indikator dengan cakupan indikator yang luas dan dasar penilaian yang komprehensif. penyeberangan diperlukan antara harga saham atau indikator saat ini dan ambang batasnya sebelum menilai sinyal, yang memiliki efek penyaringan tertentu pada sinyal palsu.

Pembatasan kondisi waktu ditambahkan sebelum menempatkan pesanan untuk menghindari risiko yang lebih besar selama periode waktu tertentu.

Dengan menggabungkan penilaian dari beberapa indikator, lebih banyak jenis tren dapat dicocokkan untuk meningkatkan efektivitas strategi.

Analisis Risiko

Strategi ini terutama bergantung pada tiga jenis indikator. Jika indikator memberikan sinyal yang salah, strategi akan menyebabkan kerugian. Indikator harus saling memverifikasi dan tidak dapat sepenuhnya bergantung pada indikator tertentu. Misalnya, osilasi RSI dalam periode waktu tertentu akan meningkatkan kemungkinan mengeluarkan sinyal palsu.

Kondisi penilaian waktu yang ditambahkan ke dalam strategi juga mungkin tidak memiliki kondisi pasar yang menguntungkan.

Jika pemilihan stok tidak tepat, misalnya, stok dengan efek keterlaluan yang parah, validitas indikator ini akan sangat berkurang.

Optimalisasi

  1. Meningkatkan langkah-langkah pengendalian risiko seperti penarikan maksimum untuk membatasi kerugian.

  2. Sesuaikan parameter indikator untuk lebih sesuai dengan saham yang dipilih. Misalnya, mempercepat parameter RSI untuk mendeteksi perubahan harga yang lebih cepat.

  3. Meningkatkan mekanisme penyaringan, seperti menangguhkan perdagangan ketika harga saham berada di tengah Bollinger Band untuk menghindari kondisi pasar yang berosilasi.

  4. Pemilihan saham dapat merujuk pada dasar-dasar untuk menghindari saham dengan penipuan keuangan yang serius.

Ringkasan

Ini adalah strategi indikator teknis multi-variabel yang khas dengan campuran indikator yang seimbang dan cakupan yang luas. Pada saat yang sama, kondisi pesanan ketat, yang dapat secara efektif memilih saham untuk mencapai keuntungan, dan penarikan akan dikendalikan dalam kisaran tertentu. Melalui pengoptimalan indikator dan parameter, dapat lebih beradaptasi dengan pasar. Pada saat yang sama meningkatkan mekanisme kontrol risiko untuk meminimalkan risiko untuk meningkatkan stabilitas dan keandalan strategi.


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

//@version= 2
strategy("RSI+STOCHRSI+BB Strategy", overlay=true)
lengthrsi = input(6)
overSold = input( 20 )
overBought = input( 70 )
price = close
vrsi = rsi(price, lengthrsi)

smoothK = input(3, minval=1)
smoothD = input(3, minval=1)
lengthRSI = input(14, minval=1)
lengthStoch = input(14, minval=1)
src = input(close, title="RSI Source")

rsi1 = rsi(src, lengthRSI)
k = sma(stoch(rsi1, rsi1, rsi1, lengthStoch), smoothK)
d = sma(k, smoothD)

bblength = input(50)
bbupmult =input(1.5,title="Multiplier for BB Upper Band")
bblowmult = input(1.5,title="Multiplier for BB Lower Band")

basis =  sma(close,bblength)

devup = bbupmult * stdev(close, bblength)
devlow = bblowmult * stdev(close, bblength)

upper = basis + devup
lower = basis - devlow
plot(basis, color=red)
p1 = plot(upper, color=blue)
p2 = plot(lower, color=blue)
fill(p1, p2)


yearfrom = input(2018)
yearuntil =input(2019)
monthfrom =input(6)
monthuntil =input(12)
dayfrom=input(1)
dayuntil=input(31)



if (  ( crossover(k,d)) and ( crossover(vrsi,overSold) or vrsi<overSold)  and (  (price<lower) or crossover(price,lower) ) ) 
    strategy.entry("BUY", strategy.long, stop=close, oca_name="TREND",  comment="BUY")
    
else
    strategy.cancel(id="BUY")


if ( ( crossunder(k,d) ) and ( (vrsi >overBought) or crossunder(vrsi,overBought) ) and  ( (price>upper) or crossunder(price,upper) )) 

    strategy.entry("SELL", strategy.short,stop=close, oca_name="TREND",  comment="SELL")
else
    strategy.cancel(id="SELL")
    
    
    

Lebih banyak