這個概念對編程來說是個很重要的定義爱葵,這三個東西每個都是不可替代的。
定義上區(qū)別
大白話描述的話就是:
EA:最重要的就是可以下單反浓,平倉萌丈,修改訂單之類的,相當(dāng)于一個工程啊這樣的一個存在雷则。
指標(biāo):在K線圖上辆雾,畫一些有提示作用的一些線,圖啊之類的月劈,提示下單的人這個地方發(fā)生了什么度迂,起到提示作用藤乙,報警功能。
腳本:半自動化交易非常重要的東西惭墓,只執(zhí)行一次坛梁,可以幫助操盤手達(dá)到快速下單的目的。(當(dāng)然也可以干別的啦腊凶,可以在界面上設(shè)置快捷鍵划咐,比較方便)
基本框架函數(shù)
EA編寫:init()、deinit()钧萍、start()
腳本編寫:start()
指標(biāo)編寫:init()褐缠、deinit()、start()
預(yù)定義函數(shù)init()风瘦、deinit()队魏、start()詳解:
init():開始運行時的初始化操作⊥蛏Γ可以用這個函數(shù)在開始自定義指標(biāo)或者自動交易之前做初始化操作胡桨。如果這個函數(shù)不可用,初始化時就不會調(diào)用任何函數(shù)蟹略。
deinit():停止運行時的操作登失。比如關(guān)掉窗口的時候遏佣。執(zhí)行與init()函數(shù)相反的操作挖炬,deinit()函數(shù)往往用來做“清理善后”的工作,例如状婶,創(chuàng)建對象時開辟了一片內(nèi)存空間意敛,退出模塊前需要釋放。如果用戶沒有編寫該函數(shù)膛虫,它也不會執(zhí)行任何操作
start():是主函數(shù)草姻。K線每波動一次都會執(zhí)行一次(不包括腳本)。對于自定義指標(biāo)稍刀,在指標(biāo)添加到圖表之后撩独,或在客戶端開始運行之時,也可在收到下一跳數(shù)據(jù)之后账月,該函數(shù)被調(diào)用综膀。對于腳本,在腳本被添加到圖表之后立即執(zhí)行并初始化局齿。如果模塊中根本不存在start()函數(shù)剧劝,模塊(智能交易,腳本或自定義指標(biāo))就不能執(zhí)行抓歼。
說明:
- 預(yù)定義函數(shù)可以帶參數(shù)讥此。不過當(dāng)客戶端調(diào)用這些函數(shù)時拢锹,不能從外部向它傳遞參數(shù),只能采用默認(rèn)值萄喳。start(),init(),deinit()函數(shù)可以從模塊的任何一點按照常規(guī)函數(shù)規(guī)則調(diào)用卒稳,等同于其他函數(shù)。
- 不推薦從init()函數(shù)調(diào)用start()函數(shù)或是執(zhí)行交易操作他巨。對于圖表數(shù)據(jù)展哭,市價等,在模塊初始化期間闻蛀,數(shù)據(jù)可能殘缺不全匪傍,這時,init()和deinit()函數(shù)必須盡快地完成任務(wù)觉痛。在調(diào)用start()函數(shù)之前役衡,千萬不要開始嘗試交易操作。
創(chuàng)建流程
具體的創(chuàng)建流程以及參數(shù)說明 在交易系統(tǒng)菜單欄里面查看:
幫助->幫助主題(直接按F1進(jìn)入也是可以的)
可以參考下下邊的圖片薪棒,找到相應(yīng)的位置手蝎,具體看下創(chuàng)建流程就OK啦。(客戶指示器就是自定義指標(biāo))
一定要好好利用官方提供的文檔俐芯。MT4的使用里面大部分都有啦棵介。
開發(fā)文檔使用
開發(fā)文檔也是有的,不過是英文版吧史。編程過程中可以將鼠標(biāo)的光標(biāo)放到有疑問的函數(shù)上
然后按F1可以看對應(yīng)的函數(shù)說明邮辽,會自動定位到光標(biāo)所在的函數(shù)哦。
也可以在MetaEditor的菜單欄:
幫助->MQL4幫助
也可以利用索引工具搜索自己想要搜索的函數(shù)贸营。比如開發(fā)中遇到問題調(diào)試的時候可以用索引搜索錯誤碼
OK吨述,說完。感謝觀看