函數的參數傳遞 [MC]
-
MC用戶求助:
一、首先,MC中有參數定義,它通過關鍵字input來定義;MC中有變量定義,它通過variable關鍵字來定義;input定義的參數,沒有賦值這一說法,變量可以進行賦值。
二、函數中的input用于定義參數的名稱和參數的類型,不能指定參數的初始值,因為這需要從外部傳入初始值進行內部計算;指標和信號中的input用于定義參數的名稱和參數的初始值(通過初始值的指定,就同時為該參數指定了類型);參數的類型請您看一下關鍵字numeric、string和truefalse。
三、變量的定義對于函數、指標和信號都是一樣的,定義名稱和初始值,初始值的類型決定了該變量的類型。
四、在指標和信號中調用函數時,傳遞的參數的類型必須和函數定義時的輸入參數一致,而傳遞給函數的參數不能為空,不然會報錯。
五、MC中有默認的數值變量value1、value2一直到value99,最多支持99個,雖然這些是不需要通過關鍵字進行定義的,但是它們默認的值是0;有默認的布爾型變量condition1、condition2一直到condition99,最多支持99個,雖然這些也是不需要通過關鍵字進行定義的,但是它們默認的值是false。
六、說了這么多,現在來回復一下您的問題。第一:沒有賦值就走默認值,這個只能用在value和condition系列變量上,其它變量和參數(函數的參數是通過外部傳遞的)都是需要定義和初始化;第二:定義變量和參數不能為空,定義變量和參數必須要初始化(函數的參數是通過定義類型,然后外部調用時傳遞參數值)。?
-
MC回復討論一:
一、首先,MC中有參數定義,它通過關鍵字input來定義;MC中有變量定義,它通過variable關鍵字來定義;input定義的參數,沒有賦值這一說法,變量可以進行賦值。
二、函數中的input用于定義參數的名稱和參數的類型,不能指定參數的初始值,因為這需要從外部傳入初始值進行內部計算;指標和信號中的input用于定義參數的名稱和參數的初始值(通過初始值的指定,就同時為該參數指定了類型);參數的類型請您看一下關鍵字numeric、string和truefalse。
三、變量的定義對于函數、指標和信號都是一樣的,定義名稱和初始值,初始值的類型決定了該變量的類型。
四、在指標和信號中調用函數時,傳遞的參數的類型必須和函數定義時的輸入參數一致,而傳遞給函數的參數不能為空,不然會報錯。
五、MC中有默認的數值變量value1、value2一直到value99,最多支持99個,雖然這些是不需要通過關鍵字進行定義的,但是它們默認的值是0;有默認的布爾型變量condition1、condition2一直到condition99,最多支持99個,雖然這些也是不需要通過關鍵字進行定義的,但是它們默認的值是false。
六、說了這么多,現在來回復一下您的問題。第一:沒有賦值就走默認值,這個只能用在value和condition系列變量上,其它變量和參數(函數的參數是通過外部傳遞的)都是需要定義和初始化;第二:定義變量和參數不能為空,定義變量和參數必須要初始化(函數的參數是通過定義類型,然后外部調用時傳遞參數值)。?
-
MC回復討論二:
上面解釋很詳細,謝謝~!
我是想這樣
iinput:x(truefalse);
iif x=null then func=false;
//---------------------------------------------------
func(true)=true;
func()=false;
問題出在,有沒有一個判斷是否參數被賦值的判斷.比如=null?
-
MC回復討論三:
MC中沒有您說的null;其二,對于這個判斷,MC在編譯的時候,就會查找您的代碼錯誤(查找函數、指標和信號腳本中關于參數和變量的定義是否正確),出現問題就會報錯編譯不成功。
?
-
MC回復討論四:
MC中沒有您說的null;其二,對于這個判斷,MC在編譯的時候,就會查找您的代碼錯誤(查找函數、指標和信號腳本中關于參數和變量的定義是否正確),出現問題就會報錯編譯不成功。
有思路,想編寫各種指標公式,程序化交易模型,選股公式,預警公式的朋友
可聯系技術人員 QQ: 511411198 進行 有償 編寫!(不貴!點擊查看價格!)
相關文章
-
沒有相關內容