天驭学院 · 教学材料 · MQL5 EA 编程入门
课程讲义
MQL5的iMA返回指标句柄,CopyBuffer取值需核返回数量与bar偏移。当前bar0会变化,已收盘bar1才符合本例收盘信号定义。
创建句柄→确认数据就绪→CopyBuffer从shift1读取→核返回值→遇不足不产生信号→释放句柄。
策略要比较最近两个已收盘SMA值,偏移应读0/1还是1/2?失败时可否用数组默认0?
应读1/2;失败或不足则暂停该次信号并记日志,不能用0伪装有效均线。下单逻辑不能直接消费未核验值。
假设CopyBuffer请求3个值但返回1,不能读取后两个元素计算交叉。使用已收盘bar shift=1可避免把尚在变的当前bar当最终值,但仍要明确数组顺序和指标缓冲区含义。
不要在每个tick重建指标句柄;默认当前bar与已收盘bar不是同一信息集。
配套mq5仅记录信号,不提交订单。以下为终端操作清单;网页提供源码不等于终端编译或运行已通过。无终端时按纸面状态机完成并记录未运行项。
1. 下载 AcademySmaSignal.mq5
2. 在 MT5 MetaEditor 中打开并编译,保存版本与诊断
3. 仅在模拟图表/测试器观察新bar信号日志
4. 检查 CopyBuffer 失败、新bar重复与退出释放
5. 不启用真实交易;订单状态机按纸面任务验证课程数值、价格、账户和案例均为教学假设;固定材料可离线复现。完成标记仅记录学习,不是能力认证、服务批准或收益保证。
本节要点
完成标记仅记录个人学习,不代表能力认证。练习使用教学假设或合成数据,不要求真实开户、入金或交易。