ARTICLE · 1067677
量化EA:集思坊网格模块EA-MT5源码
这是一个以 M1 MA120 定首单方向、按价格网格加仓、达到主单数量后开反向单、按整体浮盈/浮亏退出 的 MT5 黄金网格 EA,带有完整面板、启动动画、蓝金图表皮肤和写死编译时间的授权模块

1.集思坊网格模块EA-MT5源码

一、核心交易逻辑
首单方向:M1 MA120 过滤
使用
PERIOD_M1、MA_PERIOD=120的 SMA。Bid >= MA时做多,否则做空。首单还受点差过滤、北京时间首仓窗口、最小开仓间隔限制。
主单网格加仓
InpAddStepUSD:主单加仓间距,默认 1.0 美元;InpGridGoldPoints * 0.01:同向主单最小间隔,默认 90 点 = 0.90 美元;实际使用两者较大值,默认就是 1 美元加仓一次。
主单备注为
InpOrderTag + "_M",默认是X指标策略_M。加仓间距取:
手数按输入框里的“主手数第01排~第10排”解析。默认启用 3 排,从 0.01、0.02 逐步递增到 0.70;超过表内档位后,按最后一档
*1.2继续递增,并按平台最小手数步长规范化。反向单
当主单数量达到
InpReverseStart,默认第 3 单后,若还没有反向单,则开一笔反向单。反向单手数固定为
InpReverseLot,默认 0.01。反向单备注为
_R,会设置固定止盈:开仓价 ±InpReverseTakeProfit,默认 2 美元。反向单依赖对冲账户,代码里也警告:净额账户无法同时持有多空。
整体平仓
当总浮盈 ≥
InpBasketTP,默认 15 账户货币,且订单数 ≥InpTakeProfitStartOrders,默认第 1 单起,就执行整体平仓。可选浮亏强平:
InpLossClose=true时,浮亏 ≤-InpMaxFloatLoss就全平;强平后可选暂停继续开仓。平仓支持异步多轮重试,默认 5 轮,每轮间隔 120ms。
二、风控与资金管理
整体止盈:按账户货币浮盈计算,
TotalProfit()包含持仓盈亏和库存费,但不含手续费。浮亏强平:默认关闭,最大允许浮亏 5000。
点差过滤:默认关闭,启用后只主要在首单前拦截点差过大。
北京时间首仓管控:默认关闭。启用后按 GMT+8 判断周一到周五的首单允许时间段,周末不允许首单。注意它主要管“首单”,不限制已有主单后的加仓。
滑点:
InpSlippageUSD默认 0.30 美元,换算成黄金点数,最少 30 点。手数规范化:按品种
SYMBOL_VOLUME_MIN/MAX/STEP处理。魔术码:默认
2026888,用于区分本 EA 的订单。旧单兼容:
InpManageOldNoComment=true时,只要同品种、同魔术码就视为本 EA 订单,不强制检查备注,方便兼容旧版无备注主单。
三、面板与视觉
启动时有 5.2 秒的 Canvas 启动动画,结束后显示“已添加到策略面板”提示。
图表会切换成蓝金“量化驾驶舱”风格,移除 EA 后恢复原图表配色。
面板显示:
运行状态、总资金、今日盈利、浮动盈亏、订单数量;
暂停/恢复、平仓、锁仓按钮;
授权有效期、QQ/备注文字。
交易线可显示实时价、入场虚线、反向单止盈线,只画本 EA 魔术码的持仓。
锁仓按钮会计算当前多空净手数,反向开一笔等量净手数,备注
_L,成功后自动暂停开单。
四、授权机制
源码里写了一个授权模块:
JCS_LICENSE_VALID_DAYS定义为9191天;有效期从编译时间
__DATETIME__开始计算;也就是说,这个“授权”本质上是写死在编译后的 EX5 里的;
注释写的是“30天授权”,但实际定义是 9191 天,约 25 年,二者不一致;
到期后
OnInit会失败,OnTick/OnTimer会移除 EA,并且OpenMarket也会被许可检查拦住。
五、需要注意的点
只适合 MT5 对冲账户。反向单
_R和锁仓_L都假设可以同时持有多空。黄金点固定为 0.01。如果不是黄金品种,点差、止盈、加仓距离等换算可能不合适。
InpAvgTP和InpAvgTPMinGold目前没有实际逻辑,只在初始化日志里出现,属于预留或未实现参数。点差过滤主要影响首单,加仓和反向单没有再次调用
SpreadBlocked()。许可到期后 EA 会直接移除,不会自动平仓。如果实盘运行,需要提前处理持仓。
默认整体止盈 15 账户货币、从第 1 单生效,意味着订单很少时也可能快速全平。
默认不启用浮亏强平、点差过滤、北京时间首仓管控,实盘前应仔细回测和调整。

EA软件仅为自动化交易执行工具,所有交易决策基于用户预设规则(如技术指标、止损止盈参数等),不涉及投资建议或标的推荐。交易存在本金损失风险,历史回测结果不预示未来收益,市场波动、滑点等因素可能导致实际亏损超出预期。任何策略无法适应所有市场环境(如趋势/震荡行情切换),需定期优化参数,避免过度拟合历史数据。用户需自主设置仓位管理(建议单笔风险≤本金1%)、止损机制,避免使用马丁格尔等激进策略而无上限保护。我们X只提供策略框架,不保证绝对盈利,如有亏损请自负,EA程序源码仅作参考不构成投资建议!