在外汇交易领域,布林带(Bollinger Bands)是一个常用的技术分析工具,它由三个线组成:中轨、上轨和下轨。其中,布林带宽(Bollinger Width)和B%指标是布林带中两个重要的参数,用于衡量市场的波动性。掌握这两个指标对于交易者来说至关重要。下面,我将一步步教你如何轻松掌握这些指标,并提供一个实战源码示例。
了解布林带宽与B%指标
布林带宽(Bollinger Width)
布林带宽是通过计算标准差来衡量市场波动性的。其计算公式如下:
[ BBW = \frac{Upper Band - Middle Band}{Middle Band} \times 100 ]
其中,Upper Band 是布林带上轨,Middle Band 是布林带中轨。
B%指标
B%指标是衡量当前价格相对于布林带中轨的位置的百分比。其计算公式如下:
[ B% = \frac{Current Price - Middle Band}{Upper Band - Lower Band} \times 100 ]
其中,Lower Band 是布林带下轨。
编写实战源码
现在,让我们通过一个MT4源码示例来了解如何使用布林带宽和B%指标。以下是一个简单的MT4 MQL4代码,它将在图表上绘制布林带宽和B%指标。
//+------------------------------------------------------------------+
//| BBWidth.mq4 |
//| Copyright 2019, MetaQuotes Software Corp. |
//| https://www.mql5.com |
//+------------------------------------------------------------------+
#property strict
// 输入参数
input int Length = 14; // 布林带周期
input double Deviation = 2.0; // 标准差倍数
input bool DrawWidth = true; // 绘制布林带宽
input bool DrawBPercent = true; // 绘制B%
// 计算布林带指标
array<double> UpperBand;
array<double> MiddleBand;
array<double> LowerBand;
array<double> BollingerWidth;
array<double> BPercent;
// 初始化指标数组
InitBands(Length, Deviation, UpperBand, MiddleBand, LowerBand);
// 主函数
void OnStart() {
// 计算布林带宽和B%
for (int i = 0; i < ArraySize(UpperBand); i++) {
if (UpperBand[i] > 0) {
BollingerWidth[i] = (UpperBand[i] - MiddleBand[i]) / MiddleBand[i] * 100;
BPercent[i] = (Close[i] - MiddleBand[i]) / (UpperBand[i] - LowerBand[i]) * 100;
} else {
BollingerWidth[i] = 0;
BPercent[i] = 0;
}
}
// 绘制布林带宽
if (DrawWidth) {
PlotBand("Bollinger Width", 0, ArrayHigh(BollingerWidth), ArrayLow(BollingerWidth), "Blue");
}
// 绘制B%
if (DrawBPercent) {
PlotBand("B% Value", 0, ArrayHigh(BPercent), ArrayLow(BPercent), "Red");
}
}
// 计算布林带
void InitBands(int Length, double Deviation, array<double>& UpperBand, array<double>& MiddleBand, array<double>& LowerBand) {
// 计算布林带中轨
MiddleBand[0] = ATR(Length)[0];
for (int i = 1; i < ArraySize(UpperBand); i++) {
MiddleBand[i] = ATR(Length)[i];
}
// 计算布林带上轨和下轨
UpperBand[0] = MiddleBand[0] + (ATR(Length)[0] * Deviation);
LowerBand[0] = MiddleBand[0] - (ATR(Length)[0] * Deviation);
for (int i = 1; i < ArraySize(UpperBand); i++) {
UpperBand[i] = MiddleBand[i] + (ATR(Length)[i] * Deviation);
LowerBand[i] = MiddleBand[i] - (ATR(Length)[i] * Deviation);
}
}
使用源码
- 打开你的MT4交易平台。
- 点击“文件”菜单,选择“打开数据文件夹”。
- 进入“MQL4”文件夹,然后进入“Experts”文件夹。
- 创建一个新文件,命名为“BBWidth.mq4”,并将上面的代码复制进去。
- 返回MT4,点击“工具”菜单,选择“选项”。
- 在“专家顾问”选项卡中,勾选“允许自动运行专家顾问”。
- 返回MT4图表,点击“插入”菜单,选择“专家顾问”。
- 选择“BBWidth.mq4”,点击“确定”。
现在,布林带宽和B%指标应该会显示在你的图表上。通过观察这些指标,你可以更好地理解市场的波动性,并据此做出交易决策。记住,任何技术分析工具都只是辅助工具,真正的交易成功还是依赖于你对市场的深刻理解和良好的风险管理。
