變數
- 整數
- 浮點數
- 布林值
變數的定義
型態 名稱=預設值;
整數沒有小數位
浮點數有小數位
布林值只有 ture是、false否

變數的作用域
在函式外面的最上面定義是全域變數,所有的地方都可以存取,在Start、Fun()都是存取全域變數。OnStart() 裡面又定義一個同名的區域變數,此時之後的操作 -> 直到 }之前,都是存取區域變數,這裡在編譯的時候會有警告訊息 declaration of ‘testI’ hides global variable ,全域變數被隱藏。

MT4下方終端 -> EA交易的頁籤。

避免作用域混淆,最好的方式就是變數名稱不要重複,如果全域變數定義的時候就加個前綴g,在使用變數的時候會更好理解。
例如:
int gTestI = 0; 全域
int TestI = 0; 區域
參數
#property show_inputs 這樣才會顯示輸入參數的對話視窗
在變數前面加上 input,載入程式時就可以改變這些數值(輸入的參數)。

在腳本的地方點擊載入 參數_變數,就會出現輸入參數的對話視窗,剛才的變數名稱就會顯示在裡面。
前綴i (當作輸入參數的區別)


如果在參數後面增加註解的話,會直接變成對話視窗變數的名稱,對於使用者來說非常的直觀。

也可以自定義列舉enum,裏面有兩個數值(也可以更多),將列舉定義為input就可以讓使用者當成參數使用了。

在輸入參數的對話視窗,因為在列舉跟定義input的後面都有新增註解,所以在這裡都是中文顯示非常直觀。

這裡提供片段程式碼僅供參考,請放在腳本的資料夾 Scripts。
參數_變數.mq4