大伊人青草狠狠久久-大伊香蕉精品视频在线-大伊香蕉精品一区视频在线-大伊香蕉在线精品不卡视频-大伊香蕉在线精品视频75-大伊香蕉在线精品视频人碰人

您現(xiàn)在的位置:程序化交易>> 外匯現(xiàn)貨>> MT5>> MT5知識>>正文內(nèi)容

MT5中的調(diào)試功能應用(Debug) [MT4]

  • MetaTrader發(fā)展到MT5版本后,雖然相比起專業(yè)化的開發(fā)工具還有一定距離,但終于初具一個現(xiàn)代化軟件開發(fā)工具的雛形了,這其中在MetaEditor5中提供的Debug功能(調(diào)試功能)就是一個巨大的進步。涉足過MT4編程的朋友可能都有過痛苦的經(jīng)歷:對照著網(wǎng)上的眾多代碼,東抄西湊,經(jīng)過一番天昏地暗的折騰后,終于弄出了一個頗為得意的EA或指標,好了,掛到圖表上開始享受高科技的便利吧!興沖沖的等了半天,就是沒啥反應!抓狂吧,還不知道抓哪里。。。可能是某個變量忘記賦值了,或者把應該賦給B變量的數(shù)值賦給A變量了,怎么辦?從頭開始慢慢檢查,代碼少的還能扳著手指頭算一下程序運行到哪里了,變量該是多少了,如果成百上千行的代碼,那就哭吧。。。
    廢話少說(都說了那么多。。。),還是用一個例子來介紹一下Debug的使用方法吧,沒有接觸過Debug概念的朋友也可藉此機會學習這個強大的功能。
    首先我們來設想一下:假設現(xiàn)在代碼中有一個循環(huán),循環(huán)中每一次都會給一個變量加1,那么如何知道這個加1的操作是否正確的執(zhí)行了呢?借助MetaEditor5提供的Debug功能,我們來窺視一下MT5的內(nèi)部運作吧。新建一個EA,名字隨便起,這里姑且叫作DebugDemo吧,其它屬性保持默認,確定。生成DebugDemo的代碼框架后,首先添加一個int類型的全局變量sum:
    1. int sum = 0;
    1. for (int i=0; i<100; i++)
    2. {
    3. sum += 1;
    4. }
    復制代碼
    上面這段代碼如具有一定編程基礎的朋友應該都能看懂了,就是循環(huán)100次,每次給sum這個變量+1。那么,我們現(xiàn)在希望EA運行的時候是逐遍地運行循環(huán),每次循環(huán)我們都能觀察到sum這個變量里面的數(shù)據(jù)變化,該怎么做呢?首先,我們給這段代碼加入一個斷點(BreakPoint)。什么是斷點呢?這里作個簡單的解釋:斷點是程序開發(fā)中的一個專業(yè)術語,通俗來說就是告訴MT5運行到這個斷點的時候,就打住了,別往下走了,聽候上級吩咐吧!那么,我們的斷點放在哪里好呢?(大家往下看之前可以自己想想這個問題的答案)答案是:放在sum被賦值的地方。好了,目標有了,領導發(fā)話了那就干活吧,但是,還有個問題,怎么添加斷點呢?把鼠標放到希望加入斷點的地方(以行為單位),單擊右鍵,選擇"Toggle Breakpoint"選項,或直接按快捷鍵F9,就會在這行的行號位置出現(xiàn)一個藍色的圓圈,這就表明在當前位置添加了一個斷點,當EA代碼運行到這個斷點位置時,就會停下來了。
    加入斷點后,編譯代碼,運行EA。這時會自動切換到MT5軟件上去了,我們這時切換回MetaEditor5,大家可以看到在下方的輸出窗口:
    我們在"Expression"下方輸入變量名sum:

    按下回車:

    好了,我們剛才干了些什么呢?嗯,我們把變量sum加入了監(jiān)視列表,從現(xiàn)在起,只要變量sum里面的數(shù)據(jù)發(fā)生任何變化,這里都會即時更新的,通過這種方式,我們就可以實時跟蹤變量sum的數(shù)值變化,從而達到所謂的調(diào)試目的了。
    現(xiàn)在,我們看到"Value"一列中,數(shù)值為0,這表明目前為止,sum里面的數(shù)據(jù)是0,還是我們初始化時候賦的值。但我們這個EA的功能不是讓sum循環(huán)100遍的+1么?怎么沒完成任務就開始休息了呢?呵呵,這就是斷點的作用了,由于這行存在斷點,所以程序運行到sum第一次賦值之前就停下來了,領導不發(fā)話,誰敢動啊。。。
    這時候,我們看看工具欄,有3個本來是灰色的按鈕變成可用狀態(tài)了:

    我們點擊一下第一個按鈕"Setp into",這時就會發(fā)現(xiàn)value一欄的數(shù)值發(fā)生了變化,從0變?yōu)?了,這是因為程序跑了一遍循環(huán),給變量sum進行+1了。顧名思義,setp into,就是步進,也就是一步步的來運行。舉個例子,大家應該都參加過軍訓吧?在練習正步走的時候,教官通常都會進行分解動作練習(不堪回首的記憶啊。。。),教官喊“一”,大家踢左腳,喊“二”,大家踢右腳。。。我們這里也大概是那么回事了,每按一下"Setp into"按鈕,EA就動一下,由于這里總共要循環(huán)100遍,所以每次EA就循環(huán)一遍,變量sum就被+1一次,如此往復循環(huán)。。。
    好了,至此就結(jié)束了關于Debug功能的簡單介紹,由于筆者能力所限,只能起個拋磚引玉的作用,希望有經(jīng)驗的朋友能在論壇上不吝分享關于Debug的使用心得,或來人來函來電以及來而不往非禮也之進行關于MQL5開發(fā)方方面面之熱烈洽談。。。
    作者:阿郎(shawnyau)栽自火線論壇http://www.fx998.cn。

【字體: 】【打印文章】【查看評論

相關文章

    沒有相關內(nèi)容
主站蜘蛛池模板: 99热在这里只有免费精品 | 天天爽夜夜爽天天做夜夜做 | 精品一区二区在线欧美日韩 | 日本精品久久久久中文字幕8 | 成人在线激情视频 | 天天操夜夜艹 | 国产福利一区二区在线精品 | 久久久窝窝午夜精品 | 午夜黄色影院 | 一级大黄视频 | 911视频免费 | 欧美在线一级毛片观看 | 久草最新网址 | 国产精品亚洲第一区广西莫菁 | 免费一看一级毛片全播放 | 国产成人高清精品免费观看 | 精品在线一区二区 | 欧美一级精品高清在线观看 | 国语高清精品一区二区三区 | 看欧美的一级毛片 | 亚洲成人免费观看 | 色狠狠成人综合色 | 国产呦系列 欧美呦 日韩呦 | 国产精品久久久久久久久岛 | 皮皮在线精品亚洲 | 久久99影院| 亚洲精品第四页中文字幕 | 狠狠色欧美亚洲狠狠色五 | 一区二区三区日韩精品 | 日韩一区二区不卡 | 日本高清不卡免费 | 第四色奇米影视 | 特黄特黄aaaa级毛片免费看 | 成人日韩 | 精品中文字幕不卡在线视频 | www激情五月 | 日本亚洲一区二区三区 | 色综合手机在线 | 久久久精品免费热线观看 | 免费的黄色小视频 | 奇米影视首页 |