Strategi perdagangan gabungan tiga jalur BB penembusan penutup dan penunjuk RSI


Tarikh penciptaan: 2024-02-29 14:57:49 Akhirnya diubah suai: 2024-02-29 14:57:49
Salin: 1 Bilangan klik: 627
1
fokus pada
1617
Pengikut

Strategi perdagangan gabungan tiga jalur BB penembusan penutup dan penunjuk RSI

Gambaran keseluruhan

Strategi ini menghasilkan isyarat dagangan dengan menggunakan gabungan indikator Brin dan RSI yang agak kuat. Ia memantau sama ada harga penutupan tiga garis K secara serentak menembusi ke atas atau ke bawah, dan menggabungkan indikator gear dan RSI untuk mengesahkan isyarat dagangan.

Prinsip Strategi

Strategi ini berdasarkan kepada prinsip-prinsip berikut:

  1. Menggunakan pita Brin dengan panjang 20 untuk mempertimbangkan isyarat perdagangan apabila harga menutup rantaian atas atau bawah
  2. Meminta harga penutupan tiga K untuk memecahkan pada masa yang sama, untuk mengelakkan pemecahan palsu
  3. Bersama-sama dengan indikator gear, VIP> 1.25 apabila terlampau kuat, VIM> 1.25 apabila terlampau kuat, isyarat penapis
  4. Dengan menggunakan RSI untuk menentukan apakah anda terlalu beli atau terlalu jual, RSI di atas 70 untuk mengambil risiko shorting, dan RSI di bawah 30 untuk mengambil risiko overbought
  5. Apabila syarat-syarat di atas dipenuhi, menghasilkan isyarat melakukan lebih atau kosong

Analisis kelebihan

Strategi ini mempunyai kelebihan utama:

  1. Triple BB bands menapis penembusan palsu untuk memastikan kebolehpercayaan penembusan
  2. Indeks Gearing menilai kekuatan pasaran dan mengelakkan perdagangan yang tidak menguntungkan
  3. RSI menilai kawasan overbought dan oversold, digabungkan dengan Bollinger Bands
  4. Kombinasi pelbagai petunjuk, penilaian menyeluruh mengenai keadaan pasaran, kebolehpercayaan isyarat yang tinggi

Analisis risiko

Strategi ini mempunyai beberapa risiko:

  1. Indeks Brin-Band sensitif kepada parameter yang memerlukan pengoptimuman panjang dan StdDev
  2. Penunjuk gear juga sensitif terhadap parameter kitaran, memerlukan penyesuaian untuk pasaran yang berbeza
  3. RSI mudah menyimpang dan mungkin terlepas trend
  4. Jika tiga penunjuk itu berbeza, anda tidak akan dapat masuk dan akan kehilangan sebahagian peluang.

Langkah-langkah kawalan risiko termasuk:

  1. Parameter pengoptimuman, parameter yang paling berjaya diuji
  2. Gabungan dengan petunjuk lain, seperti penapisan jumlah transaksi
  3. Memperkecilkan logik penilaian penunjuk untuk mengelakkan peluang yang hilang

Arah pengoptimuman

Strategi ini boleh dioptimumkan dalam beberapa aspek:

  1. Optimumkan panjang dan kali StdDev untuk indeks Brin untuk mencari parameter terbaik
  2. Siklus penunjuk gear dioptimumkan agar lebih sesuai dengan pasaran yang berbeza
  3. Menambah penghakiman indikator lain, seperti jumlah dagangan, macd dan lain-lain, untuk menambah pelbagai isyarat
  4. Menyesuaikan logik penilaian penunjuk untuk mengelakkan kesenjangan penunjuk yang menyebabkan tidak masuk
  5. Tambah strategi hentikan kerugian untuk mengawal kerugian maksimum dalam satu dagangan

ringkaskan

Strategi ini menggunakan pelbagai indikator untuk membuat keputusan, dan pada masa yang sama memastikan kebolehpercayaan isyarat, terdapat beberapa masalah. Dengan mengoptimumkan parameter, memperkaya sumber isyarat, menyesuaikan logik penghakiman, dan menghentikan kerugian, anda dapat meningkatkan lagi kestabilan dan keuntungan strategi. Ia memberikan idea yang baik untuk perdagangan kuantitatif.

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='RSI + BB  over 3 bar+--- vortex0.71.3  ', shorttitle='NoWaytruongphuthinh', 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))