Strategi ini didasarkan pada desain indikator Bollinger Bands, ketika harga menembus Bollinger Bands dan turun ke bawah, maka diambil tindakan over atau under. Strategi ini mengambil keuntungan dengan menangkap tren penembusan.
Secara khusus, strategi ini pertama-tama menghitung SMA rel tengah dengan panjang, dan rel atas dan bawah yang dihitung dengan standar diferensial multipel. Ketika harga penutupan dari bawah ke atas menerobos rel bawah, masuk lebih banyak; Ketika dari atas ke bawah menerobos rel atas, masuk kosong.
Strategi ini mencoba untuk menangkap situasi ekspansi setelah harga menembus tren naik turun. Pada saat menembus tren turun, melihat kekuatan multilateral meningkat, dan pada saat menembus tren naik, melihat kekuatan kosong meningkat, saat ini perdagangan menguntungkan.
Risiko ini dapat dikurangi dengan mengoptimalkan kondisi masuk, menambahkan strategi stop loss, dan memperkenalkan filter tren.
Strategi ini didasarkan pada strategi Bollinger Bands, yang mengambil keuntungan dengan menangkap tren yang terjadi. Keuntungan adalah ide yang sederhana dan mudah diimplementasikan. Kelemahannya adalah mudah untuk tertipu oleh tren yang berputar.
/*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()