设为首页收藏本站

 找回密码
 注册
查看: 1507|回复: 3
打印 上一主题 下一主题

同一根K线下, highest函数执行的结果不一致 [复制链接]

Rank: 1

精华
0
UID
255008
积分
14
帖子
6
主题
4
阅读权限
10
注册时间
2017-8-4
最后登录
2017-9-7
跳转到指定楼层
1#
发表于 2017-9-7 09:42:10 |只看该作者 |倒序浏览
同一根K线下, highest函数执行的结果不一致
代码和运行结果如下:
我理解TB会从左到右依次遍历每根K线, 我的测试代码中, 当在最后一根K线时求最大值, 并将结果输出
从运行结果看, H1是正确值, H2是错误值. H2只是当前(最后一根K线)的最大值. 烦请高手解惑


BTW:
我本地也做了一些调试, 例如, 我编译一个highest_test的函数. 在这个测试函数里面打印传入的参数序列.
发现在if语句里面传入的参数序列都是固定的值. 即, 都是最后一根K线的最大值

我现在不理解为什么if语句里面和外面结果不一致. 希望能弄清楚原理. 这样, 也避免以后写的代码有bug隐患

谢谢
附件: 你需要登录才可以下载或查看附件。没有帐号?注册

Rank: 1

精华
0
UID
234321
积分
12
帖子
9
主题
0
阅读权限
10
注册时间
2016-5-12
最后登录
2019-10-24
2#
发表于 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

使用道具 举报

Rank: 1

精华
0
UID
233747
积分
27
帖子
11
主题
6
阅读权限
10
注册时间
2016-5-5
最后登录
2017-9-7
3#
发表于 2017-9-7 10:39:25 |只看该作者
当前根没有走完,会有不同的high,用high[1].应该可以吧!

使用道具 举报

Rank: 2

精华
0
UID
236535
积分
77
帖子
67
主题
0
阅读权限
30
注册时间
2016-6-14
最后登录
2019-6-13
4#
发表于 2017-9-7 10:57:21 |只看该作者
highest不要放到循环或者判断里,在之前先赋值给序列变量就行

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

bottom

静态版|手机版|联系我们|交易开拓者 ( 粤ICP备07044698   

GMT+8, 2024-5-9 11:43

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部