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