开拓者期货期权程序化系统交易论坛
标题:
同一根K线下, highest函数执行的结果不一致
[打印本页]
作者:
trade_trend
时间:
2017-9-7 09:42:10
标题:
同一根K线下, highest函数执行的结果不一致
同一根K线下, highest函数执行的结果不一致
代码和运行结果如下:
我理解TB会从左到右依次遍历每根K线, 我的测试代码中, 当在最后一根K线时求最大值, 并将结果输出
从运行结果看, H1是正确值, H2是错误值. H2只是当前(最后一根K线)的最大值. 烦请高手解惑
[attach]35949[/attach]
BTW:
我本地也做了一些调试, 例如, 我编译一个highest_test的函数. 在这个测试函数里面打印传入的参数序列.
发现在if语句里面传入的参数序列都是固定的值. 即, 都是最后一根K线的最大值
我现在不理解为什么if语句里面和外面结果不一致. 希望能弄清楚原理. 这样, 也避免以后写的代码有bug隐患
谢谢
作者:
a519459763
时间:
2017-9-7 10:10:59
Params
Vars
Numeric h1;
Numeric h2;
Numeric i;
Begin
h1=Highest(high,20);
h2=highest(high,20);
If(BarStatus()==2)
{
FileAppend("d:\\aaa.txt",Text(h1)+Text(h2));
}
End
作者:
dhqh8712598
时间:
2017-9-7 10:39:25
当前根没有走完,会有不同的high,用high[1].应该可以吧!
作者:
kanbadene
时间:
2017-9-7 10:57:21
highest不要放到循环或者判断里,在之前先赋值给序列变量就行
欢迎光临 开拓者期货期权程序化系统交易论坛 (http://bbs.tb18.net/)
Powered by Discuz! X2