name: gold-quant-ea-dev description: “黄金量化EA开发专家技能。精通MQL4编程语言,掌握各种量化交易策略(趋势跟踪、均值回归、突破等),具备代码审查、backtest分析和参数优化能力。当用户要求开发、审查、优化黄金交易EA时使用此技能。” agent_created: true
黄金量化EA开发技能
这个技能提供黄金量化交易EA(Expert Advisor)开发的完整能力,包括MQL4编程、策略设计、代码审查和执行分析。
技能范围
这个技能在以下场景触发:
- 开发黄金(XAUUSD)交易EA
- 审查现有EA代码(bug检查、性能优化、安全审计)
- 分析回测结果并给出优化建议
- 实现特定量化交易策略(趋势跟踪、均值回归、突破、网格、马丁格尔等)
- 修复EA编译错误和运行时错误
核心能力
1. MQL4编程精通
必须掌握的MQL4知识点:
- 基本语法:
init(),deinit(),start()或OnInit(),OnDeinit(),OnTick() - 订单操作:
OrderSend(),OrderClose(),OrderModify(),OrderDelete() - 指标调用:
iMA(),iRSI(),iATR(),iCustom()等 - 错误处理:
GetLastError(),ResetLastError() - 数组和缓冲区管理
- 文件操作:
FileOpen(),FileWrite(),FileClose() - 时间函数:
TimeCurrent(),TimeHour(),TimeMinute(),iTime() - 账户信息:
AccountBalance(),AccountEquity(),AccountFreeMargin() - 市场信息:
MarketInfo(),Symbol(),Digits,Point
常见编译错误和修复:
'function' - override system function→ 重命名函数'iMA' - wrong parameters count→ 使用正确的参数签名possible loss of data due to type conversion→ 检查变量类型return value should be checked→ 检查函数返回值unsupported file extension→ 检查文件编码(使用ANSI)
2. 量化交易策略库
趋势跟踪策略:
- 双均线策略(MA Cross)
- 三均线策略(Triple MA)
- MACD策略
- 布林带突破策略
- 通道突破策略(Donchian Channel)
均值回归策略:
- RSI超买超卖策略
- 布林带回归策略
- 均线回归策略
- KDJ策略
突破策略:
- 支撑阻力突破
- 斐波那契回撤突破
- 威廉指标突破
高级策略:
- 网格交易(Grid Trading)
- 马丁格尔(Martingale)- 谨慎使用
- 对冲策略(Hedging)
- 多时间框架策略(Multi-Timeframe)
- 神经网络策略(Perceptron/AC加权)
风险管理:
- 固定止损止盈
- ATR动态止损
- 追踪止损(Trailing Stop)
- 最大回撤保护
- 资金管理(固定手数、风险百分比、凯利公式)
3. 代码审查清单
安全性检查:
- [ ] 无外部DLL调用(除非明确需要)
- [ ] 无硬编码密码或敏感信息
- [ ] 无全局变量滥用
- [ ] 订单操作有返回值检查
- [ ] 有错误处理和日志
性能检查:
- [ ] 避免在每个tick中重复计算
- [ ] 使用指标句柄(MQL5)或缓存计算结果
- [ ] 避免过多的
OrderSelect()调用 - [ ] 优化循环和条件判断
逻辑检查:
- [ ] 入场条件清晰明确
- [ ] 出场条件完整
- [ ] 有无死循环风险
- [ ] 魔术号(Magic Number)正确使用
- [ ] 多币种和多周期兼容性
兼容性检查:
- [ ] 4位/5位经纪商兼容
- [ ] 不同时间周期兼容
- [ ] 不同品种兼容
4. 回测和执行分析
回测设置:
- 使用高质量历史数据(99%建模质量)
- 设置合理的点差和滑点
- 测试不同时间段(至少3个月)
- 避免过度拟合(Out-of-sample testing)
关键指标:
- 净利润(Net Profit)
- 最大回撤(Max Drawdown)
- 盈利因子(Profit Factor)
- 期望收益(Expected Payoff)
- 胜率(Win Rate)
- 交易次数(Total Trades)
- 恢复因子(Recovery Factor)
优化方法:
- 参数优化(Parameter Optimization)
- walk-forward分析
- 敏感性分析(Sensitivity Analysis)
- 蒙特卡洛模拟(Monte Carlo Simulation)
常见问题诊断:
- 过度拟合(Curve Fitting)
- 未来函数(Look-ahead Bias)
- 偷价(Slippage not accounted for)
- 夜盘流动性问题
工作流程
开发新EA
- 需求分析:明确交易策略、时间框架、风险管理要求
- 策略设计:绘制流程图,定义入场/出场条件
- 代码实现:
- 使用标准MQL4模板
- 实现核心信号计算函数
- 实现订单管理函数
- 实现风险管理函数
- 编译测试:修复所有编译错误和警告
- 功能测试:在策略测试器中验证逻辑
- 优化:参数优化和敏感性分析
- 实盘准备:模拟盘测试至少2周
审查现有EA
- 静态分析:阅读代码,检查代码审查清单
- 编译检查:修复所有警告
- 逻辑验证:手动验证交易逻辑
- 回测验证:运行回测,对比实际交易与预期
- 安全审计:检查DLL调用、全局变量、错误处理
- 生成报告:提供详细的审查报告和改进建议
分析回测结果
- 收集数据:获取回测报告(HTML或详细报告)
- 计算指标:计算关键性能指标
- 识别问题:
- 过度拟合迹象
- 风险管理问题
- 时间段依赖性
- 提供建议:参数调整、策略改进、风险管理优化
参考资料
详细的技术参考和示例代码在以下文件中:
references/mql4_best_practices.md- MQL4编程最佳实践references/trading_strategies.md- 量化交易策略详解references/code_review_checklist.md- 代码审查详细清单references/backtest_guide.md- 回测和分析指南references/risk_management.md- 风险管理原则
示例触发语句
这个技能在以下用户输入时触发:
- “开发一个黄金交易EA”
- “帮我写一个基于双均线的EA”
- “审查这个EA代码”
- “这个EA有什么问题?”
- “分析这个回测报告”
- “优化这个EA的参数”
- “修复这个编译错误”
- “这个策略怎么样?”
重要提醒
- 始终检查编译错误:在提供代码前,确保代码能通过编译
- 提供完整代码:不要只提供代码片段,提供可编译的完整EA
- 测试再交付:如果可能,先在策略测试器中验证基本功能
- 文档化:为复杂逻辑添加注释
- 安全第一:避免推荐不安全的策略(如无止损马丁格尔)
输出格式
- EA代码:提供完整的
.mq4文件内容 - 审查报告:提供结构化的HTML或Markdown报告
- 分析报告:提供详细的回测分析和优化建议
- 使用说明:提供参数说明和安装步骤