Strategi perdagangan pembalikan kuantitatif cepat jalur ganda


Tanggal Pembuatan: 2023-12-19 15:59:36 Akhirnya memodifikasi: 2023-12-19 15:59:36
menyalin: 0 Jumlah klik: 580
1
fokus pada
1621
Pengikut

Strategi perdagangan pembalikan kuantitatif cepat jalur ganda

Ringkasan

Strategi ini adalah strategi trading reversal dua jalur berdasarkan channel harga, Brin band, dan indikator RSI cepat. Ini menggabungkan identifikasi tren dari indikator channel, Brin band untuk mengidentifikasi resistensi dukungan, dan sinyal RSI cepat untuk menilai overbought dan oversold, untuk mencapai perdagangan reversal yang efisien.

Prinsip Strategi

Strategi ini digunakan untuk membuat keputusan perdagangan berdasarkan beberapa indikator berikut:

  1. Saluran harga: menghitung harga tertinggi dan terendah dalam periode tertentu, dan memetakan sumbu tengah saluran. Sinyal perdagangan dihasilkan ketika harga menembus saluran.

  2. Blink: Axis tengah adalah sumbu tengah dari saluran harga, dengan menghitung perbedaan standar deviasi harga dan sumbu tengah untuk membangun tren naik dan turun. Ketika harga berinteraksi dengan Blink, sinyal perdagangan dihasilkan.

  3. RSI cepat ((siklus 2): menilai harga overbought dan oversold, RSI di bawah 5 adalah overbought, di atas 95 adalah overbought.

  4. Indikator CryptoBottom: menentukan apakah harga akan turun dari level dukungan, dengan probabilitas tinggi untuk mencapai RSI yang cepat.

Strategi ini didasarkan pada tren harga yang lebih tinggi, waktu Brinks, dan waktu RSI overbought dan oversold, yang membentuk logika perdagangan inti strategi ini.

Keunggulan Strategis

Strategi ini memiliki beberapa keuntungan:

  1. Sistem dual-rail, meningkatkan akurasi sinyal. Saluran harga menilai tren besar, pita Brin mengidentifikasi titik resistensi dukungan yang tepat, keduanya dikombinasikan untuk meningkatkan kualitas sinyal.

  2. Indikator RSI cepat menilai overbought dan oversold, menangkap saat berbalik. Parameter RSI adalah 2, dapat dengan cepat menentukan titik balik.

  3. CryptoBottom mempercepat penentuan sinyal multi-head.

  4. Pengaturan parameter kebijakan masuk akal dan mudah dioptimalkan. Kombinasi parameter sederhana dan jelas, cocok untuk optimalisasi parameter.

Risiko Strategis

Strategi ini juga memiliki beberapa risiko:

  1. Parameter Brin-band tidak disetel dengan benar, sehingga dapat melewatkan situasi yang lebih besar atau menghasilkan sinyal palsu.

  2. Model interaksi dua jalur sangat rumit dan membutuhkan beberapa akumulasi teknis untuk membuat keputusan yang tepat.

  3. Namun, ada risiko bahwa perlambatan masih ada, dan kemungkinan bahwa perlambatan tidak dapat sepenuhnya dihindari.

  4. Kesulitan optimasi parameter, parameter optimal mungkin tidak berlaku karena perubahan kondisi pasar.

Arah optimasi strategi

Strategi ini dapat dioptimalkan dari beberapa arah:

  1. Optimalkan parameter Brin Belt untuk membuat rel naik turun lebih dekat dengan harga dan meningkatkan akurasi sinyal.

  2. Meningkatkan strategi stop loss, stop loss ketika kerugian mencapai proporsi tertentu, dan mengontrol risiko secara efektif.

  3. Dengan lebih banyak indikator, kita bisa menilai tren, mendukung resistensi, dan mengurangi sinyal palsu.

  4. Menambahkan algoritma pembelajaran mesin, mengoptimalkan parameter secara otomatis, sehingga dapat menanggapi perubahan lingkungan pasar.

Meringkaskan

Strategi ini mengintegrasikan saluran harga, pita Brin dan indikator RSI cepat, untuk membangun sistem perdagangan berbalik dua jalur. Sementara menilai tren besar, dengan cepat menangkap peluang untuk mendukung resistensi dan overbought oversold. Pengaturan parameter sederhana dan langsung, mudah dipahami dan dioptimalkan.

Kode Sumber Strategi
/*backtest
start: 2022-12-18 00:00:00
end: 2023-11-30 05:20:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/


//@version=2
strategy("Noro's Bands Strategy v1.3", shorttitle = "NoroBands str 1.3", overlay=true, default_qty_type = strategy.percent_of_equity, default_qty_value=100.0, pyramiding=0)

//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
len = input(20, defval = 20, minval = 2, maxval = 200, title = "Period")
color = input(true, "Use ColorBar")
usecb = input(true, "Use CryptoBottom")
usersi = input(true, "Use RSI")
needbb = input(false, defval = false, title = "Show Bands")
needbg = input(false, defval = false, title = "Show Background")
src = close

//Fast RSI
fastup = rma(max(change(src), 0), 2)
fastdown = rma(-min(change(src), 0), 2)
fastrsi = fastdown == 0 ? 100 : fastup == 0 ? 0 : 100 - (100 / (1 + fastup / fastdown))

//CryptoBottom
mac = sma(close, 10)
lencb = abs(close - mac)
sma = sma(lencb, 100)
max = max(open, close)
min = min(open, close)

//PriceChannel
lasthigh = highest(src, len)
lastlow = lowest(src, len)
center = (lasthigh + lastlow) / 2

//dist
dist = abs(src - center)
distsma = sma(dist, len)
hd = center + distsma
ld = center - distsma

//Trend
trend = close < ld and high < hd ? -1 : close > hd and low > ld ? 1 : trend[1]

//Lines
colo = needbb == false ? na : black
plot(hd, color = colo, linewidth = 1, transp = 0, title = "High band")
plot(center, color = colo, linewidth = 1, transp = 0, title = "center")
plot(ld, color = colo, linewidth = 1, transp = 0, title = "Low band")

//Background
col = needbg == false ? na : trend == 1 ? lime : red
bgcolor(col, transp = 80)

//Signals
up = trend == 1 and ((close < open or color == false) or close < hd) ? 1 : 0
dn = trend == -1 and ((close > open or color == false) or close > ld) ? 1 : 0 
up2 = close < open and lencb > sma * 3 and min < min[1] and fastrsi < 10 ? 1 : 0 //CryptoBottom
//dn2 = close > open and len > sma * 3 and max > max[1] and fastrsi > 90 ? 1 : 0 //CryptoBottom
up3 = fastrsi < 5 ? 1 : 0
//dn3 = fastrsi > 99 ? 1 : 0

longCondition = up == 1 or (up2 == 1 and usecb == true) or (up3 == 1 and usersi == true)
if (longCondition)
    strategy.entry("Long", strategy.long, needlong == false ? 0 : na)

shortCondition = dn == 1
if (shortCondition)
    strategy.entry("Short", strategy.short, needshort == false ? 0 : na)