基于平移布林通道的系统

1 名词解释

布林通道:根据标准差原理设计出来的技术指标,利用波带来显示安全的高低价位。由均线和标准差概念组成的。

一般来说,布林通道线是由上、中、下三条轨道线组成,但若将开关参数设为1,图形就以四条线表示。其中上、下轨位于通道的最外面,分别是该趋势的压力线(Up线)与支撑线(Down线);中间那条,即中轨,为价格的平均线。多数情况下,价格总是在由上下轨道组成的带状区间中运行,且随价格的变化而自动调整轨道的位置。而带状的宽度可以看出价格变动的幅度,愈宽表示价格的变动愈大。

布林通道主要分为三条线:布林线上轨、中轨、下轨。

布林线中轨很好理解,其实默认对应的就是20均线

布林线上轨值 = 布林线中轨值 + 2 * 过去20日股价或指数的标准差。

布林线上轨值 = 布林线中轨值 - 2 * 过去20日股价或指数的标准差。

20日均线是短期趋势向好和向坏的一个分水岭。股价如果在20日均线之上,则表明短期趋势向好,交易性机会增多,而如果在20日均线之下,则表明短期向坏,交易性的机会大大降低。

计算过程:

  1. 计算移动平均线(MA):首先,需要计算一段时间内的移动平均线,即资产价格的简单平均值。移动平均线通常使用收盘价,但也可以使用其他价格,如开盘价或最高/最低价。在这个策略中,移动平均线的周期数由“AvgLen”参数设置,一般选取20、50或200个周期。

设资产价格的收盘价为P,移动平均线周期数为N,则第N天的移动平均线MA为:

MA = (P1 + P2 + ... + PN) / N

  1. 计算标准差(SD):标准差是一种衡量数据分散程度的统计量,用于衡量资产价格相对于移动平均线的波动性。在布林带指标中,需要计算一段时间内资产价格与移动平均线之间的标准差。标准差的周期数由“SDLen”参数设置,一般选取20个周期。

设第i天的收盘价为Pi,第N天的移动平均线为MA,则第N天的标准差SD为:

SD = sqrt((1/N) * ( (P1-MA)^2 + (P2-MA)^2 + ... + (PN-MA)^2 ))

  1. 计算上轨和下轨:根据统计学原理,资产价格相对于移动平均线的波动性通常在一个范围内波动,该范围由上下轨界定。上轨是移动平均线加上一定倍数的标准差,下轨是移动平均线减去一定倍数的标准差。在这个策略中,倍数由“SDev”参数设置,默认为2倍标准差。因此,上轨和下轨的计算公式如下:

上轨 = 移动平均线 + SDev * 标准差下轨 = 移动平均线 - SDev * 标准差

  1. 计算布林带中轨、上轨和下轨:将上述计算结果绘制在资产价格的K线图上,即可得到布林带指标的三条线,分别为中轨、上轨和下轨。

2 参数设定

Params
    Numeric AvgLen(3); //boll均线周期参数
    Numeric Disp(16); //boll平移参数
    Numeric SDLen(12); //boll标准差周期参数\即布林带上轨和下轨相对于均线的偏移量。
    Numeric SDev(2); //boll通道倍数参数
Vars
    Numeric TPrice; //关键价格
    NumericSeries AvgVal; //中轨
    NumericSeries SDmult; //通道距离
    NumericSeries DispTop; //通道高点
    NumericSeries DispBottom; //通道低点
  • Numeric AvgLen(均线周期参数):这个参数设置了用于计算移动平均线的周期数,移动平均线是布林带的中间线。在这个策略中,这个参数被设置为3个周期。

  • Numeric Disp(平移参数):这个参数设置了移动平均线的偏移量,用于在图表上左右移动布林带。

  • Numeric SDLen(标准差周期参数):这个参数设置了用于计算布林带上轨和下轨相对于移动平均线偏移量的标准差周期数。在这个策略中,它被设置为12个周期。

  • Numeric SDev(通道倍数参数):这个参数设置了布林带的通道距离,即布林带上轨和下轨与移动平均线之间的距离是标准差的几倍。在这个策略中,它被设置为2倍标准差。

  • Numeric TPrice(关键价格):这个变量表示用于计算布林带的价格,通常是该资产的收盘价。

  • NumericSeries AvgVal(中轨):这个变量是移动平均线的计算结果,表示布林带的中间线。

  • NumericSeries SDmult(通道距离):这个变量表示布林带上下轨距离移动平均线的距离,单位是标准差。

  • NumericSeries DispTop(通道高点)和DispBottom(通道低点):这两个变量分别表示布林带的上轨和下轨的计算结果,表示资产价格的高点和低点。

