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

标题: 咨询关于序列变量,全局变量,数据库保存变量的问题 [打印本页]

作者: lan2017    时间: 2017-12-16 16:14:36     标题: 咨询关于序列变量,全局变量,数据库保存变量的问题

1、这几种方式都是可以保证变量的值一直传递下去,序列变量跟bar绑定,当前bar之前的bar只对应一个序列变量,不会更改,不同bar的值不一样,当前bar会随着行情变化序列变量的不断赋值而变化;全局变量跟整个K线图绑定,在K线图没有被关闭之前全局变量可以随行情不断被赋值更改,并且所有bar共享这个全局变量,在哪根K线上的值都一样,但是K线图关闭之后值归零;数据库传递机制和全局变量类似,变量只有最终一个唯一值,所有bar共用这个变量,值都一样,关闭K线图重新加载归零,是上次保存的值;这样理解是否正确?
2、我要定义一个变量来保存当前属于趋势行情还是震荡行情,这三种变量都可以用吗?回测会不会有问题?像全局变量和数据库只有一个值,回测不就只有要么是趋势,要么是震荡行情?
作者: 小米    时间: 2017-12-18 09:04:31

本帖最后由 小米 于 2017-12-18 09:09 编辑

1,序列变量的理解基本是这样的;
     全局变量在未赋值前不是0而是无效值,需要注意的是在行情断连或是手工刷新图表或是修改图表设置后公式会从头运算一次,如果全局变量的初始化不当,是可能导致之前 记录的值被重新改写;
     数据库读写的使用,当块名键名为某个字符串时,其效果与全局变量基本类似,只不过可保存于图表外,常用于一些会关掉图表或是跨图表间的数据传递。但如果其键名写为与bar的date+time等同的序列变量,则可以达到序列变量那样的将值对应到每一个bar上;

2,使用全局变量以及非序列变量键名的数据库的方式而写的条件,是没法进行历史回测的。






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