Strategi arah aliran bingkai berbilang masa berdasarkan penembusan Bollinger Band dan penunjuk RSI


Tarikh penciptaan: 2024-02-21 13:59:31 Akhirnya diubah suai: 2024-02-21 13:59:31
Salin: 0 Bilangan klik: 659
1
fokus pada
1617
Pengikut

Strategi arah aliran bingkai berbilang masa berdasarkan penembusan Bollinger Band dan penunjuk RSI

Gambaran keseluruhan

Strategi ini menggabungkan indikator Burin, indikator RSI dan analisis pelbagai jangka masa untuk menangkap arah trend garis panjang dan tengah. Melalui tren Burin, tanda-tanda pembelian dan penjualan RSI digabungkan dengan titik-titik perubahan trend, untuk mencapai masuk yang berisiko rendah.

Prinsip Strategi

  1. Penggunaan indikator Brin Belt untuk menentukan harga pecah. Brin Belt adalah rata-rata bergerak harga penutupan N hari, di mana satu perbezaan piawai di atas dan satu di bawah. Ia adalah isyarat kuat apabila harga penutupan menembusi dan isyarat lemah apabila ia menembusi.

  2. Apabila RSI lebih besar daripada 70 adalah kawasan yang lebih banyak dibeli, dan lebih kecil daripada 30 adalah kawasan yang lebih banyak dijual. Apabila RSI melampaui 70 dari bawah ke atas, ia dianggap sebagai keadaan yang lebih banyak dibeli, dan Brin mendedahkannya sebagai pengesahan perubahan trend. Apabila RSI melampaui 30 dari atas ke bawah, ia dianggap sebagai keadaan yang lebih banyak dijual, dan Brin mendedahkannya sebagai pengesahan perubahan trend.

  3. Guna filter jangka masa yang lebih tinggi untuk penembusan palsu. Apabila isyarat penembusan berlaku pada hari yang sama, anda perlu menggunakan jangka masa 4 jam atau lebih tinggi sebagai pengesahan, untuk mengelakkan tersandung.

Kelebihan Strategik

  1. Ia adalah satu-satunya cara untuk meningkatkan kestabilan strategi dan meningkatkan kadar keuntungan.

  2. Indeks RSI menilai titik pembalikan, yang dapat mengurangkan kerugian akibat penembusan palsu.

  3. Analisis pelbagai kerangka masa untuk menyaring pergerakan gegaran dan mengelakkan kebocoran

  4. Penghakiman isyarat terobosan dioptimumkan ((3 garis K mesti menembusi tali Brin ke bawah), memastikan trend berkembang matang dan masuk semula.

  5. Indikator Vortex menilai arah trend dan dapat menangkap trend baru yang mula terbentuk.

Risiko Strategik

  1. Jika parameter Brin tidak ditetapkan dengan betul, ia boleh menyebabkan isyarat overbought dan oversold yang salah.

  2. Tetapan parameter RSI memerlukan penentuan nilai yang munasabah mengikut pelbagai jenis.

  3. Isyarat penembusan mungkin berlaku penembusan palsu, jarak titik hentian harus dibesarkan dengan sewajarnya.

  4. Memastikan penghentian kerugian yang mencukupi, seperti 3 kali ganda daripada ATR.

Arah pengoptimuman strategi

  1. Menggunakan algoritma pembelajaran mesin untuk mengoptimumkan parameter Brin dan RSI dalam masa nyata.

  2. Mengoptimumkan Stop Loss Gap menggunakan Indeks Fluktuasi.

  3. Tambah modul kawalan jumlah dagangan untuk menyesuaikan kedudukan mengikut perubahan pasaran.

  4. Menghadkan peratusan kerugian dalam satu urus niaga, selaras dengan prinsip pengurusan dana.

  5. Menilai kestabilan isyarat penembusan pada masa perdagangan yang berbeza.

ringkaskan

Strategi ini mengambil kira pelbagai indikator teknikal seperti penilaian trend, fenomena overbought dan oversold, analisis jangka masa yang berlainan, memilih masa masuk yang sesuai, menangkap trend kualiti garis tengah dan panjang, dengan syarat mengawal risiko, dan dapat memperoleh kadar keuntungan yang lebih baik. Di samping itu, terdapat ruang untuk pengoptimuman lanjut, dengan cara menyesuaikan parameter, memperbaiki mekanisme penghentian kerugian, dan sebagainya, diharapkan dapat memperoleh prestasi pelaburan yang lebih baik.

Kod sumber strategi
/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Noway0utstorm
//@version=5
strategy(title='Vortex0.71.3 + bb 3bar breakout + rsi - close hit upper or lower', shorttitle='truongphuthinh', format=format.price, precision=4,overlay = true)

length = input(20, title="Length")
mult = input(2.0, title="Multiplier")
source = close

basis = ta.sma(source, length)
dev = mult * ta.stdev(source, length)

upperBand = basis + dev
lowerBand = basis - dev

isClosedBar = ta.change(time("15"))

var bool closeAboveUpperBand = false
var bool closeBelowLowerBand = false


// Vortex Indicator Settings
period_ = input.int(14, title='Period', minval=2)

VMP = math.sum(math.abs(high - low[1]), period_)
VMM = math.sum(math.abs(low - high[1]), period_)
STR = math.sum(ta.atr(1), period_)
VIP = VMP / STR
VIM = VMM / STR

//
lengthrsi = input(14, title="RSI Length")
overboughtLevel = input(70, title="Overbought Level")
oversoldLevel = input(30, title="Oversold Level")

sourcersi = close
rsiValue = ta.rsi(sourcersi, lengthrsi)

shouldShort = rsiValue > overboughtLevel
shouldLong = rsiValue < oversoldLevel




if bool(isClosedBar[1]) and bool(isClosedBar[2]) and bool(isClosedBar[3])

    if close[1] > upperBand[1] and close[2] > upperBand[2] and close[3] > upperBand[3] and VIP > 1.25 and VIM < 0.7 and rsiValue > overboughtLevel
        strategy.entry("Short", strategy.short)
        closeAboveUpperBand := false  // Reset the condition when entering a new Short position
    if close[1] < lowerBand[1] and close[2] < lowerBand[2] and close[3] < lowerBand[3] and VIP < 0.7 and VIM > 1.25 and rsiValue < oversoldLevel
        strategy.entry("Long", strategy.long)
        closeBelowLowerBand := false  // Reset the condition when entering a new Long position



if strategy.position_size > 0  // Check if there is an open Long position
    closeAboveUpperBand := close > upperBand  // Update the condition based on close price
    if closeAboveUpperBand
        strategy.close("Long",disable_alert=true)  // Close the Long position if close price is above upper band

if strategy.position_size < 0  // Check if there is an open Short position
    closeBelowLowerBand := close < lowerBand  // Update the condition based on close price
    if closeBelowLowerBand
        strategy.close("Short",disable_alert=true)  // Close the Short position if close price is below lower band

// Plots
plot(basis, color=color.orange, title="Basis")
p1 = plot(upperBand, color=color.blue, title="Upper Band")
p2 = plot(lowerBand, color=color.blue, title="Lower Band")
fill(p1, p2, title = "Background", color=color.rgb(33, 150, 243, 95))