3 信号发出

  • 计算了布林通道指标的值,包括均线、通道距离、通道高点和低点。

//均线
AvgVal = Ma(TPrice,AvgLen);
//标准差
SDmult = Std(TPrice,SDLen) * SDev;
//通道高点和低点
DispTop = AvgVal[Disp] + SDmult;
DispBottom = AvgVal[Disp] - SDmult;
  • 入场条件

  • 当前持仓为0(MarketPosition == 0),当前价格突破布林带通道的上轨(High >= DispTop[1])则进行买开(BK(DefaultVol))

  • 当前持仓为0(MarketPosition == 0),当前价格突破布林带通道的下轨(Low <= DispBottom[1])则进行卖开(SK(DefaultVol))

        If(MarketPosition == 0)
        {
            If(High >= DispTop[1])
            {
                BK(DefaultVol);
            }
            Else If(Low <= DispBottom[1])
            {
                SK(DefaultVol);
            }
        }
  • 出场条件

  • 当前持仓为多头(MarketPosition == 1)且持仓时间超过1个bar(BarsSinceEntry > 0),当前价格跌破布林带通道的下轨(Low <= DispBottom[1])则进行卖平(SP(DefaultVol))

  • 当前持仓为空头(MarketPosition == -1)且持仓时间超过1个bar(BarsSinceEntry > 0),当前价格突破布林带通道的上轨(High >= DispTop[1])则进行买平(BP(DefaultVol))

        //系统出场
        If(MarketPosition == 1 && BarsSinceEntry > 0)
        {
            If(Low <= DispBottom[1])
            {
                SP(DefaultVol);
            }
        }
        If(MarketPosition == -1 && BarsSinceEntry > 0)
        {
            If(High >= DispTop[1])
            {
                BP(DefaultVol);
            }
        }

4 策略总结

规则要素:

在每次行情变化时,先计算出布林通道的中轨、通道距离、通道高点和低点等参数,然后根据当前的市场位置和之前的入场时间等因素,决定是否进行交易。

入场条件:

如果市场处于空仓状态

当价格触及布林通道上轨时,会进行买开仓操作;

当价格触及布林通道下轨时,会进行卖开仓操作。

出场条件:

如果市场处于多头持仓状态,当价格跌破布林通道下轨时,会进行卖平仓操作。

如果市场处于空头持仓状态,当价格超过布林通道上轨时,会进行买平仓操作。

需要注意的是,该策略是基于前一根K线的布林通道参数进行交易的,因此在实际应用中需要适当调整参数,以适应不同的市场变化。同时,由于布林通道本身存在滞后性,因此也需要结合其他指标进行综合分析。

5 Q&A

  1. 为什么AvgLen是3而SDLen是12

因为布林通道指标的计算涉及到两个参数:均线周期和标准差周期。

在这个代码中,均线周期的参数为AvgLen,标准差周期的参数为SDLen。AvgLen的值为3,表示使用3个周期的价格均值计算布林通道的中轨;SDLen的值为12,表示使用12个周期的价格数据计算布林通道的标准差。

一般来说,均线周期和标准差周期的取值需要根据实际情况进行调整。较小的均线周期可以更快地反映价格的变化,但同时也更容易受到噪声的影响;较大的均线周期则可以减少噪声的影响,但同时也会导致滞后效应。较小的标准差周期可以更敏感地反应价格波动的快速变化,但同时也更容易受到噪声的影响;较大的标准差周期则可以减少噪声的影响,但同时也会导致滞后效应。因此,在实际使用中,需要根据市场的波动情况和交易策略的特点进行调整。

  1. 为什么disp为16

平移参数指的是标准差通道的位置相对于中轨线的偏移量。默认情况下,布林带的中轨线和上下通道都是基于收盘价计算的。然而,交易者也可以选择使用其他价格,例如开盘价、最高价或最低价来计算中轨线和通道。

通过调整平移参数,交易者可以改变通道的位置,使其更好地适应当前市场的价格波动情况。例如,如果市场上涨趋势较强,通道可能需要向上平移,以更好地捕捉价格上涨的机会。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值