开拓者期货期权程序化系统交易论坛

标题: 返回值是n/a是不是代表InvalidNumeric呢? [打印本页]

作者: blue8ilen    时间: 2016-11-7 12:37:50     标题: 返回值是n/a是不是代表InvalidNumeric呢?

如题
作者: 小米    时间: 2016-11-7 13:09:22

invalidnumeric
invalidinteger
都是无效值 ,一个是数值型,一个是整型
作者: blue8ilen    时间: 2016-11-7 15:41:56

小米 发表于 2016-11-7 13:09
invalidnumeric
invalidinteger
都是无效值 ,一个是数值型,一个是整型

1.也就是说比如数值型的A,当fileappend返回是n/a的时候,等同于a==invalidnumeric吧。
2.策略中有个
lowBand = Lowest(low[1],10);
PlotNumeric("lowBand",lowBand);
的写法,为什么图上返回的也是n/a呢?
谢谢小米版主
作者: 小米    时间: 2016-11-7 16:13:04

blue8ilen 发表于 2016-11-7 15:41
1.也就是说比如数值型的A,当fileappend返回是n/a的时候,等同于a==invalidnumeric吧。
2.策略中有个
low ...

什么位置返回的N/A?
是图表最左边的十个K线上吗?
作者: blue8ilen    时间: 2016-11-7 16:19:58

小米 发表于 2016-11-7 16:13
什么位置返回的N/A?
是图表最左边的十个K线上吗?

所有的bar上,不过我样本选的300,每一根都是n/a

作者: 小米    时间: 2016-11-7 16:23:04

blue8ilen 发表于 2016-11-7 16:19
所有的bar上,不过我样本选的300,每一根都是n/a

公式最后一行加上这一句 commentary(text(maxbarsback));  看一下值是多少?
另外plotnuermic上层有没有条件限制?或是代码前面有没有使用到return?
作者: blue8ilen    时间: 2016-11-7 16:33:08

本帖最后由 blue8ilen 于 2016-11-7 16:35 编辑
小米 发表于 2016-11-7 16:23
公式最后一行加上这一句 commentary(text(maxbarsback));  看一下值是多少?
另外plotnuermic上层有没有 ...


之前有return的条件,有三个。是不是问题出在第三个这里呢,因为非交易时间a函数无效导致的
If(!CallAuctionFilter()) Return;// 集合竞价和小节休息过滤
If(Q_Last == 0 ||(Date != Date[1] && High == Low)) Return;//如果未开盘直接返回
If(A_BuyPosition == InvalidNumeric Or A_SellPosition == InvalidNumeric) Return;//当仓位读取不正确的时候返回
如果是这个问题的话,解决办法吧lowband的赋值放在这个return之前可以吗,放在之后是考虑到减少不必要的运算。
作者: 小米    时间: 2016-11-7 16:49:42

blue8ilen 发表于 2016-11-7 16:33
之前有return的条件,有三个。是不是问题出在第三个这里呢,因为非交易时间a函数无效导致的
If(!CallAuct ...

lowest是运算是需要序列值的。而你前面的return,特别是第三句,基本上就没法使得lowest运算了,也不会有输出。。。
作者: blue8ilen    时间: 2016-11-7 16:59:11

小米 发表于 2016-11-7 16:49
lowest是运算是需要序列值的。而你前面的return,特别是第三句,基本上就没法使得lowest运算了,也不会有 ...

恩,当初是为了减少不必要的运算使用了几种条件下renturn。解决办法吧lowest的运算放在这个return之前应该就可以了吧。
作者: 小米    时间: 2016-11-8 08:36:51

blue8ilen 发表于 2016-11-7 16:59
恩,当初是为了减少不必要的运算使用了几种条件下renturn。解决办法吧lowest的运算放在这个return之前应 ...

嗯。将lowest之类的运算以及plotnumeric放return前就可以。
作者: blue8ilen    时间: 2016-11-8 17:01:03

小米 发表于 2016-11-8 08:36
嗯。将lowest之类的运算以及plotnumeric放return前就可以。

还想再请教一下,系统读取序列变量和全局变量那个更快速呢
作者: 小米    时间: 2016-11-8 17:03:42

blue8ilen 发表于 2016-11-8 17:01
还想再请教一下,系统读取序列变量和全局变量那个更快速呢

速度上没有什么明显的差别。序列变量与全局变量的用法以及用处是完全不同。
需要注意的是,在某些条件上使用全局变量写的东西是没法进行回测的,而序列变量则可以。

作者: blue8ilen    时间: 2016-11-8 17:18:45

小米 发表于 2016-11-8 17:03
速度上没有什么明显的差别。序列变量与全局变量的用法以及用处是完全不同。
需要注意的是,在某些条件上 ...

如果掉线或者关闭图表的话对这两种变量又有何影响呢。到目前为止,我感觉掉线再重连,全局变量会变成无效值,而序列变量好像会在图标上重新运算一遍到当前值,不知道对不对
作者: 小米    时间: 2016-11-9 08:56:48

blue8ilen 发表于 2016-11-8 17:18
如果掉线或者关闭图表的话对这两种变量又有何影响呢。到目前为止,我感觉掉线再重连,全局变量会变成无效 ...

是的,重启图表或是断线重连后,程序都会从头再开始运算一遍数据。
重新运算时,可能会导致原记录的全局变量数据被清除了




欢迎光临 开拓者期货期权程序化系统交易论坛 (http://bbs.tb18.net/) Powered by Discuz! X2