开拓者期货期权程序化系统交易论坛
标题:
for while if else 中包含序列函数,可能存在潜在的逻辑错误!
[打印本页]
作者:
开心
时间:
2013-5-9 15:00:37
标题:
for while if else 中包含序列函数,可能存在潜在的逻辑错误!
//CurrentBar>20是因为CoefficientR函数中,如果序列值的CurrentBar小于Length时,该函数返回无效值
//CurrentBar-20>=19 是为了使得从close[20]开始往后还有20个日线k柱,这样才能使得算CoefficientR时两组数据都能够准备好。
if(CurrentBar>20 && CurrentBar-20>=19)
{
CoefficientPearson=CoefficientR(Close,Close[20],20);
//某K柱的日线相关性达到要求,则开始考虑该k柱的分钟时间序列的相关性
if(abs(CoefficientPearson)>=relevancy)
{
}
}
for while if else 中包含序列函数,可能存在潜在的逻辑错误!这个是什么问题!
作者:
ample
时间:
2013-5-9 16:27:36
序列变量的赋值不能放到条件语句里,因为满足条件才能赋值,会导致有的bar没有,有的有,会出现问题的
作者:
开心
时间:
2013-5-10 10:26:27
ample 发表于 2013-5-9 16:27
序列变量的赋值不能放到条件语句里,因为满足条件才能赋值,会导致有的bar没有,有的有,会出现问题的 ...
能不能说明白点呀!好像问题处在CoefficientPearson=CoefficientR(Close,Close[20],20);这句话上。如何修改呢!
作者:
Transcend
时间:
2013-5-10 10:40:52
其实很好理解的,你把赋值放在IF里面了,当IF满足的时候,你的变量参与了K线的计算,当IF不满足的时候,你的变量又不参与K线的计算,这样的结果就是,你的变量并没有在所有K线上计算,只是部分K线的计算结果,所以这个变量的值,肯定是有偏差的
作者:
TBLearning
时间:
2014-4-16 10:25:43
那如果不进行赋值的话,会有影响吗?
作者:
ample
时间:
2014-4-16 15:09:11
楼上说的不赋值是什么意思?后面用到了该值进行判断啊
欢迎光临 开拓者期货期权程序化系统交易论坛 (http://bbs.tb18.net/)
Powered by Discuz! X2