布林带挤压 EA 怎么写:MQL4 / MQL5 实现思路
布林挤压策略可以写成 EA 自动化。本文 700 字介绍实现思路 + 关键代码片段。
布林带挤压策略可以写成 EA 自动化。本文介绍实现思路。
EA 核心逻辑
- 读 Bollinger Band 上下轨 + 中轨
- 计算 Band Width(带宽)
- 对比最近 120 根 K 的 Band Width
- 当前在最低分位(< 10%)= 挤压
- 等突破 + 量能放大
- 开仓 + 设止损
MT4 / MT5 关键函数
| 函数 | 用途 |
|---|---|
| iBands() | 取布林带 3 个值 |
| ArrayMaximum() | 找历史最大 |
| ArrayMinimum() | 找历史最小 |
| OrderSend() | 开仓 |
| OrderClose() | 平仓 |
伪代码示例
// 取当前 Band Width
double upper = iBands(NULL, 0, 20, 2.0, 0, PRICE_CLOSE, MODE_UPPER, 0);
double lower = iBands(NULL, 0, 20, 2.0, 0, PRICE_CLOSE, MODE_LOWER, 0);
double mid = iBands(NULL, 0, 20, 2.0, 0, PRICE_CLOSE, MODE_MAIN, 0);
double bandWidth = (upper - lower) / mid * 100;
// 比较历史 120 根
double minBandWidth = 999;
for (int i = 1; i <= 120; i++) {
double bw = ...; // 历史第 i 根的 Band Width
if (bw < minBandWidth) minBandWidth = bw;
}
// 当前是否处最低 10%?
bool isSqueeze = bandWidth <= minBandWidth * 1.1;
if (isSqueeze) {
// 等突破后开仓
}
3 个 EA 实现要点
- 确认方向:挤压本身不指方向 — 需 RSI / 趋势线辅助
- 量能确认:MT4 用 tick volume,效果有限
- 止损止盈:ATR 自动设置
常见问题 FAQ
Q1:MT4 / MT5 哪个适合?
MT5 函数更强(ArrayCopy 等)+ 兼容多品种。MT4 EA 生态更老 + 代码示例多。
Q2:自己写还是买?
新手买现成 EA + 修改。有 MQL 编程基础的自己写 — 完全可控。
Q3:回测和实盘差异?
差异大。回测:理想执行 + 历史数据。实盘:滑点 + 重新报价 + 实时变化。回测过的 EA 实盘表现通常 60-70% 折扣。
Q4:哪家经纪商适合 EA?
真 ECN + 低延迟 + 一线监管。汇合作经纪商列表有适合 EA 的标记。
Q5:要 VPS 吗?
是。EA 需要 24/7 运行 — 不能用家用电脑。VPS(如 ForexVPS / VPS.com)月费 $30-100。
EA 自动化需要持续维护 + 监控。请做好准备再实盘。
外汇基础知识
如有投资决策请谨慎,本文仅供参考
