布林带指标(Bollinger Bands)是由著名技术分析师约翰·布林格(John Bollinger)于20世纪80年代创立,是通过计算价格的标准差和移动平均线来生成上、中、下三条轨道线,从而帮助投资者判断市场波动、趋势和潜在的买卖信号。在布林带指标中,中轨线通常为价格的简单移动平均线(默认 20 SMA),上下轨线则分别为价格在中轨线基础上增减一定倍数的标准差。布林带的宽度反映了市场波动性的大小:宽度扩大表示波动增加,宽度收窄则表示波动减小。
布林带指标也是MT4自带的技术指标之一,在MT4上方菜单栏依次点击-插入-技术指标-趋势指标-Bollinger Bands,并在出来的指标属性框中设置相关参数后,点“确定”即可将布林带指标插入到当前图表中。如下图所示:
布林带指标一共有三条指标线:布林上轨、中轨、下轨,相关数据用iBands()函数获取。当然,因为布林中轨默认是一条SMA均线,单独用iMA函数获取中轨数据也是可以的。
iBands()函数结构:
double iBands(
string symbol, // 交易品种名称
int timeframe, // 图表时间周期
int period, // 计算布林带的移动平均线周期
double deviation, // 标准差倍数,用于计算上下轨线
int bands_shift, // 布林带线移位
int applied_price, // 价格类型
int mode, // 计算指标线模式
int shift // 索引
);
其中参数说明:
- symbol:交易品种名称,如”EURUSD”。若填写为Symbol()或空字符串””,则指当前图表品种。
- timeframe:图表时间周期,如PERIOD_M15代表15分钟周期。
- period:计算布林带的移动平均线周期。
- deviation:标准差倍数,用于计算上下轨线。
- bands_shift:布林带线移位。
- applied_price:价格类型。如PRICE_CLOSE表示收盘价。
- mode:计算模式,可选MODE_UPPER(上轨线)、MODE_MAIN(中轨线)或MODE_LOWER(下轨线)。
- shift:数据的偏移值,即想要获取多少根K线前的数据。
用iBands()函数获取当前图表默认参数的布林带上、中、下轨的最新数据,示范代码:
double Bands_up_0 = iBands(Symbol(),0,20,2,0,PRICE_CLOSE,MODE_UPPER,0);//上轨
double Bands_Down_0 = iBands(Symbol(),0,20,2,0,PRICE_CLOSE,MODE_LOWER,0);//下轨
double Bands_MA_0 = iBands(Symbol(),0,20,2,0,PRICE_CLOSE,MODE_MAIN,0); //中轨
//double Bands_iMA_0 = iMA(Symbol(),0,20,0,MODE_SMA, PRICE_CLOSE, 0);//用iMA获取中轨数据
跨图表获取黄金XAUUSD日线图表默认参数的布林带上、中、下轨的最新数据,示范代码:
double XAUUSD_Bands_up_0 = iBands("XAUUSD",PERIOD_D1,20,2,0,PRICE_CLOSE,MODE_UPPER,0);
double XAUUSD_Bands_Down_0 = iBands("XAUUSD",PERIOD_D1,20,2,0,PRICE_CLOSE,MODE_LOWER,0);
double XAUUSD_Bands_MA_0 = iBands("XAUUSD",PERIOD_D1,20,2,0,PRICE_CLOSE,MODE_MAIN,0);
//double XAUUSD_Bands_iMA_0 = iMA("XAUUSD",PERIOD_D1,20,0,MODE_SMA, PRICE_CLOSE, 0);
总的说来,布林带指标 (Bollinger Bands)的编程数据获取,也不是很复杂的,根据需要赋值或演变iBands()函数的参数即可。iBands()函数通过以下步骤计算布林带指标:1、计算指定周期内的移动平均线;2、计算价格与移动平均线的标准差;3、根据标准差倍数,计算上轨线和下轨线。