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

标题: v4.1 Highest/lowest在分支结构中出现异常结果 [打印本页]

作者: brucecolvin    时间: 2011-6-26 16:58:47     标题: v4.1 Highest/lowest在分支结构中出现异常结果

v4又发现一个问题,Highest/lowest在分支结构中出现异常结果,同样的代码计算结果却不一样。

[attach]4729[/attach]

公式1 test 代码如下:
Params

Vars
Numeric VPeriod;
String VS1;
Begin

VPeriod = 186;
if( h<=Highest(h[1],VPeriod) )
{
VS1 = VS1 + "否定,未创"+text(VPeriod)+"周新高。";
}else
{
VS1 = VS1 + "突破"+text(VPeriod)+"周新高。";
}

Commentary(VS1);
End

公式 2 test2代码如下:
Params

Vars
Numeric VPeriod;
String VS1;
Begin

if( time>0.1358 )
{
VPeriod = 186;
if( h<=Highest(h[1],VPeriod) )
{
VS1 = VS1 + "否定,未创"+text(VPeriod)+"周新高。";
}else
{
VS1 = VS1 + "突破"+text(VPeriod)+"周新高。";
}
Commentary(VS1);
}

End


请测试cf1201 2011年6月24日 10tick线 显示1300个bar 看13:59:00分bar的信息提示。VPeriod = 186; h<=Highest(h[1],VPeriod); 理论上来讲,这两行代码在放在任何位置,不管是否有分支结构,不管是有循环还是不循环,其任何时刻计算的结果都应该一致,而事实却两个结果。
作者: courage121    时间: 2011-6-26 18:07:45

同问,感觉系统的求极值函数很不稳定,有的时候就能求出来,有的时候就不行,不知道实盘的时候会不会有问题,好像之前v3就没有这个问题就是升级v4后问题太多了
作者: nopain    时间: 2011-7-5 14:54:57

Highest是序列函数,不能放在If语句里面




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