尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

MQL5入门:EA在MT5中的运行全流程与MetaEditor工具详解

MQL5入门:EA在MT5中的运行全流程与MetaEditor工具详解 MQL5 教程这事情我断断续续写了几年一直想系统整理成系列。这一篇就作为第 01 讲专门把 MT5 里和 EA 相关的操作、MetaEditor 工具栏的主要功能理清楚。别小看这个“开头”我见过太多人学 MQL5 卡在第一步——不是说不会写代码而是连“EA 在 MT5 里到底怎么跑起来的”“MetaEditor 那些按钮是干嘛的”都没搞明白。这些基础要是没打牢后面看什么教程都觉得在云里雾里。这个内容适合谁两种人最需要。第一种是完全没碰过 MQL5 的新手你至少得知道怎么把一段 EA 代码变成图表上能跑的东西。第二种是已经写过一点脚本或指标、但一直对 MetaEditor 工具链不熟悉的人尤其是那些觉得“能编译就行其他按钮我都当不存在”的朋友。这篇就把这些零零碎碎的东西一次性讲透。先简单交代一下三个关键词之间的关系。MT5 是交易终端也就是你平时看盘、下单、跑回测的软件。EA 是 Expert Advisor 的缩写中文常叫“智能交易系统”本质就是一段用 MQL5 语言写成的程序它住在 MT5 里负责根据你设定的逻辑自动分析行情、做出交易决策。而 MetaEditor 就是 MT5 自带的代码编辑器你写 EA、编译、调试、查错全都在这个工具里完成。三者串起来就是一条完整的链路在 MetaEditor 里写代码编译成可执行文件挂到 MT5 的图表上让它跑。这篇我带你把整条链路上最关键的操作点全部过一遍。1. 动笔之前先搞懂 EA 在 MT5 里的生命周期与核心工作流程很多人刚开始学 EA第一反应就是打开 MetaEditor 写代码写完一编译就以为大功告成了。这是最大的误区。EA 从“写在编辑器里”到“在图表上稳定运行”中间要经历一条完整链路每一环都有它的坑。1.1 EA 从代码到实盘的五个阶段我把 EA 的完整工作流拆成五个阶段你对照着自己手上正在做的事看看卡在哪一步。第一阶段是编写代码。这事发生在 MetaEditor 里你用 MQL5 语言写出 EA 的逻辑。新手的第一个 EA 通常很简单无非就是“均线金叉做多、死叉做空”这类最基础的思路。注意这个时候代码还只是纯文本MT5 终端根本认不得它。第二阶段是编译。在 MetaEditor 里按 F7编辑器会调用编译器把源代码转成 EX5 文件。编译过不过、有没有警告都是在这一步暴露。我见过不少人编译报错之后整个人就懵了其实大部分报错信息都写得挺清楚只是新手不习惯看。第三阶段是加载。编译生成的 EX5 文件要挂到 MT5 图表的窗口上。你可以在导航器里找到这个 EA直接拖到图表上或者在图表窗口里右键选“智能交易系统”。这一步的操作本身很简单但里面藏着几个隐形门槛后面我会专门说。第四阶段是运行。EA 挂上图表之后它会在每个新报价tick到来时触发 OnTick 函数你的核心交易逻辑就在这个函数里执行。但请注意MT5 默认可能不允许算法交易你得在工具栏上点一下那个“算法交易”按钮让它变绿EA 才会真正开始干活。第五阶段是监控与复盘。EA 跑起来不等于万事大吉你得持续观察它有没有报错、持仓是否符合预期、日志里有没有异常。实盘之前至少要在策略测试器里回测一段历史行情把参数摸清楚。1.2 为什么官方模板里总是一堆“空”函数它到底有什么用很多新手新建 EA 之后看到代码里自动生成了 OnInit、OnDeinit、OnTick 三个函数有点懵这三个函数是干什么的为什么我什么都不写也能编译这三个是 MQL5 程序的生命周期回调函数。OnInit 在 EA 被加载到图表上的时候执行一次适合做初始化工作——比如声明指标句柄、读取输入参数、创建挂单等。OnDeinit 在 EA 被移除或者图表切换周期时执行适合做清理工作——比如释放指标句柄、删除图表上的图形对象。OnTick 是核心每当行情报价更新它就会被调用一次你的开仓平仓逻辑基本都写在这里。我给你的建议是哪怕用不到也先别删空函数。一个是模板结构是长期经验总结每个函数都有自己的使用场景另一个是从命名上能提醒你这个 EA 的逻辑分层不至于全堆在 OnTick 里变成一锅粥。1.3 一个新手最容易忽略的问题EA 运行在“图表”上不是运行在“账户”上这个认知特别重要一定要在动手之前建立起来。EA 是被附加到一个具体图表上的也就是说同一个 EA 你只能在它所在的图表窗口里运行。你开 5 张图就能挂 5 个不同的 EA各跑各的。这个特性带来一个直接的问题很多新手以为自己的 EA 是“全账户级别”的会自动管理所有品种的交易。不是的。默认情况下你往 EURUSD 图上挂一个 EA它就只管 EURUSD 的行情和持仓不会去碰 GBPUSD 的单子。如果你确实想让一个 EA 监控多个品种那就得靠代码层面的循环遍历、或者同时在多张图表上各自挂载同一份 EA这是后续进阶的内容但你现在就该有这个意识。所以动手写 EA 之前先问问自己我的策略是单个品种的还是多品种轮动的这决定了你代码结构的基本框架。2. 把 EA 从“写完”到“跑起来”MT5 里的关键操作逐项拆解如果说 MetaEditor 是生产车间那 MT5 终端就是给 EA 上路的跑道。这段我把 MT5 里和 EA 相关的操作逐个过一遍每一步都会说清楚“怎么操作”和“为什么这么做”。2.1 导航器管理 EA、指标、脚本的地方MT5 左侧默认有个“导航器”窗口很多新手不知道它怎么用。它里面按类别列出了“智能交易系统”“指标”“脚本”“专家”等文件夹。你要管理 EA 文件先看这里。在这里有几种对 EA 的操作方式我分别介绍。第一加载 EA。在“智能交易系统”文件夹下找到你想要的 EA直接拖拽到图表上就行。也可以双击 EA会弹出加载设置窗口。你也可以在图表空白处右键选择“智能交易系统”列表里去找。拖拽是最直觉的方式但右键方式在多个图表间切换时更快。第二查看与修改输入参数。双击导航器里的某个 EA或者把已挂到图表的 EA 右键选择“属性”会弹出参数设置面板。EA 代码里用 input 关键字声明的变量都会在这里显示你可以不用改代码就调整参数非常方便。注意修改参数后 EA 会重新初始化也就是 OnDeinit 和 OnInit 会被再次触发实盘中这意味着持仓中的 EA 会有一段“断档”所以实盘时切忌频繁改参数。第三移除 EA。右键图表上的 EA 小图标选择“删除智能交易系统”或者直接在导航器里把 EA 拖离图表。注意移除 EA 不会自动平掉它打开的仓位——已经挂在市场里的单子都还在只是没人帮你继续管理了。新手最容易在这里栽跟头把 EA 撤掉以为万事大吉结果留了一堆裸单在市场上裸奔。2.2 工具栏那个“算法交易”按钮到底管什么用MT5 标准工具栏上有一个机器人小图标叫“算法交易”。默认情况下它是红色的禁用状态——这意味着即使你把 EA 挂上图表它也不会执行任何开平仓操作。很多新手发现“EA 挂了但不动”十有八九就是这个按钮没点亮。这个按钮点亮之后MT5 终端才允许 EA 自动发单。它是整个交易终端的总开关哪怕你只是手动跑一键平仓脚本也得先确保它是打开的。这里有个细节需要提醒在实盘环境中就算你把“算法交易”按钮点亮了MT5 还有一个“允许算法交易”的全局设置通常藏在“工具 选项 智能交易系统”里。那个选项卡下还有个“允许 DLL 导入”之类的选项如果你将来要用到外部库文件那边也得勾上。默认情况下这两项的初始状态可能是不允许的所以拿到一个新平台环境先检查这两处开关再挂 EA。2.3 挂 EA 之前必须设置的“允许实时自动交易”选项除了工具栏那个总开关之外把 EA 拖到图表上时会弹出一个加载设置面板上面有个复选框叫“允许实时自动交易”。很多人会忽略这个选项直接点确定。请记住这个操作习惯每次挂载 EA 时务必手动确认这个复选框处于勾选状态。它相当于这一张图表上的独立开关与工具栏总开关是“与”的关系——任何一个没打开EA 都不会自动下单。如果你在某张图表上怎么调都不动先回来看这里。再补一个很多人都不知道的小技巧如果你在一个图表上已经挂载了 EA然后又通过导航器重新拖入同一个 EAMT5 会问你是“替换”还是“另开一个”。选择替换时原来那个 EA 的参数设置会被新的覆盖。你要是想调整某个参数直接在图表右键进“属性”改不要反复拖入覆盖避免搞混设置。2.4 在图表上观察 EA 的三种状态标志EA 挂上图表后图表右上角会显示一个小的图标和信息。MT5 在这里给你的信息比你想象中要多只是很多人从来不去读它。第一种状态是正常停止。图标是灰色的鼠标移上去会显示“智能交易系统已停止”。这种情况下 EA 不会运行可能是因为你还没有启用算法交易也可能是 EA 加载失败。第二种状态是正常运行图标变成笑脸。这时候 EA 的 OnTick 会被正常触发。第三种状态是有错误图标会变成一个哭脸或感叹号鼠标悬停会看到具体错误提示。大多数情况下出现第三个状态说明 OnInit 里出了问题比如你初始化了某个不存在的指标句柄。我建议你把鼠标养成一个习惯每次切换完参数、或者修改完代码重新编译后抬眼看一下图表右上角的小图标。看到笑脸再开始观察 EA 行为你后面排查问题会轻松很多。3. MetaEditor 工具栏主要功能逐项解读每个按钮都不白给MetaEditor 是 MT5 自带的开发环境打开之后你会看到顶部一排工具栏。很多人只认得“编译”和“运行”两个按钮其实这一排工具里还藏着不少高效开发的关键功能。我按区域把它拆开讲。3.1 文件操作与项目管理区别只用“打开/保存”工具栏最左侧是文件相关的操作新建、打开、保存、另存为。这些和普通的文本编辑器没什么区别但有几个 MQL5 环境里特有的点要说明。MQL5 的文件默认保存在数据目录的 MQL5 文件夹之下路径通常类似于数据文件夹\MQL5\Experts、\Indicators、\Scripts。很多新手因为找不到自己写的 EA 文件而着急其实在 MetaEditor 里你可以直接按快捷键CtrlShiftD快速打开数据文件夹或者用工具栏上的“数据文件夹”按钮。另一个建议是给文件起名副其实的名字。MQL5 文件名的命名规则比较自由但 EA 类文件建议不要出现中文和空格。虽然 MQL5 支持中文名但我在实操中发现部分情况下中文文件名的路径处理会出现莫名其妙的编码问题徒增麻烦。凡是给 EA 起名一律用英文字母、数字和下划线这是从老前辈那边传下来的习惯确实能省不少心。3.2 编译与运行调试区F7 不是唯一的编译方式编译按钮在工具栏上是一个小齿轮图标快捷键是 F7。按下之后MetaEditor 会调用编译器检查你的代码是否合法。如果一切正常底部会提示 “0 errors, 0 warnings”如果有问题会给出错误行号和错误描述双击错误信息可以直接跳转到对应代码行。关于编译我有三个实操心得要分享。第一个心得是区分“编译”和“重新构建”。如果只是 F7 编译当前正在编辑的这个文件MetaEditor 会增量编译——只编译改动过的文件。在某些情况下比如你修改了多个 include 文件或者改了全局变量结构增量编译可能不彻底导致一些奇怪的运行问题。这时就该在“编译”菜单下选择“重新构建”它会强制把工程里所有相关文件全部重编一遍。遇到“代码明明改对了但行为还是旧的”先重新构建再试。第二个心得是处理警告不要心大。新手最容易忽视警告信息觉得“没有 error 就行”。其实不少 warning 是危险的伏笔比如变量声明了但没使用、函数有隐式类型转换等。这类问题虽然不妨碍编译但往往意味着你的代码逻辑和你的预期并不完全一致等上线跑的时候错误会以非常隐蔽的方式出现。第三个心得是编译保存产生的 EX5 文件在哪。默认情况下EX5 和源代码在同一个目录里比如MQL5\Experts目录下会同时存在.mq5和.ex5文件。如果你想备份 EA两个文件最好一起拷走。只有源码没有 EX5别人拿到也编译不了只有 EX5 没有源码你以后想改也改不了。3.3 导航器、工具箱与搜索写代码时的左膀右臂MetaEditor 默认界面四周有几个不起眼的面板工具栏上有对应的开关按钮。我具体讲三个最常用的。第一个是“导航器”。它在 MetaEditor 的左侧和 MT5 终端的导航器不一样这里显示的是当前代码的项目结构输入参数、全局变量、自定义函数、包含的头文件一览无余。双击任意一项下面的“工具箱”会定位到它的第一次使用位置也可以直接跳转到声明处。这在代码长了以后尤其好用写代码时不用再手动滚轮找了。第二个是“工具箱”。它通常在下方包含几个标签页错误列表、搜索、终端等。“错误列表”不仅能看编译错误还能看编译警告双击即可跳转。“搜索”标签则是全局搜索的入口。在 MetaEditor 里按CtrlShiftF会弹出全局搜索面板可以搜索整个 MQL5 文件夹里的文本这对查找库函数的用法和排查引用关系特别有用。很多新手碰到“某个函数不知道在哪个文件里定义的”其实全局搜索一遍就出来了。第三个是“资源管理器”。在工具栏上是像一个文件夹的小图标它实际上是个文件树已经将 MQL5 下的所有目录都整合进来了。你在这里面可以方便地在“Experts”“Indicators”“Include”“Scripts”之间切换。有的老玩家喜欢用外部编辑器写代码也建议保留这个文件树因为编译、定位文件、查看相关文件信息都靠它。3.4 调试工具栏给 EA 治病的利器比运行按钮更重要的是单步调试。MetaEditor 的工具栏上有一系列调试相关按钮比如“开始/继续调试”“单步跳过”“单步进入”“单步跳出”等。这些按钮在写简单示例的时候用不上但一旦你的 EA 逻辑复杂起来尤其是出现持仓判断错误、开平仓条件不对这类问题时单步调试几乎是唯一靠谱的手段。调试的工作方式是这样你先把光标放在某个代码行上按 F9 设置一个断点。然后点“开始调试”程序执行到断点那一行会停下来左侧“局部变量”窗口会显示当前各个变量的值。你再按一次“单步跳过”就可以让程序往下走一行同时观察变量的变化。我见过太多新手在出问题时的方法论是“这改一下那改一下然后重新跑回测”折腾几次之后心态就崩了。其实用调试工具看一遍执行流程问题往往 10 分钟就能定位。比如为什么没开仓你在 OnTick 开头设个断点然后在单步过程里查看条件判断的结果是不是比瞎猜高效得多。调试模式默认在策略测试器里面也可以联用不过那是后话你先把代码层面的调试跑通就够用了。3.5 代码优化与格式化让代码可读、可维护的关键MetaEditor 有一个常被忽略但非常好用的功能就是“代码模板”和“自动格式化”。工具栏上有一个“代码模板”按钮选中一行代码点击它会生成对应的模板代码可以极大减少重复手写逻辑的时间。另外一个神器是“自动格式化”。它有个默认快捷键一般在全部菜单的“编辑 自动格式化”或右键菜单里能找到。它会按照规范重新缩进、调整代码格式。新手写代码的缩进经常乱七八糟我建议你在写完每个函数之后顺手跑一次格式化代码结构一目了然以后回看不至于看不懂自己写过的东西。除了自动格式化还有“重命名”功能特别好用。如果你的一个变量从int x改成了int price手动去全文替换容易漏用 MetaEditor 选中变量名后右键的重命名它会自动把所有引用位置一起改掉这个功能相当贴心。3.6 版本管理与历史代码写坏了不用慌MetaEditor 自带一个“本地历史版本”功能。大家都知道写代码要保存但没人保证每次保存的版本都是正确的。这个功能会自动保存你每次修改的版本副本你可以在“导航器”里选中文件右键选择“本地历史版本”回看之前任意保存点的代码。这个功能在实战中几乎就是救命的。比如你改了一天代码越改越乱最后想回到今天早上那个还能跑的版本直接打开历史版本把那份代码复制回来就行。配合这个功能我对你的建议是每次修改 EA 逻辑之前先想清楚“这次改动的目标是什么”然后在历史版本中做一个记忆点。这比你自己手动复制文件备份靠谱得多不容易覆盖错项目。4. 新手上路最容易踩的六个坑和对应解决办法这一节我把过去带新手时遇到频率最高的问题整理成速查表每个问题都附上排查思路和解决办法。现象可能原因解决办法EA 挂上图表但完全没反应工具栏“算法交易”按钮是红色关的点击按钮开启算法交易确保显示绿色图表右上角图标是哭脸OnInit 返回异常可能时初始化了无效句柄打开“工具 选项 智能交易系统 消息”查看具体错误码编译报错但双击错误信息没反应错误可能发生在 include 文件而不是当前文件查看错误列表找到带文件名的条目双击它跳转回测结果和实盘差距极大数据模式、点差设置、滑点设置不同回测时选择“每个报价基于真实数据”并设置合理点差和滑点修改参数以后 EA 不执行新逻辑修改参数后需要“重新初始化”部分情况需要删除图表上的 EA 再加载右键 EA 选择“属性”确认参数已更新重新初始化即可同一张图表想换个 EA直接拖入新 EA 会提示替换确认替换原 EA 会被移除并停止它挂的订单但不平仓4.1 编译通过但 EA 不动先查日志区我先针对最典型的“EA 不动”多写几句。编译没问题、图表右上角也变成笑脸了但 EA 就是没有交易动作。这时候第一件事不是怀疑代码逻辑而是去看 MetaEditor 下方“工具箱”里的“日志”标签页以及 MT5 终端的“专家”标签页里面会打印 EA 运行时的输出信息。MT5 终端的“专家”标签页非常核心它记录了 All 的智能交易系统加载通知、初始化的错误码、甚至每次开仓平仓的执行结果。简单说凡是和 EA 相关的运行信息都往这里面堆。养成看这个日志的习惯你的排错能力会提升一大截。4.2 参数调整之后一定要重新初始化参数面板改参数这件事我在前面反复提到这里再说一遍的原因是有个常见误区很多新手在“属性”窗口里改了参数然后只点“确定”就以为 EA 已经用新参数重新跑了。实际上绝大多数情况下的确是这样但如果你改的参数是某些“缓存型”资源——比如指标句柄、全局变量等——它们可能在 EA 运行期间已经被初始化过不会因为参数变更自动重建。这种情况下最稳妥的方式是右键图表上的 EA选择“删除”然后再从导航器重新拖进来加载。虽然过程稍微繁琐但能保证初始化逻辑完整执行。4.3 回测与实盘的坑提前知道能少亏钱很多人写好了第一个 EA 就急着直接把真实账户开起来这几乎是我见过的最危险的操作。在实盘之前至少要先在策略测试器里跑通回测和模拟盘。策略测试器的打开方式是 MT5 主界面顶部“视图 策略测试器”或快捷键 CtrlR。在策略测试器里新手最容易踩的坑是“数据模式”选择不当。默认可能是“1分钟 OHLC”这种模式下 EA 只在每分钟的收盘价那一下运行一次回测速度很快但结果和真实行情下逐 tick 触发差异很大。官方推荐用“每个报价基于真实数据”但要注意这个模式对电脑性能要求更高数据量大的品种回测时间会明显拉长。另外一个很常见的坑是“初始存款”和“点差”设置不对。实盘的点差不是固定的尤其在数据公布时段会瞬间放大。回测时如果点差固定设死测试结果必然会比实盘乐观不少。所以新手阶段做回测可以把点差设置得比当前实际值稍微高一点再测等于是给策略加了一层安全垫。模拟盘则是另一个必备环节。MT5 可以申请一个模拟账户在模拟账户里跑实时的行情、实时的点差唯一的区别就是资金是虚拟的。这一步能帮你确认 EA 在真实市场节奏下能正常开平仓、不会出现令人意外的行为。4.4 新手最容易忽略的 MetaEditor 代码规范变量命名和注释代码规范这个问题老实说一开始不觉得重要等代码写到几百行上千行的时候才追悔莫及。我也经历过翻自己旧代码翻到怀疑人生的情况。MQL5 里变量的命名虽然没有强制规范但社区通行的做法是局部变量用小驼峰比如myPrice输入参数用input前缀或者首字母大写比如input int LotSize全局变量用g_前缀比如g_buySignal。这些约定随团队不同有细节差异但核心思想是一致的看变量名就得知道它的作用。注释方面我坚持一条原则写注释是为了提醒“为什么”而不是“是什么”。“是什么”看代码就能懂但“为什么这么写”往往是几个月后的你会忘记的。比如你写了一句等价的冗余判断如果只是因为当时某个交易逻辑的特殊需求就必须注释注明原因否则别人甚至你自己删掉它都会很危险。另外一个 MQL5 特有的习惯是对于 OnTick 这类高频执行函数里面的循环和判断一定要精简。不是影响可读性而是直接影响运行速度。EA 在每次报价时都要执行的逻辑如果不慎写成 O(n^2) 复杂度实盘时在行情剧烈波动的瞬间就可能出现来不及处理的情况。新手阶段未必能遇到这种极端场景但代码风格从开始就要往高效方向靠。5. 一个能直接跑的 MQL5 示例文件结构、编译流程与加载步骤光说不练假把式。我来带你走一遍完整的“从零到一”流程做一个最简单的示例 EA在每次新报价时向日志输出当前价格。这个示例本身没有什么交易价值但它能帮你确认整条工具链是否畅通无阻。5.1 用 MetaEditor 新建 EA 文件在 MetaEditor 工具栏左上角点“新建”会弹出 MQL5 向导。选择“智能交易系统”输入名称比如MyFirstEA然后点完成。向导会自动生成一个包含 OnInit、OnDeinit、OnTick 三个空函数的标准模板。5.2 在 OnTick 里添加输出价格的代码找到 OnTick 函数在它的大括号里添加一行代码void OnTick() { Print(Current Bid , SymbolInfoDouble(_Symbol, SYMBOL_BID)); }这段代码调用了SymbolInfoDouble函数获取当前图表品种的买价Bid然后用Print输出到日志。_Symbol是 MQL5 内建变量代表当前 EA 所在图表的品种名称。这里不写死 EURUSD 或者 GBPUSD是为了让 EA 挂到任何品种上都能用这是写 EA 的一个好习惯——凡是跟品种相关的信息尽量从运行环境获取而不是硬编码。5.3 编译并查看结果按 F7 编译。正常情况下下方“工具箱”的“错误”标签页会显示 0 个错误。如果有红色报错双击错误信息跳转到对应行检查是不是漏了分号或者括号不匹配。修改后再编译直到没有任何错误。5.4 到 MT5 终端上加载并验证切换到 MT5 终端确认工具栏“算法交易”按钮是开启状态。在导航器里找到MyFirstEA拖到任意图表上。然后在 MetaEditor 下方的“工具箱”日志标签页或者 MT5 终端的“专家”标签页里你应该能看到一行行类似Current Bid ...的输出。看到输出就意味着整条链路——编辑器、编译器、终端加载、运行——全部打通了。5.5 从示例到实盘每走一步都要谨慎示例 EA 只是验证工具链距离实盘还很远。我给出的路径建议是这样的先在策略测试器里跑至少一年的历史数据确认策略有正收益然后在模拟账户跑至少一个月确认实盘环境下没有异常最后才用最小手数在真实账户测试逐步放大。这中间有大量关于资金管理、参数优化、过拟合判断的问题要做不是一篇教程能覆盖完的。但至少你先把工具链跑通后面的每一步都是在它上面添砖加瓦。6. 我的几个实操心得希望对刚上手的你有用文章写到这里最后分享几条我在实际使用 MQL5 和 MT5 过程中的体会这些经验未必写在官方文档里但确实能帮你少走弯路。第一MetaEditor 虽然看起来朴素但它的调试和搜索功能已经覆盖了绝大多数开发场景。很多新手遇到问题第一反应是去论坛问其实自己先跑一遍单步调试、看一遍日志答案往往就在眼前。调试不是大神才用的工具它恰恰是新手提升效率的捷径。第二EA 的编写一定要从最简单的逻辑开始。我见过太多人第一次写 EA 就想要完整的策略、资金管理、风险控制、多品种轮动全上结果代码写到两百行就开始晕头转向最后哪个部分都没调试利索。不如先把“单个品种、单一进场逻辑”的迷你 EA 完整跑通再逐步加复杂功能。这和学所有技能的路径都一样先把链路打通再优化细节。第三用好“本地历史版本”功能。每次改动前想清楚目标每次关键改动后可以在历史版本里留一个节点。这比任何外部备份工具都顺手因为它是和编辑器深度整合的不会再出现“版本备份在哪”的尴尬。第四对待日志要像对待朋友一样熟悉。MT5 终端“专家”标签页里那些密密麻麻的记录其实是 EA 最忠实的反馈。你要学会从日志里读状态加载成功会显示初始化信息每次下单平仓都有记录连出错原因都会给出错误码。把这些信息读熟练了你写 EA 的水平会有一个质的提升。这一篇把 MT5 里 EA 的操作和 MetaEditor 工具栏讲得比较细了也带了你走了一遍完整链路。下一篇我会往 MQL5 语法本身再深入一点比如数据类型的正确使用、交易函数调用时的注意点等。学 EA 是个慢功夫希望你保持耐心一步步把基础打扎实毕竟市场不会着急你也别急。
返回列表