Sumber daya yang dimuat... Pemuatan...

Strategi perdagangan pembalikan kuantitatif cepat dua jalur

Penulis:ChaoZhangTanggal: 2023-12-19 15:59:36
Tag:

img

Gambaran umum

Ini adalah strategi perdagangan reversal dual-track berdasarkan saluran harga, Bollinger band dan indikator RSI cepat. Ini menggabungkan indeks saluran untuk mengidentifikasi tren, Bollinger band untuk mengenali level support dan resistance, dan RSI cepat untuk mendeteksi sinyal overbought dan oversold, untuk mencapai perdagangan reversal yang efisien.

Logika Strategi

Strategi ini terutama didasarkan pada indikator berikut untuk membuat keputusan perdagangan:

  1. Price Channel: Menghitung harga tertinggi dan terendah selama periode tertentu dan memetakan garis tengah saluran.

  2. Bollinger Bands: Garis tengah adalah garis tengah saluran harga. Garis atas dan bawah dihitung berdasarkan penyimpangan standar dari penyimpangan harga dari garis tengah. Sinyal perdagangan dihasilkan ketika harga berinteraksi dengan Bollinger Bands.

  3. RSI cepat (Periode = 2): Menentukan situasi overbought dan oversold untuk harga.

  4. CryptoBottom Indicator: Menentukan apakah harga telah menembus level support. Dikombinasikan dengan RSI cepat untuk menghasilkan sinyal panjang probabilitas tinggi.

Menurut waktu harga menerobos saluran dan Bollinger band untuk melakukan perdagangan, dan pergi panjang atau pendek berdasarkan indikasi overbought dan oversold dari RSI, logika perdagangan inti dari strategi ini terbentuk.

Keuntungan dari Strategi

Strategi ini memiliki keuntungan berikut:

  1. Sistem dual-track meningkatkan akurasi sinyal. saluran harga menilai tren utama dan Bollinger Bands mengidentifikasi level support dan resistance yang tepat. kombinasi meningkatkan kualitas sinyal.

  2. Indikator RSI cepat menangkap peluang pembalikan dengan mendeteksi overbought dan oversold.

  3. CryptoBottom mempercepat konfirmasi sinyal panjang. Menembus level support memungkinkan penilaian cepat karakteristik bawah dan menghindari sinyal panjang yang hilang.

  4. Pengaturan parameter yang masuk akal dan mudah dioptimalkan Kombinasi parameter yang sederhana dan intuitif memudahkan optimasi parameter.

Risiko dari Strategi

Ada juga beberapa risiko untuk strategi ini:

  1. Pengaturan parameter yang tidak tepat untuk Bollinger Bands dapat melewatkan pergerakan harga yang signifikan atau menghasilkan sinyal palsu.

  2. Pola interaksi antara jalur ganda bisa rumit, membutuhkan beberapa kecanggihan teknis untuk penilaian yang akurat.

  3. Risiko pembalikan yang gagal masih ada karena kemungkinan harga ditarik kembali tidak dapat dihilangkan.

  4. Kesulitan dalam optimasi parameter. parameter optimal dapat menjadi tidak efektif jika kondisi pasar berubah.

Arahan Optimasi

Strategi ini dapat ditingkatkan dalam hal berikut:

  1. Mengoptimalkan parameter Bollinger band untuk membuat band atas dan bawah lebih dekat dengan harga, meningkatkan akurasi sinyal perdagangan.

  2. Tambahkan mekanisme stop loss untuk memotong kerugian ketika mereka mencapai persentase ambang tertentu.

  3. Masukkan lebih banyak indikator untuk menentukan tren, level support dan resistance untuk mengurangi sinyal palsu.

  4. Memperkenalkan algoritma pembelajaran mesin untuk menyesuaikan parameter secara otomatis sehingga mereka dapat beradaptasi dengan perubahan lingkungan pasar.

Kesimpulan

Strategi ini mengintegrasikan saluran harga, Bollinger band dan indikator RSI cepat untuk membangun sistem perdagangan pembalikan dua jalur. Sementara menilai tren utama, ia juga dengan cepat merebut dukungan, resistensi dan peluang overbought / oversold. Pengaturan parameter sederhana dan langsung, mudah dimengerti dan dioptimalkan.


/*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)

Lebih banyak