Strategi perdagangan pembalikan kuantitatif pantas dwi landasan


Tarikh penciptaan: 2023-12-19 15:59:36 Akhirnya diubah suai: 2023-12-19 15:59:36
Salin: 0 Bilangan klik: 582
1
fokus pada
1621
Pengikut

Strategi perdagangan pembalikan kuantitatif pantas dwi landasan

Gambaran keseluruhan

Strategi ini adalah strategi perdagangan reversal dua hala berdasarkan saluran harga, Brinband, dan RSI Rapid. Ia menggabungkan trend pengiktirafan saluran, Brinband untuk mengiktiraf rintangan sokongan, dan RSI Rapid untuk menilai isyarat overbought dan oversold untuk perdagangan reversal yang cekap.

Prinsip Strategi

Strategi ini mengambil keputusan perdagangan berdasarkan beberapa petunjuk berikut:

  1. Saluran harga: mengira harga tertinggi dan terendah dalam tempoh tertentu, dan melukis sumbu tengah saluran.

  2. Blink: Axis tengah adalah pusat saluran harga, yang dibina dengan mengira perbezaan piawai harga dan aksen tengah. Sinyal perdagangan dihasilkan apabila harga berinteraksi dengan Blink.

  3. RSI pantas ((keliling 2): menilai harga yang lebih baik daripada harga yang lebih baik, RSI lebih rendah daripada 5 lebih banyak, lebih tinggi daripada 95 lebih sedikit.

  4. Indeks CryptoBottom: menentukan sama ada harga jatuh di bawah tahap sokongan, dengan kebarangkalian tinggi untuk mencapai RSI yang cepat.

Logik perdagangan teras strategi ini adalah berdasarkan saluran penembusan harga, masa Brin, dan masa RSI yang lebih tinggi daripada RSI yang lebih rendah daripada RSI.

Kelebihan Strategik

Strategi ini mempunyai beberapa kelebihan:

  1. Sistem dua jalur, meningkatkan ketepatan isyarat. Saluran harga menilai trend besar, Brin band mengenal pasti kedudukan rintangan sokongan yang tepat, kedua-duanya digabungkan untuk meningkatkan kualiti isyarat.

  2. Indikator RSI pantas untuk menilai overbought dan oversold, menangkap masa berbalik. Parameter RSI adalah 2, dapat menentukan nod berbalik dengan cepat.

  3. CryptoBottom mempercepatkan penentuan isyarat berbilang kepala. Ia cepat menilai ciri-ciri dasar apabila jatuh di bawah tahap sokongan, untuk mengelakkan kehilangan isyarat berbilang kepala.

  4. Tetapan parameter strategi adalah munasabah dan mudah dioptimumkan. Kombinasi parameter mudah dan jelas, sesuai untuk pengoptimuman parameter.

Risiko Strategik

Strategi ini mempunyai beberapa risiko:

  1. Parameter Brin-band tidak ditetapkan dengan betul, yang boleh menyebabkan kehilangan keadaan yang lebih besar atau menghasilkan isyarat palsu.

  2. Model interaksi dua hala adalah rumit dan memerlukan penghakiman yang betul.

  3. Namun, risiko kegagalan untuk membalikkan keadaan masih wujud, dan kemungkinan untuk membalikkan keadaan tidak dapat dielakkan sepenuhnya.

  4. Kesukaran untuk mengoptimumkan parameter, parameter optimum mungkin tidak berfungsi kerana perubahan keadaan pasaran.

Arah pengoptimuman strategi

Strategi ini boleh dioptimumkan dalam beberapa arah:

  1. Mengoptimumkan parameter Brin Belt, menjadikan laluan atas dan bawah lebih dekat dengan harga, meningkatkan ketepatan isyarat.

  2. Meningkatkan strategi berhenti kerugian, berhenti kerugian apabila kerugian mencapai peratusan tertentu, mengawal risiko dengan berkesan.

  3. Menerusi lebih banyak indikator, menilai trend, menyokong rintangan, dan mengurangkan isyarat palsu.

  4. Menambah algoritma pembelajaran mesin untuk mengoptimumkan parameter secara automatik, yang membolehkan ia bertindak balas terhadap perubahan persekitaran pasaran.

ringkaskan

Strategi ini mengintegrasikan saluran harga, pita Brin dan indikator RSI cepat, untuk membina sistem perdagangan berbalik dua jalur. Semasa menilai trend besar, cepat menangkap peluang penolakan sokongan dan membeli lebih banyak daripada menjual. Tetapan parameter mudah, mudah difahami dan dioptimumkan.

Kod 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)