该策略基于布林带的突破信号进行交易。布林带由中轨、上轨和下轨组成。中轨为n周期的移动平均线,布林带通过在中轨的基础上进行标准差计算,得到上轨和下轨。上轨等于中轨加上标准差,下轨等于中轨减去标准差。当价格从下轨向上突破上轨时,表示当前处于强势的上升趋势,这时做多;当价格从上轨向下跌破下轨时,表示当前处于强势的下跌趋势,这时做空。该策略构建布林带的参数包括:中轨周期n和标准差倍数m。典型的参数组合为20周期及1.5倍标准差。参数n和m的设置直接影响布林带的宽度,从而影响突破信号的频繁程度。周期n可设置在10-20之间,标准差倍数m可设置在1-2倍之间,一般参数设置越保守,突破信号越少且越可靠。
该策略的优势在于利用布林带判断市场趋势和波动率,根据突破信号判断入场时机,回撤出场。但是该策略也存在布林带滞后、突破信号不一定可靠、没有止损设置等问题。总体来说,该策略更适用于具有明显趋势的市场,但需要谨慎使用,可通过参数优化、加入止损和指标过滤来提高策略稳定性。
综上所述,布林带突破策略虽具有一定优势,但也存在不少风险。只有在参数优化和风险控制到位的情况下,才能将该策略稳定运用于实盘交易中。
/*backtest start: 2022-09-04 00:00:00 end: 2023-09-10 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy(title="Bollinger Band Breakout", shorttitle = "BB-BO",default_qty_type = strategy.percent_of_equity,default_qty_value = 100, overlay=true) source = close length = input(20, minval=1, title = "Period") //Length of the Bollinger Band mult = input(1.5, minval=0.001, maxval=50, title = "Standard Deviation") // Use 1.5 SD for 20 period MA; Use 2 SD for 10 period MA basis = sma(source, length) dev = mult * stdev(source, length) upper = basis + dev lower = basis - dev if (crossover(source, upper)) strategy.entry("Long", strategy.long) if(crossunder(source, basis)) strategy.close("Long") plot(basis, color=color.red,title= "SMA") p1 = plot(upper, color=color.blue,title= "UB") p2 = plot(lower, color=color.blue,title= "LB") fill(p1, p2)