更好的程序员(第 02 部分):停止做这 5 件事变为一名成功的 MQL5 程序员(基础篇)
◍ 别让这五个习惯拖垮你的 MQL5 开发
想从能写 EA 的人变成能稳定交付策略的人,先得戒掉几个常见但致命的习惯。2021 年 10 月一篇社区热帖被 2580 人浏览、18 人收藏,核心就指向五个反模式:把全部逻辑塞进 OnTick、忽视错误处理、硬编码魔法数字、不隔离历史回测与实盘差异、以及用 Print 代替结构化日志。 很多新手喜欢在 OnTick 里一口气写完开仓、平仓、风控,结果一次报价异常就整 EA 崩掉。MQL5 的事件模型里,OnTick 只该做“接到报价后该触发什么”的轻量调度,重逻辑要拆到独立函数或类里。 另一个坑是硬编码。把均线周期 14、止损 200 点直接写死在判断里,后期调参就是灾难。用 input 或全局常量暴露出来,MT5 的参数优化器才能帮你跑网格。外汇与贵金属杠杆高、滑点跳空频繁,这类疏忽在实盘可能放大成不可控回撤。
菜鸟标签背后是编码习惯
本文里反复出现的 noob(菜鸟)不是用来贬低谁,而是指代在 MQL5 编程上养成坏习惯、行为模式不成熟的人。这个词和写代码多少年没有直接关系——一个有十年经验的人,如果一直用错误方式组织逻辑,本质还是 noob。 所以这套内容不是只给新手看的。无论你接没接触过本系列第一篇,只要你的下单、止损或指标计算习惯里还带着绕弯子的写法,这一节就和你有关。外汇和贵金属杠杆高,坏代码在实盘里放大的不只是 bug,还有回撤风险。 系列第一篇已经铺了底,这一节接着把“从菜鸟到专业”的改造任务往前推:先认清楚,问题出在行为,不出生涯时长。
「别把傲慢带进代码评审」
做过几年 EA 或指标开发的人,很容易在自由职业板块或代码库里积累出“我比提问者强”的错觉。这种错觉在论坛上最常见:有人贴出跑不通的代码和已试过的方法,立马就有自认老手的人跳出来说思路全错,却只丢一段格式混乱、准确性还不如原帖的代码。 托尔斯泰那句“傲慢让人以为自己完美,这是无知的主要危害”放在 MQL5 社区很贴切。直接甩结论不解释,等于给需要手术的人吃止痛药——短期看似回答了,长期只会养出复制粘贴党:遇到问题就发帖等现成替换代码,脑子越来越懒。 论坛里开新帖的人大多已知道自己哪里不对,只是卡了几个小时甚至几天。正确做法是先讲清“为什么出错”,再给可验证的修改路径,因为后来者搜到这个主题时往往也是初学者。 仅凭“这代码不够复杂、不合我习惯”就给差评或乱答,本质是拒绝去理解作者为何那样写。外汇与贵金属自动化交易本身高风险,策略逻辑若因傲慢被误读,实盘亏损概率只会更高。
◍ 别让脑子停在第一个一千行
很多人刚碰 MQL5 就被劝退,不是因为真写不出,而是被初始复杂度吓住。我早期从代码库扒第一个简单移动平均线,发现源码居然超过 1000 行,当场觉得这东西不属于自己。后来回看,那只是菜鸟视角的错觉。 大脑对编程领域的适应靠的是刺激密度,不是天赋。你越逼它啃数学、复杂 EA、机器学习类自适应算法,它在对应主题上的处理力就越强。拘泥于只写同一类脚本或指标,创造力会僵在原地,能力曲线也平了。 到现在我也不敢说见过圣杯 EA 或指标——没有。但这不妨碍你通过改方法把系统逼到更优状态。外汇和贵金属杠杆高、回撤快,练手请用模拟盘或极小仓位验证。 一千行代码吓退过我,现在看只是时间和努力的刻度。你卡住的那个领域,大概率只是还没被你拆过第二遍。