最近又有點空閒,開始自修MT4的程式寫法
之前都想直接看別人寫好的EA,然後一行一行看
不過後來發現這樣效果有點差
因為根據這段時間的挫敗經驗,即使是最簡單的交易EA,對初學者來說架構都太大了 Orz
所以這禮拜改從比較簡單的腳本(Script)開始寫
果然一下就寫出好幾個可以用的腳本,比寫EA有成就感多了
所以我也推薦初學者先從腳本開始寫起
腳本的好處是程式碼比較少,執行後馬上可以看到輸出結果,所以對於各種函數的熟練也很方便
譬如最開始,想測試 printf() 跟Print() 的差別
就可以像下面的打法
上圖東西很多,但其實只在OnStart() 中輸入了:
printf("Point = %.6f",Point);
Print("Point = ",Point);
其他都是MetaEditor自行產生的,其中Point 是MT4內建的函數,可以取得當前貨幣的最小報價點數(詳細內容可以參考內建的說明檔)
compile後執行,就可以在MT4的EA交易頁面看到輸出結果,如下圖,第3、4行就是輸出結果,第3行是printf的結果,第4行是Print的結果:
順帶一提,printf是原本C語言就有的輸出函式,可以控制的項目比較多,但也比較複雜
譬如這裡我打了%.6f,就代表輸出到小數點後第6位,所以會顯示0.000010,其他用法請參C語言
而Print我猜應該是MT4自己寫的輸出函式,用法相對比較容易
用Print想把多個字串串起來的話,就用","或"+"把不同字串隔開就好了
像下面這樣:
輸出結果就會像下面(3、4行),可以看到輸出結果是一樣的
不過用"+"就會出現型別不清的警告,看來還是用","分開比較好
===
不過使用腳本也有一些限制
譬如假日的時候,經紀商的伺服器沒開機,你要測一些函數就不能測
譬如下單、刪單等要跟對方主機請求的動作,這時候就沒戲唱了....ZZZZ
只能去做別的事,例如:看別人寫的程式碼(好宅?)
留言列表