本策略通过观察价格对布林带通道的突破来进行交易。布林带可有效界定价格震荡范围,其突破可作为趋势转换的信号。
策略原理:
计算布林带中线、上带和下带。中线为n日简单移动均线,带宽为n日标准差的若干倍。
当价格上穿下带时,做多;当价格下穿上带时,做空。
设置止损位于相反方向的布林带线上,进行风险控制。
采用趋势追踪止损可锁定更多利润,也可选择固定止损。
可为做多做空订单设置互斥,避免同时存在多空单。
该策略的优势:
突破布林带可有效识别趋势变化点。
设置在布林带上的止损有利于从趋势中及时退出。
互斥订单可避免同向交易对冲。
该策略的风险:
布林带均线和标准差存在滞后,可能错过最佳入场点位。
震荡趋势中可能出现频繁的假突破。
标准参数无法适应市场波动率的变化。
总之,该策略通过判断布林带的突破情况进行交易,属于典型的通道突破策略。在参数优化和风险控制方面还有改进空间,但整体思路简单可靠。
/*backtest start: 2022-09-05 00:00:00 end: 2023-09-11 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy("Kozlod - BB Strategy - 1 minute", overlay=true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100) // // author: Kozlod // date: 2019-05-27 // RSI - BTCUSDT - 1m // https://www.tradingview.com/u/Kozlod/ // https://t.me/quantnomad // source = close length = input(45, minval=1) mult = input(2.5, minval=0.001, maxval=50) basis = sma(source, length) dev = mult * stdev(source, length) upper = basis + dev lower = basis - dev plot(upper) plot(lower) buyEntry = crossover(source, lower) sellEntry = crossunder(source, upper) if (crossover(source, lower)) strategy.entry("BBandLE", strategy.long, stop=lower, oca_name="BollingerBands", comment="BBandLE") else strategy.cancel(id="BBandLE") if (crossunder(source, upper)) strategy.entry("BBandSE", strategy.short, stop=upper, oca_name="BollingerBands", comment="BBandSE") else strategy.cancel(id="BBandSE")