Bollinger Band Fitting Strategi

Penulis:ChaoZhang, Tarikh: 2023-10-24 16:52:52
Tag:

img

Ringkasan

Strategi ini menggunakan penunjuk Bollinger Bands untuk penilaian trend, digabungkan dengan penunjuk RSI untuk mengelakkan overbuy, serta penapis badan lilin dan penapis warna untuk mengesahkan lebih lanjut isyarat perdagangan.

Prinsip-prinsip

Strategi ini mula-mula menggunakan band bawah penunjuk Bollinger Bands. Apabila harga di bawah band bawah, ia dianggap sebagai peluang untuk membuka kedudukan. Untuk mengelakkan overbuy, strategi ini juga memperkenalkan penunjuk RSI, yang memerlukan RSI kurang daripada 30 untuk menjana isyarat beli. Di samping itu, strategi menetapkan penapis badan lilin yang memerlukan badan lilin semasa lebih besar daripada separuh daripada badan purata lilin selama 10 tempoh yang lalu untuk mencetuskan pembelian. Akhirnya, penapis warna memerlukan lilin menjadi hijau (menutup lebih tinggi) untuk mengesahkan masa pembelian.

Apabila harga memecahkan jalur bawah Bollinger Bands, RSI kurang daripada 30, badan cukup besar, dan lilin hijau, isyarat beli dihasilkan. Apabila harga penutupan lebih tinggi daripada harga pembukaan dan badan lebih besar daripada separuh daripada badan purata, ia adalah isyarat pembalikan trend yang menunjukkan penutupan kedudukan.

Analisis Kelebihan

Kelebihan terbesar strategi ini adalah bahawa ia dapat menentukan permulaan trend dan memasuki pasaran dengan berjaya, dan keluar sebelum pembalikan trend, dengan itu potensi keuntungan adalah besar.

  1. Penunjuk Bollinger Bands menilai arah trend dengan tepat. Ia menggunakan julat turun naik harga untuk menentukan pergerakan harga, jadi menggunakan penunjuk ini dapat menentukan permulaan dan akhir trend dengan berkesan.

  2. Indikator RSI mengelakkan overbuy. RSI boleh mengukur keadaan overbought dan oversold. Menggunakannya mengelakkan pembelian yang salah semasa pembetulan harga sementara.

  3. Penapisan entiti meningkatkan kebolehpercayaan isyarat. Badan lilin yang lebih besar mewakili kejayaan yang lebih kuat. Penapisan entiti memastikan pembelian kejayaan yang kuat.

  4. Penapisan warna mengesahkan masa. Hanya membeli lilin hijau lebih lanjut mengesahkan masa yang tepat.

  5. Lilin bertukar hijau menunjukkan pembalikan trend selepas membeli. Pedagang mengatakan trends take turns, dan lilin bertukar hijau boleh menilai masa pembalikan.

Analisis Risiko

Strategi ini juga mempunyai beberapa risiko untuk diperhatikan:

  1. Kemungkinan isyarat palsu dari Bollinger Bands. Ia juga boleh menghasilkan isyarat pecah palsu apabila pasaran berayun.

  2. Kerugian meningkat tanpa stop loss. Kekurangan stop loss boleh membawa kepada kerugian yang lebih besar jika pertimbangan salah.

  3. Syarat penapisan yang terlalu ketat kehilangan peluang membeli. Pelbagai penapisan bertimbun mungkin kehilangan peluang.

  4. Bergantung pada hasil backtesting yang dioptimumkan. Tetapan parameter dan penapis memerlukan pengoptimuman dan pengesahan, hasil perdagangan sebenar juga memerlukan pengesahan.

  5. Lilin bertukar hijau tidak boleh dipercayai untuk menentukan pembalikan.

Untuk risiko, stop loss boleh mengawal kerugian, mengoptimumkan penapis mengurangkan pembelian yang terlepas, menggunakan pelbagai penunjuk mengesahkan isyarat, dan mengesahkan hasil dalam perdagangan langsung.

Arahan Penambahbaikan

Strategi ini boleh dioptimumkan dalam beberapa aspek:

  1. Mengoptimumkan parameter Bollinger Band untuk tetapan terbaik. Uji tempoh yang berbeza, kelipatan penyimpangan standard, dll.

  2. Uji pengayun yang berbeza bukannya RSI. contohnya KDJ, Williams % R, dll.

  3. Tambahkan stop loss untuk mengawal risiko. Tetapkan berhenti yang munasabah berdasarkan data backtest.

  4. Mengoptimumkan parameter keadaan penapis. Uji saiz dan tempoh penapis badan yang berbeza.

  5. Masukkan penunjuk lain untuk mengesahkan isyarat. contohnya penunjuk pengesahan jumlah harga.

  6. Uji isyarat pembalikan yang berbeza. contohnya, melintasi purata bergerak untuk menentukan pembalikan trend.

  7. Uji pada produk dan jangka masa yang berbeza.

Kesimpulan

Secara keseluruhan, strategi ini mempunyai trend yang agak kuat mengikuti keupayaan dan daya adaptasi. Kekuatan teras menggunakan Bollinger Bands untuk menentukan arah trend dan menggunakan RSI dan penapis untuk memastikan masa. Tetapi terdapat juga risiko tertentu yang memerlukan pengoptimuman dan pengujian yang disasarkan. Jika parameter dan peraturan dapat disahkan, ia boleh mencapai hasil yang baik dalam perdagangan langsung. Kesimpulannya, strategi ini mempunyai nilai praktikal yang patut diterokai.


/*backtest
start: 2023-09-23 00:00:00
end: 2023-10-23 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//Noro
//2018

//Donate: 3BMEXvKkuJLobJrcpMm12bKTZoCnojZTjh

//@version=2
strategy(title = "Noro's Wizard Strategy v1.1", shorttitle = "Wizard str 1.1", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 10)

//Settings
capital = input(100, defval = 100, minval = 1, maxval = 10000, title = "Capital, %")
length = input(40, defval = 40, minval = 1, maxval = 200, title = "BB Period")
usebod = input(false, defval = false, title = "Use Body-Filter")
usecol = input(false, defval = false, title = "Use Color-Filter")
usersi = input(true, defval = true, title = "Use RSI-Filter")
showar = input(false, defval = false, title = "Show Arrows")
fromyear = input(1900, defval = 1900, 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")

//Bollinger
src = low
mult = 2
basis = sma(src, length)
dev = mult * stdev(src, length)
lower = basis - dev
plot(lower, color = lime, linewidth = 3, title="Bottom Line")

//Fast RSI Filter
fastup = rma(max(change(close), 0), 7)
fastdown = rma(-min(change(close), 0), 7)
rsi = fastdown == 0 ? 100 : fastup == 0 ? 0 : 100 - (100 / (1 + fastup / fastdown))
rsif = rsi < 30 or usersi == false

//Body Filter
nbody = abs(close - open)
abody = sma(nbody, 10)
body = nbody > abody / 2 or usebod == false

//Signals
up1 = low < lower and (close < open or usecol == false) and body and rsif
exit = close > open and nbody > abody / 2

//Arrows
needar = up1 and showar
plotarrow(needar ? 1 : na)

//Trading
lot = strategy.position_size == 0 ? strategy.equity / close * capital / 100 : lot[1]

if up1
    if strategy.position_size < 0
        strategy.close_all()
        
    strategy.entry("Long", strategy.long, lot, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)))
    
if time > timestamp(toyear, tomonth, today, 23, 59) or exit
    strategy.close_all()

Lebih lanjut