今天是這周唯一的放假日,我們就來聊點比較輕鬆的話題好了。通常在講資料類型前都會先花一點篇幅介紹何謂變數,但其實MQL5的變數宣告跟其他語言差不多,下一篇我們再來就比較複雜的全域變數跟本地變數討論。
在MQL4的語言中,只有一個int類型,而MQL5就與其他語言相近了點,可以根據不同的情況使用不同的整數類型(signed integer),每個類型可容納的整數範圍不同。
而這些類型中,我們最常使用的便是int long這兩個類型。另外,也有不允許負數的整數類型(unsigned integer type)。
相對於前面的signed integer,這些類型很少被使用。
實數類型用於儲存數職的小數部分,像是價格、手數。
在我們編寫程式時,double type會是最常使用的,雖然float可用於處理大陣列的實數以節省記憶體,但因為他不被使用在大多MQL5函數,所以出場率極低。
用於儲存文本的字串類型,字串必須放在雙引號內("")
例如:
string newString = "Hello MT5";
如果想要再輸出的字串裡使用雙引號,可使用跳脫字元(即一個反斜線)
例如:
string newString = " Today's weather is \"blazing\" "; //OUTPUT:Today's weather is "blazing"
另外,如果要連接多個字串,除了使用+以外,還可以使用StringConcatenate()函數,實際用法如下。
string firstName = "Shini";
string lastName = "Chicken";
string fullName;
StringConcatenate(fullName, firstName, " ", lastName);
Print("Full Name: ", fullName);
//OUTPUT: Full Name: Shini Chicken
布林類型用於儲存真/假值(true/false)
若一開始沒有定義布林值為True,則預設值為0或false,而任何布林變數中非零的值為True
例子:
bool newBoolean; // 此時newBoolean為false
newBoolean = 56948; //賦值
Print(newBoolean); OUTPUT: true
用於儲存色彩資訊的類型通常用RGB值或十六進位值表示,可以在以下地方查看顏色常量的全套數值:
MQL5 Reference > Constants, Enumerations and Structures > Objects Constants > Web Colors。
https://www.mql5.com/en/docs/constants/objectconstants/webcolors
例子:
color lineColor = clrPurple;
color lineColor = C'128,0,128'; //RGB值
color lineColor = 0x800080; // 0x(16進位值)
//第一行為MQL5預設顏色常量
//二三行可使用自定義顏色
我使用的色碼轉換器:https://www.peko-step.com/zhtw/tool/tfcolor.html