2016/09/22

2016/09/22 (四) EA鍽程之MQL4語言:(3)變數與函數其實不難?!

(:本站文案除原創外,其餘訊息来自互联网收集和整理,请自行参酌。)

2016/09/22 ()

EA鍽程之MQL4語言:(3)變數與函數其實不難?!

一、數學、三角函數:

關於數學函數詳見MT4的幫助或使用手册。

值得強調的是絕對值函數是用頻率最高,我們經常需要判斷當前價是否達到了預期的止盈止損,就要是用這個函數。下麵是個例句:

If (MathABS(Close[0]-OrderOpenPrice())>StopLoss*Point;//如果價位達到止損

使用這個語句的意義就在於我們不必去管當前訂單是買入類型還是賣出類型。

二、陣列函數:

關於陣列函數詳見MT4的幫助。在此強調以下幾個注意事項:

1、 陣列的最大維數最大為4維。

例如定義一個陣列為myArray[10,10,10,10],說明該陣列有4維,每維有10個元素。

2、 維數元素序號從0開始計算。

例如myArray[0],就表示變數myArray第0個位置的資料。假如該陣列定義為10個數位,那麼第10個數字就應該表示為myArray[9]。

3、MQL4不是專業的電腦開發語言,在陣列使用方面有不嚴謹之處。比如在編寫指標的時候,你預先定義了一個一維陣列A[ ],這個方括號裡為空表示可以使用任意多個元素,實際在調用這個陣列的時候,必須先定義元素數量,否則無法取值。

三、彈出訊息方塊函數:




MessageBox需要調用mql的函數,因此在程式頭需要添加一個語句,否則通不過編譯,該語句後面不要跟“;”。

#include <WinUser32.mqh>