Strategi ini didasarkan pada indikator Bollinger Bands, mengambil posisi panjang atau pendek ketika harga keluar dari garis atas atau bawah Bollinger Bands.
Secara khusus, pertama-tama menghitung SMA garis tengah dari panjang panjang, dan garis atas/bawah dari banyak kali standar deviasi. Ketika close pecah ke atas dari garis bawah, pergi panjang. Ketika close pecah dari garis atas, pergi pendek. Juga atur waktu awal dan akhir untuk membatasi jam perdagangan. Keluar sebelum buka setiap hari.
Strategi ini mencoba untuk menangkap pergerakan ekspansi setelah harga keluar dari band. Mematahkan band bawah menunjukkan penguatan kekuatan bullish, sementara mematahkan band atas berarti memperkuat kekuatan bearish, sehingga perdagangan sesuai dengan breakout menguntungkan.
Risiko dapat dikurangi dengan mengoptimalkan aturan masuk, menambahkan stop loss, memperkenalkan filter tren dll.
Ini adalah strategi breakout berdasarkan Bollinger Bands. Ini mendapat keuntungan dari gerakan breakout. Pro adalah logika sederhana dan penerapan yang mudah; Kontra adalah kerentanan terhadap breakout palsu. Risiko dapat dikelola melalui optimasi parameter, stop loss, kontrol jam perdagangan dll. Ini memungkinkan pedagang untuk memahami dasar-dasar menggunakan indikator dan breakout perdagangan.
/*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()