外汇基础知识

布林带挤压 EA 怎么写:MQL4 / MQL5 实现思路

✍️ 汇合作经纪部 · 📅 2026-05-25 · ⏱ 阅读约 4 分钟 · 👁 2 次阅读
布林挤压策略可以写成 EA 自动化。本文 700 字介绍实现思路 + 关键代码片段。

布林带挤压策略可以写成 EA 自动化。本文介绍实现思路。

EA 核心逻辑

  1. 读 Bollinger Band 上下轨 + 中轨
  2. 计算 Band Width(带宽)
  3. 对比最近 120 根 K 的 Band Width
  4. 当前在最低分位(< 10%)= 挤压
  5. 等突破 + 量能放大
  6. 开仓 + 设止损

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 实现要点

  1. 确认方向:挤压本身不指方向 — 需 RSI / 趋势线辅助
  2. 量能确认:MT4 用 tick volume,效果有限
  3. 止损止盈: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 自动化需要持续维护 + 监控。请做好准备再实盘。

外汇基础知识
如有投资决策请谨慎,本文仅供参考
💬