您现在的位置: 比特财富网 >> 财经 >  >> 外匯
外匯EA編程教程――變量
外_匯_邦 WaiHuiBang.com

    1 本地變量:

定義在函數內部的變量稱為本地變量,它的作用范圍只有在定義它的函數內可以訪問,在函數外面的代碼,不能訪問函數裡面的變量。www.emoneybtc.com例如:

int funcname(int a)

{

int abc; //函數內部的變量,只能由函數裡面的代碼訪問,函數外部不能訪問變量abc;

}

2 函數參數:

函數參數的各個變量名稱不能函數內部變量重名。參數也可以指定默認值,例如:

void func(int x, double y = 0.0, bool z = true)

{

...

}

這個函數指定了y的默認值為0.0,z的值為true。

調用這個函數的時候,可以不指定有默認值的參數值。如func(9), 則相當於 func(9, 0.0, true)這樣調用。如果調用了func(9, 1.5) 則相當於調用了 func(9, 1.5, true).

一般情況下,函數參數是傳值。在函數裡面改變參數的值,不會變化到調用該函數的程序塊。即使是數組也是傳值進去。

那麼我們如何傳引用呢?通過傳引用,如果函數裡面的參數值改變了,對應的調用該函數的代碼段的變量值會跟著改變。如果要傳引用,則需要在函數參數類型後面添加符號 '&',如:

void func(int& x, double& y, double& z[])

{

x = 8;

}

有一點需要注意:如果是傳引用的函數參數,不能對參數進行預設置默認值。

參數參數不能超過64個。

3 全局變量:

全局變量是與函數同級別的變量,它的作用域是整個MQL代碼。也就是說整個MQL各個地方都能訪問到全局變量。如:

int a = 10;

int funca()

{

Print(a); //可訪問到全局變量a

return (0);

}

int funcb()

{

Print(a); //可訪問到全局變量a

return (1);

}

4 外部變量:

如果一個變量被定義為外部變量,則EA客戶端可以設置這個外部變量的值。

例如:

extern int a = 10;

extern color c = red;

外_匯_邦 WaiHuiBang.com
  風險提示:比特財富網的各種信息資料僅供參考,不構成任何投資建議,不對任何交易提供任何擔保,亦不構成任何邀約,不作為任何法律文件,投資人據此進行投資交易而產生的後果請自行承擔,本網站不承擔任何責任,理財有風險,投資需謹慎。
比特財富網 版權所有 © www.emoneybtc.com