Strategi Pengesanan Pintar Dual-B

Penulis:ChaoZhang, Tarikh: 2024-01-18 15:41:20
Tag:

img

Ini adalah strategi dagangan yang menggunakan Bollinger Bands. Strategi ini bertujuan untuk mengenal pasti peluang apabila harga turun naik secara ganas menggunakan Bollinger Bands dan membuat keputusan membeli atau menjual yang sesuai.

Prinsip Strategi

Strategi ini mengira band atas, band tengah dan band bawah Bollinger Bands untuk menentukan sama ada harga semasa berada dalam julat turun naik dan dengan itu membuat keputusan mengenai pembukaan atau penutupan kedudukan. Apabila harga mendekati band atas, ia dianggap sebagai titik melampau untuk panjang dan strategi memilih untuk menutup kedudukan panjang. Apabila harga jatuh berhampiran band bawah, ia dianggap sebagai titik melampau untuk pendek dan strategi memilih untuk membuka kedudukan panjang.

Selain itu, strategi ini juga memperkenalkan faktor pembalikan trend. Jika terdapat isyarat pembalikan, ia juga akan mencetuskan keputusan beli atau jual yang sesuai. Secara khusus, logik strategi adalah seperti berikut:

  1. Mengira Bollinger Bands atas, tengah dan bawah
  2. Menghakimi jika harga memecahkan jalur dan isyarat pembalikan
    1. Menembusi jalur tengah sebagai isyarat trend
    2. Berhampiran jalur atas atau bawah sebagai isyarat pembalikan
  3. Hantar pesanan beli, jual atau tutup

Yang di atas adalah logik perdagangan asas strategi ini. Dengan menggunakan ciri-ciri Bollinger Bands dan menggabungkan faktor trend dan pembalikan, strategi ini cuba menangkap titik pembalikan apabila turun naik meningkat.

Kelebihan Strategi

Berbanding dengan strategi purata bergerak biasa, strategi ini mempunyai kelebihan berikut:

  1. Lebih sensitif, mampu menangkap peluang apabila harga turun naik dengan ganas
  2. Menggabungkan kedua-dua faktor trend dan pembalikan untuk mengelakkan kerugian daripada pembalikan awal
  3. Mempunyai kesan FILTER tertentu untuk mengelakkan pembelian/penjualan yang tidak perlu di kawasan yang tidak berubah-ubah
  4. Menghakimi arah trend utama melalui jalur tengah untuk mengurangkan kekerapan perdagangan
  5. Meningkatkan keadaan penapis pembalikan untuk mengurangkan pertimbangan yang salah

Secara amnya, strategi ini menggabungkan Bollinger Bands dan bar harga yang agak baik. Ia berdagang pada titik pembalikan yang munasabah untuk memastikan tahap keuntungan tertentu sambil mengawal risiko.

Risiko dan Pengoptimuman

Walau bagaimanapun, masih ada beberapa risiko dengan strategi ini:

  1. Parameter BB yang tidak betul gagal menangkap fluktuasi harga sepenuhnya
  2. Penghakiman isyarat pembalikan yang tidak tepat, pembalikan yang hilang atau pembalikan yang salah
  3. Kecekapan sinyal jalur tengah yang lemah apabila trend tidak jelas

Oleh itu, pengoptimuman masa depan boleh memberi tumpuan kepada:

  1. Pengoptimuman adaptif parameter BB berdasarkan produk yang berbeza
  2. Meningkatkan model pembelajaran mesin untuk menilai kebarangkalian pembalikan
  3. Bertukar kepada penunjuk lain apabila trend tidak jelas
  4. Gabungkan lebih banyak corak harga untuk menapis isyarat perdagangan

Kesimpulan

Kesimpulannya, ini adalah templat strategi perdagangan Bollinger Bands yang tipikal. Ia mengelakkan dagangan yang tidak berkesan yang berlebihan yang biasa digunakan untuk menggunakan Bollinger Bands sahaja dengan memperkenalkan penilaian pembalikan trend untuk menapis isyarat, yang secara teori boleh membawa kepada prestasi strategi yang baik. Tetapi parameter dan penapisan isyarat masih memerlukan pengoptimuman dan penambahbaikan lanjut untuk ketahanan dan untuk mengurangkan pertimbangan yang salah.


/*backtest
start: 2023-12-18 00:00:00
end: 2024-01-17 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//Noro
//2018

//@version=3
strategy("Noro's Bollinger Strategy v1.2", shorttitle = "Bollinger str 1.2", overlay = true )

//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")

length = input(20, defval = 20, minval = 1, maxval = 1000, title = "Bollinger Length")
mult = input(2.0, defval = 2.0, minval = 0.001, maxval = 50, title = "Bollinger Mult")
source = input(ohlc4, defval = ohlc4, title = "Bollinger Source")

uset = input(true, defval = true, title = "Use trend entry")
usect = input(true, defval = true, title = "Use counter-trend entry")

fromyear = input(2018, defval = 2018, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year")
frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month")
fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day")
today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day")
showbands = input(true, defval = true, title = "Show Bollinger Bands")

//Bollinger Bands
basis = sma(source, length)
dev = mult * stdev(source, length)
upper = basis + dev
lower = basis - dev

//Lines
col = showbands ? black : na 
plot(upper, linewidth = 1, color = col)
plot(basis, linewidth = 1, color = col)
plot(lower, linewidth = 1, color = col)

//Body
body = abs(close - open)
abody = ema(body, 30)

//Signals
bar = close > open ? 1 : close < open ? -1 : 0 
up1 = bar == -1 and close >= basis and close < upper and (close < strategy.position_avg_price or strategy.position_size == 0) and uset
dn1 = bar == 1 and close <= basis and close > lower and (close > strategy.position_avg_price or strategy.position_size == 0) and uset
up2 = close <= lower and usect
dn2 = close >= upper and usect
exit = (strategy.position_size > 0 and close > open) or (strategy.position_size < 0 and close < open) and body > abody / 2

//Trading
if up1 or up2
    strategy.entry("Long", strategy.long, needlong == false ? 0 : na)

if dn1 or dn2
    strategy.entry("Short", strategy.short, needshort == false ? 0 : na)
    
if exit
    strategy.close_all()

Lebih lanjut