插入和删除自定义指标(指标编程教程第六篇:编译和调试)

提示

这是 2011 年写的一个系列教程。

接着上一篇,工具栏有一个画着绿勾的“编写”按钮,或者直接按 F7,名为 bary-5.mq5 的指标源文件就会被编译成一个 MT5 可执行的文件,后缀是 .ex5,在相同的目录里。

怎么编译 MT4 EA 源码

然后到 MT5 里,菜单栏:“插入” -> “指标” -> “自定义” -> “bary-5”。就应该能看到图表右下角有“hello, world”的字样了。

在图表上右键单击,有一个“指标列表”,快捷键是 Ctrl + I,把“主图表”下的“bary-5”删除,就关闭了指标了。因为我们的指标是创建一个物件,所以右键里的“物件列表”可以看到一个名为 bary_text 的 Label 物件,也可以只删这个物件而不删指标,比如我们写的是:

ObjectCreate(0, "bary_text_1", OBJ_LABEL, 0, 0, 0);
ObjectCreate(0, "bary_text_2", OBJ_LABEL, 0, 0, 0);
ObjectSetString(0, "bary_text_1", OBJPROP_TEXT, "hello, world");
ObjectSetString(0, "bary_text_2", OBJPROP_TEXT, "hello, world");
ObjectSetInteger(0, "bary_text_1", OBJPROP_CORNER, CORNER_RIGHT_LOWER);
ObjectSetInteger(0, "bary_text_2", OBJPROP_CORNER, CORNER_RIGHT_LOWER);
ObjectSetInteger(0, "bary_text_1", OBJPROP_XDISTANCE, 100);
ObjectSetInteger(0, "bary_text_2", OBJPROP_XDISTANCE, 100);
ObjectSetInteger(0, "bary_text_1", OBJPROP_YDISTANCE, 50);
ObjectSetInteger(0, "bary_text_2", OBJPROP_YDISTANCE, 100);

那就会看到两个 hello, world,指标列表里只有一个“bary-5”指标,物件列表里会有 bary_text_1bary_text_2 两个 Label。

还有一种看效果的方法是调试,工具栏里有一个播放键,热键是 F5,点一下会自动编译文件并且把指标加载到主图表里,删除指标或者回 mql5 编辑器点停止键(快捷键 Shift + F5),就会停止调试,停止调试后才可以再编辑源码。

源码可能会有错,比如少写一个分号,编译的时候就会报错,错误信息在“工具箱”的“错误”标签页里,默认是在窗口下面,如果没有,按 Ctrl + T 或者菜单栏:“查看” -> “工具箱”。

错误分两种,一种是“error”,一种是“warning”,如果出现“error”,肯定无法通过编译,如果只出现“warning”,则表示可能有某些不致命的错误,可以编译执行。报错会标出错误代码的行号和附带简明的英文提示。可以自己删个分号编译一下试试。

  • 627
回复内容较长可以拖右下角↑
回到
顶部