评论

收藏

插入和删除自定义指标(特厉害的MT5/MQL5指标编程教程第六篇:编译和调试)

avatar 億秒 | 1218 人阅读 | 0 人评论 | 2014-02-18

接着上一篇,工具栏有一个画着绿勾的“编写”按钮,或者直接按“F7”,名为"telihai-5.mq5"的指标源文件就会被编译成一个MT5可执行的文件,后缀是".ex5",在相同的目录里。然后到MT5里,菜单栏:“插入” -> “指标” -> “自定义” -> “telihai-5”。就应该能看到图表右下角有“hello, world”的字样了。

在图表上右键单击,有一个“指标列表”,快捷键是“Ctrl+I”,把“主图表”下的“telihai-5”删除,就关闭了指标了。因为我们的指标是创建一个物件,所以右键里的“物件列表”可以看到一个名为“telihai_text”的LABEL物件,也可以只删这个物件而不删指标,比如我们写的是:
ObjectCreate(0, "telihai_text_1", OBJ_LABEL, 0, 0, 0);
ObjectCreate(0, "telihai_text_2", OBJ_LABEL, 0, 0, 0);
ObjectSetString(0, "telihai_text_1", OBJPROP_TEXT, "hello, world");
ObjectSetString(0, "telihai_text_2", OBJPROP_TEXT, "hello, world");
ObjectSetInteger(0, "telihai_text_1", OBJPROP_CORNER, CORNER_RIGHT_LOWER);
ObjectSetInteger(0, "telihai_text_2", OBJPROP_CORNER, CORNER_RIGHT_LOWER);
ObjectSetInteger(0, "telihai_text_1", OBJPROP_XDISTANCE, 100);
ObjectSetInteger(0, "telihai_text_2", OBJPROP_XDISTANCE, 100);
ObjectSetInteger(0, "telihai_text_1", OBJPROP_YDISTANCE, 50);
ObjectSetInteger(0, "telihai_text_2", OBJPROP_YDISTANCE, 100);

那就会看到两个“hello, world”,指标列表里只有一个“telihai-5”指标,物件列表里会有“telihai_text_1”和“telihai_text_2”两个LABEL。

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

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

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

转载请注明,转载自:特厉害 ? 插入和删除自定义指标(特厉害的MT5/MQL5指标编程教程第六篇:编译和调试)

""
还没有人打赏,支持一下