Strategi ini berdasarkan pada reka bentuk penunjuk Boll band, apabila harga menembusi Boll band ke arah bawah, maka diambil tindakan melakukan lebih atau lebih rendah. Strategi ini mendapat keuntungan dengan menangkap pergerakan yang menembusi.
Khususnya, strategi ini pertama kali mengira SMA tengah dengan panjang sebagai panjang, dan naik ke bawah yang dikira dengan selisih standard ganda. Apabila harga penutupan mendaki dari bawah ke atas, masuk lebih banyak; apabila mendaki dari atas ke bawah, masuk kosong.
Strategi ini cuba untuk menangkap situasi pengembangan selepas harga menembusi ke bawah. Apabila menembusi ke bawah melihat kekuatan banyak pihak meningkat, apabila menembusi ke atas melihat kekuatan kosong meningkat, ketika ini perdagangan menguntungkan.
Risiko ini dapat dikurangkan dengan mengoptimumkan syarat kemasukan, menambah strategi berhenti kerugian, dan memperkenalkan penapis trend.
Strategi ini adalah strategi penembusan yang berasaskan Boll band, yang mendapat keuntungan dengan menangkap pergerakan yang berlaku. Kelebihannya adalah idea yang mudah dan mudah dilaksanakan; Kelemahannya adalah mudah disesatkan oleh pergerakan yang berliku.
/*backtest
start: 2023-08-21 00:00:00
end: 2023-09-20 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//Noro
//2018
//@version=2
strategy("Noro's Bollinger Strategy v1.0", shorttitle = "Bollinger str 1.0", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100.0, pyramiding = 5)
//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
length = input(20, minval=1)
mult = input(1.0, minval=0.001, maxval=50)
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")
source = close
basis = sma(source, length)
dev = mult * stdev(source, length)
upper = basis + dev
lower = basis - dev
up = close < lower
dn = close > upper
exit = (strategy.position_size > 0 and close > open) or (strategy.position_size < 0 and close < open)
if up
strategy.entry("Long", strategy.long, needlong == false ? 0 : na, when=(time > timestamp(fromyear, frommonth, 01, 00, 00) and time < timestamp(toyear, tomonth, 31, 00, 00)))
if dn
strategy.entry("Short", strategy.short, needshort == false ? 0 : na, when=(time > timestamp(fromyear, frommonth, 01, 00, 00) and time < timestamp(toyear, tomonth, 31, 00, 00)))
if time > timestamp(toyear, tomonth, 31, 00, 00) or exit
strategy.close_all()