Strategi ini adalah berdasarkan penunjuk Bollinger Bands, mengambil kedudukan panjang atau pendek apabila harga keluar dari garis atas atau bawah Bollinger Bands.
Secara khusus, ia mula-mula mengira garis tengah SMA panjang panjang, dan garis atas/bawah berganda kali penyimpangan standard. Apabila menutup pecah ke atas dari garis bawah, pergi panjang. Apabila menutup pecah dari garis atas, pergi pendek. Juga tetapkan waktu permulaan dan akhir untuk mengehadkan waktu perdagangan. Keluar sebelum dibuka setiap hari.
Strategi ini cuba menangkap pergerakan yang berkembang selepas harga keluar dari band. Mencacah band bawah menunjukkan menguatkan kekuatan bullish, sementara memecahkan band atas bermaksud menguatkan kekuatan bearish, jadi perdagangan selaras dengan pecah adalah menguntungkan.
Risiko boleh dikurangkan dengan mengoptimumkan peraturan kemasukan, menambah stop loss, memperkenalkan penapis trend dll.
Ini adalah strategi breakout berdasarkan Bollinger Bands. Ia mendapat keuntungan daripada pergerakan breakout. Kelebihan adalah logik yang mudah dan pelaksanaan yang mudah; Kelemahan adalah kerentanan terhadap breakout palsu. Risiko boleh dikendalikan melalui pengoptimuman parameter, stop loss, kawalan jam dagangan dll. Ia membolehkan peniaga memahami asas penggunaan penunjuk dan breakout dagangan.
/*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()