布林带通道突破交易策略

Author: ChaoZhang, Date: 2023-09-12 17:05:56
Tags:

本策略通过观察价格对布林带通道的突破来进行交易。布林带可有效界定价格震荡范围,其突破可作为趋势转换的信号。

策略原理:

  1. 计算布林带中线、上带和下带。中线为n日简单移动均线,带宽为n日标准差的若干倍。

  2. 当价格上穿下带时,做多;当价格下穿上带时,做空。

  3. 设置止损位于相反方向的布林带线上,进行风险控制。

  4. 采用趋势追踪止损可锁定更多利润,也可选择固定止损。

  5. 可为做多做空订单设置互斥,避免同时存在多空单。

该策略的优势:

  1. 突破布林带可有效识别趋势变化点。

  2. 设置在布林带上的止损有利于从趋势中及时退出。

  3. 互斥订单可避免同向交易对冲。

该策略的风险:

  1. 布林带均线和标准差存在滞后,可能错过最佳入场点位。

  2. 震荡趋势中可能出现频繁的假突破。

  3. 标准参数无法适应市场波动率的变化。

总之,该策略通过判断布林带的突破情况进行交易,属于典型的通道突破策略。在参数优化和风险控制方面还有改进空间,但整体思路简单可靠。


/*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")

更多内容