函数的参数传递 [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 进行 有偿 编写!(不贵!点击查看价格!)
相关文章
-
没有相关内容