开拓者参数介绍.docx

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
开拓者参数介绍

参数参数是一个预先声明的地址,用来存放输入参数的值,在声明之后,您就可以在接下来的公式中使用该参数的名称来引用其值。参数的值在公式的内部是不能够被修改,在整个程序中一直保持不变,不能对参数进行赋值操作(引用参数是个特例)。参数的好处在于您可以在调用公式应用的时候才指定相应的参数,而不需要重新编译。例如,我们常用的移动平均线指标,就是通过不同的Length来控制移动平均线的周期,在调用指标时可以随意修改各个Length的值,使之能够计算出相对应的移动平均线。您可以指定4个参数为5,10,20,30计算出这4条移动平均线,也可以修改4个参数为10,22,100,250计算出另外的4条移动平均线。参数的修改很简单,在超级图表调用指标的过程中,您可以打开指标的属性设置框,切换到参数页面,手动修改各项参数的值,然后应用即可,交易开拓者将根据新的参数设置计算出新的结果,在超级图表中反映出来。另外,参数的一个额外的优点是,我们可以通过修改公式应用不同的参数,测试交易策略的性能优劣,达到优化参数的目的。参数类型在介绍参数类型之前,我们需要对于TradeBlazer公式的公式类型作一些说明,用户函数是公式中比较特殊的类型,它自身不能被超级图表,行情报价这样的模块调用,只能被公式应用或者用户函数调用,因此它的参数类型也和公式应用不一样。用户函数的参数类型可以包含TradeBlazer公式的九种类型,而公式应用只能使用三种简单的基本类型。三种简单类型参数通过传值的方式将参数值传入公式,公式内部通过使用参数名称,将参数值用来进行计算或赋值。引用参数是在调用的时候传入一个变量的地址,在用户函数内部会修改参数的值,在函数执行完毕,上层调用的公式会通过变量获得修改后的值,引用参数对于需要通过用户函数返回多个值的情况非常有用。序列参数可以通过回溯获取以前Bar的值,具体介绍可参见参数回溯。参数声明在使用参数之前,必须对参数进行声明,TradeBlazer公式使用关键字Params来进行参数宣告,并指定参数类型。可以选择赋默认值,也可以不赋默认值。如果某个参数没有赋予默认值,则这个参数之前的其他参数的默认值都将被忽略。参数定义的语法如下:Params 参数类型 参数名1(初值); 参数类型 参数名2(初值); 参数类型 参数名3(初值);下面是一些参数定义的例子:Params Bool bTest(False); //定义布尔型参数bTest,默认值为False; Numberic Length(10); //定义数值型参数Length,默认值为10; NumericSeries Price(0); //定义数值型序列参数Price,默认值为0; NumericRef output(0); //定义数值型引用参数output,默认值为0; String strTmp(Hello); //定义字符串参数strTmp,默认值为Hello;参数名称的命名规范详细说明参见命名规则。整个公式中只能出现一个Params宣告,并且要放到公式的开始部分,在变量定义之前。参数的默认值在声明参数时,通常会赋给参数一个默认值。例如上例中的False,10,0等就是参数的默认值。用户函数的默认值是在当用户函数被其他公式调用,省略参数时作为参数的输入值,其他五种公式的默认值是用于图表,报价等模块调用公式时默认的输入值。参数的默认值的类型在定义的时候指定,默认值在公式调用的时候传入作为参数进行计算。只能够对排列在后面的那些参数提供默认参数,例如:Params NumericMyVal1; NumericMyVal2(0); NumericMyVal3(0);您不能够使用以下方式对参数的默认值进行设定:Params NumericMyVal1(0); NumericMyVal2(0); NumericMyVal3;参数使用在声明参数之后,我们可以在脚本正文中通过参数名称使用该参数,在使用的过程中要注意保持数据类型的匹配,示例如下:Params NumericSeries Price(1);Vars NumericSeries CumValue(0);Begin CumValue = CumValue[1] + Price; Return CumValue;End在以上的公式中,首先定义了一个数值型序列参数Price,并将其默认值设置为1。接着定义了一个变量CumValue。脚本正文中,将CumValue的上一个Bar值加上Price,并将值赋给C

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档