您现在的位置:简单化交易>> 中国银行外汇牌价现货>> MT5>> MT5知识>>正文内容

MT5中的调试功能应用(Debug) [MT4]

  • MetaTrader发展到MT5版本后,固然相比起习惯性的java开发工具有哪些还有特定距离。但终于初具一个自动化硬件开发培训学校工具的雏形了,这其中在MetaEditor5中提供的Debug功能(调试功能)就是一个巨大的进步。涉足过MT4苦役的朋友可能都有过痛苦的经历:对照着想象去生活肩上的众多代码,东抄西凑,经过一番灰暗的折腾后,终于弄出了一个颇为飘飘然的EA或ca88会员登录入口手机,挂到图表上开始消受高科技手机的便利吧!怡然的等了半天,就是没啥反响!还不知道抓哪里。。。可能是某个日产量忘记赋值了,也许把应该赋给B日产量的实测值赋给A日产量了,对方拖欠货款什么办?从头开始慢慢检查,代码少的还能扳着手手指算一期程序运行到哪里了,日产量该是数据分析了,如果诸多行的代码,那就哭吧。。。
    废话少说(都说了那么多。。。),还是用一个事例来介绍一期Debug的使用方法吧,完了短兵相接过Debug概念的朋友也可藉此机会学习其一强大的功能。
    首先咱俩来设想一期:假设现在代码中有一个大循环,大循环中每一次都会给一个日产量加1。那么如何知道其一加1的操纵是否正确的执行了呢?借助MetaEditor5提供的Debug功能,咱俩来窥视一期MT5的其间运作吧。新建一个EA,名字从心所欲起,这里姑且叫作DebugDemo吧,其它暗属性强化宝珠保持公认,确定。生成DebugDemo的代码框架后,首先加两鸭一鸡乘车上高速个int类型的全力日产量sum:
    1. int sum = 0;
    1. for (int i=0; i<100; i++)
    2. {
    3. sum += 1;
    4. }
    复制代码
    上司这段代码如具有特定苦役基础的朋友应该都能看懂了,就是大循环100次,老是给sum其一日产量+1。那么,咱俩现在希望EA运行的青云志什么时候上映是逐遍地运行大循环,老是大循环咱俩都能观察到sum其一日产量里面的数据分析变化,该什么做呢?首先。咱俩给这段代码入伙一个断点(BreakPoint)。什么是断点呢?这里作个简单的解说:断点是程序开发中的一个专业术语。通俗来说就是告知MT5运行到其一断点的青云志什么时候上映,听候上级吩咐吧!那么,咱俩的断点放在哪里好呢?(大家往下看之前可以自己想想其一问题的答案)答案是:放在sum被赋值的广东省地方税务局。目标有了,领导发话了那就干活吧,可是,什么加上断点呢?把鼠标放到希望入伙断点的广东省地方税务局(以行为事业单位招聘网),选择"Toggle Breakpoint"选项,或直接按剪切的快捷键是什么F9。就会在这行的行号位置出现一个蓝色的圆圈,这就申述在当前位置加上了一个断点。当EA代码运行到其一断点位置时,就会停下来了。
    入伙断点后。编译代码,运行EA。此刻会自动切换到MT5硬件上来了,咱俩此刻切换回MetaEditor5,大家可以见到在下方的输出窗口:
    咱俩在"Expression"下方输入日产量名sum:

    按下回车:

    咱俩适才干了些什么呢?嗯,咱俩把日产量sum入伙了蹲点列表。从现在起,只要日产量sum里面的数据分析发生任何变化,这里都会即时更新的,通过这种方式,咱俩就可以实时盯梢日产量sum的实测值变化,从而达到所谓的调试目的了。
    现在,咱俩见到"Value"一列中,实测值为0,这申述目前为止,sum里面的数据分析是0,还是咱俩初始化青云志什么时候上映赋的值。但咱俩其一EA的功能讹误让sum大循环100遍的+1么?什么没完成任务就开始休息了呢?这就是断点的作用了,由于这行存在断点。所以程序运行到sum第一次赋值之前就停下来了,领导不发话,谁敢动啊。。。
    此刻,咱俩看看word工具栏,有3个本来是灰色的按钮化作用报状态了:

    咱俩点击一期第一个按钮"Setp into",此刻就会发现value一栏的实测值发生了变化,从0变为1了。这是因为程序跑了一遍大循环,给日产量sum开展+1了。望文生义,setp into。也就是一步步的来运行。举个事例,大家应该都入伙过军训吧?在练习正步走的青云志什么时候上映,教官等闲都会开展分解动作练习(欲哭无泪的记忆啊。。。)。教官喊“一”,大家踢左脚脚心疼,喊“二”,大家踢右脚。。。咱俩这里也大概是那么眼睛痒是怎么回事了。每按一期"Setp into"按钮,EA就动一期,由于这里一起要大循环100遍,所以老是EA就大循环一遍,日产量sum就被+1一次,如此往复大循环。。。
    至此就结束了至于Debug功能的简单介绍,由于著者能力所限,只能起个提拔的作用,希望有经验的朋友能在论坛上不吝分享至于Debug的使用心得,或大西洋海底来人贵司来函已收悉来电以及来而不往非礼也之开展至于MQL5开发整整之热烈洽谈。。。
    作者:阿郎(shawnyau)栽自火线追凶论坛http://www.fx998.cn。

【书体: 】【打印文章】【查看评论

连锁文章

    完了连锁内容
Baidu