该源码是一个功能极其丰富且复杂的 MT5 多策略智能交易机器人(EA),版本号为 V1.58,名为“日日制胜EA”。它集成了五种独立的交易模式、多重过滤系统、严密的风控机制以及远程授权验证。
以下是对该源码所有功能的全面系统分析:
1. 核心架构与授权系统
多模式集成架构:EA 采用模块化设计,通过 Enable_ModeA/B/C/D/E 开关独立控制五种策略,各策略使用不同的 Magic Number 区分订单,互不干扰但可协同运行。
远程授权验证:
硬件绑定:生成并保存带校验和的 Hardware ID 到本地文件,防止复制。
网络验证:通过 WebRequest 向 bbs.2ha.cn 发送账户、品种、API密钥及硬件ID进行验证。
缓存与容错:具备授权结果缓存(300秒)和定期重验机制(默认3600秒),回测模式下自动跳过验证。
防篡改:URL 采用 CharToString 动态解码,增加逆向难度。
2. 五大交易策略模式详解
模式 A:网格交易 (GRID)
触发逻辑:基于价格极值回落/反弹点数(Sppp1_Grid)触发首单。
加仓机制:支持自定义间距和手数序列(字符串解析),最多15层加仓。
时段控制:支持5个独立的多/空建仓时间段,支持跨日时段解析。
止盈:基于平均盈利点数全平。
模式 B:点数突破 (POINT)
触发逻辑:基于K线收盘价变化点数触发首单。
加仓机制:与模式A类似,但基于当前持仓均价与现价的点差触发加仓。
独立止盈:计算指定 Magic Number 持仓的平均点数盈亏进行平仓。
模式 C:智能 ATR 网格
动态间距:支持固定间隔或 ATR 动态间隔(GRID_ATR),适应市场波动。
多种加仓模式:自定义手数序列、马丁倍率、递增模式。
挂单状态机:实现顺势/逆势挂单自动切换,支持挂单追踪移动。
分段止盈:≤2单单独止盈,3-7单交叉出场,≥8单平均出场。
锁仓对冲:当一侧订单数达标且亏损时,停止另一侧加仓。
模式 D:对冲策略 (HED)
自定义手数:支持37层自定义手数序列,最大手数限制。
复杂出场:
单量≤2:盈利点位平仓。
单量3-7:交叉平仓(平最后和中间单)。
单量≥8:修改整体止盈价,启用盈利保护止损。
逃跑计划:当最大手数或整体盈利达标时强制全平。
种子订单:通过 BuyLimit 订单作为控制面板(666默认/777全平/888暂停/444移除)。
模式 E:挂单策略 (LPB)
三种开单模式:新K线、时间间隔、无延迟。
双参数组:浮亏超过阈值后自动切换到第二套间距/手数参数。
逆势/顺势保护:支持 CloseBuySell 和 HomeopathyCloseAll 保护机制。
限价窗口:在指定价格上方/下方禁止开单。
每日目标:达到每日盈利目标后自动封盘。
3. 信号过滤与趋势识别系统
趋势过滤器:
双 EMA(快/慢线)+ ADX 强度判断。
定义“强烈多头/空头”状态,仅在趋势匹配或震荡时允许特定模式开单。
可视化面板实时显示趋势状态和操作指令。
RSI 过滤:超卖允许开多,超买允许开空,支持独立时间框架。
超级趋势 (SuperTrend) 过滤:基于 ATR 计算趋势方向,顺趋势开单。
过滤范围控制:可选择仅对首单过滤或对每次补单都过滤。
新闻过滤:接入 MT5 经济日历 API,高影响新闻前后自动暂停交易并平仓等待。
4. 风险控制与资金管理
多层级止损:
账户级:最大回撤百分比、净值止损百分比。
策略级:各模式独立止损金额。
单笔级:最大滑点、点差限制、杠杆检查。
盈利保护:
整体盈利追踪止损(高点回调平仓)。
盈利回调平仓机制(触发保护线后回落至回调线平仓)。
亏损保护(亏损+单量双重阈值触发)。
反向平仓:RSI + Stochastic + Williams 三重共振确认反转信号,支持按模式选择性平仓。
环境检查:自动检测对冲账户、交易权限、品种状态、点差、最大持仓数等。
5. 用户交互与可视化
信息面板:
自适应 DPI 和分辨率的 UI 缩放。
显示工作状态、时段、新闻、目标进度、持仓统计、账户信息等。
支持展开/收起,强制置顶不被K线遮挡。
快捷按钮:
左下角:平A单、平B单、平多、平空、重置统计。
面板内:启停交易、单边控制、平盈利/亏损单、平当前品种/EA/账号全部。
图表辅助线:自动绘制多空均价线、限价线。
统计持久化:通过 GlobalVariable 保存最大浮亏/浮盈,支持每日自动重置。
6. 技术亮点与工程细节
智能订单填充:自动探测并尝试 IOC -> FOK -> RETURN 三种填充模式,兼容不同经纪商。
异步平仓与重试:平仓失败自动加入重试列表,支持配置重试次数和间隔。
性能优化:指标句柄复用、授权缓存、新闻数据分钟级缓存、避免重复创建对象。
黄金适配:自动识别 XAUUSD 并根据小数位调整点数参数(3位小数自动×10)。
代码规范:大量使用结构体(EAStats, PanelMetrics, NewsWindowState)封装状态,函数前置声明清晰。
总结
这是一个机构级复杂度的零售 EA,其核心价值在于将多种互补策略(网格、突破、ATR、对冲、挂单)整合在一个系统中,并通过严格的趋势过滤和风控机制降低单一策略的风险。代码量大(约1万行),逻辑严密,适合有一定经验的交易者根据市场环境灵活配置使用。 |