SuperAPI AI 工具集

mql5-ea-expert

编程与开发

查看项目

更新于 10-22 16:14

技能介绍

用途

本技能定位为 MetaTrader 5 平台上的 MQL5 架构师与量化开发指南,面向需要开发专家顾问(EA)、自定义指标、脚本、库(.mqh)及交易框架的场景。其目标是以“零错误”质量标准产出完整、可编译、可投入生产的代码,并融合算法精度与市场微观结构知识。

主要能力

  • 零错误保证:要求代码每次编译均为 0 错误、0 警告;不产出部分代码、占位符或截断片段;不使用已弃用的 MQL5 函数(如旧版 OrderSend() API);对指针做空值检查、数组索引做边界校验、函数返回值与句柄均需处理。
  • 默认安全与兼容:默认包含自营交易公司安全规则(每日回撤、总回撤、点差、新闻、交易时段防护);自动适配 4 位与 5 位报价经纪商;运行时检查 ECN/STP 成交模式(FOK/IOC/Return);逻辑在策略测试器与实盘中保持一致;并行指标计算中避免共享状态修改。
  • 强制风险管理:即使用户要求移除,也始终包含每笔最大风险(默认 1%)、每日亏损限制(默认 5%)、最大回撤保护(默认 20%)、点差过滤与用于持仓跟踪的魔术号。对危险配置予以拒绝或限制:马丁格尔倍数 > 2.0 强制上限 1.5,马丁格尔步数 > 5 强制上限 3-4,单笔风险 > 5% 警告并建议 1%,无止损则拒绝(除非有合理策略理由)。对网格/马丁格尔策略、高杠杆、不切实际的盈利目标、风险管理不足等情况触发明确警告。
  • 歧义处理协议:不假设、不虚构需求;若任何规格缺失或矛盾,在编写任何交易逻辑前先提问,问题需编号、具体并按类别分组。

使用方式

技能以结构化章节组织,涵盖:身份与绝对标准、编码前需求清单、架构与文件组织、编码标准、核心模式、策略框架、高级类(多时间框架、资金管理、网格、马丁格尔)、自营公司安全模块、自定义指标标准、仪表盘面板、CSV 日志与交易日志、回测与验证、调试与陷阱、响应交付格式、专长领域、部署前检查清单。

编码前需确认的清单包括:类型(EA/指标/脚本/库/面板)、MT5 构建目标(最低 2450+)、单品种或多品种;策略(品种与主时间框架、入场触发条件、入场时机、出场条件、高时间框架过滤、方向限制);资金管理(手数计算方式、最大同时持仓数、是否允许加仓/减仓);交易管理(止损、止盈、保本、移动止损、部分平仓);过滤与安全(最大点差、最低账户余额、新闻过滤、交易时段、星期过滤、自营公司规则);可视化与报告(仪表盘、图表对象、警报方式、CSV 交易日志、自定义 OnTester() 指标)。

架构上,简单 EA(< 400 行)使用单文件;复杂 EA/框架采用模块化结构,将输入参数、信号引擎、交易引擎、风险引擎、过滤引擎、交易管理、仪表盘、日志、工具等拆分为独立 .mqh 文件。自定义指标同样有独立结构。所有文件需包含强制文件头。

编码标准规定了命名约定(Inp 前缀输入参数、g_ 全局变量、h_ 句柄、c_ 类对象、ALL_CAPS 常量、ENUM_ 枚举类型)、输入参数分组、数据类型选择(魔术号与订单号用 ulong,价格与距离用 double 并 NormalizeDouble(),点/点值距离用 double 并按 pips * _Point * 10 转换,计数与索引用 int,布尔值初始化为 false,时间用 datetime,句柄初始化为 INVALID_HANDLE)。

核心模式提供规范实现,包括:指标句柄生命周期(OnInit 创建并验证、OnDeinit 释放、OnTick 最小拷贝并校验结果)、线程安全的新 K 线检测、CTrade 完整设置与结果检查、基于风险的仓位计算、基于 ATR 的止损、按魔术号与品种统计持仓、点差过滤、跨夜安全的交易时段过滤、保本管理、ATR 移动止损、部分平仓、交易预检。

策略框架涵盖 CRT(K 线区间理论)与 SMC(聪明钱概念),提供均衡点、标准差、BOS 检测等参考实现。

适用场景

适用于在 MetaTrader 5 上开发机构级专家顾问、自定义指标、交易库与框架;需要严格风险管理与自营交易公司合规约束的量化交易项目;以及希望以工程化标准组织 MQL5 代码结构的开发者。

限制

资料未提供该技能的具体安装命令、收费模式、价格、平台支持范围、实际效果数据或使用步骤。部分内容(如 SMC 的 BOS 检测代码)在资料中截断,未完整呈现。