设为首页收藏本站

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

同一根Bar上执行Highest(c[1],3)为什么出现不同的结果? [复制链接]

Rank: 10Rank: 10Rank: 10

精华
3
UID
5
积分
26584
帖子
12686
主题
49
阅读权限
200
注册时间
2007-7-20
最后登录
2021-11-3
1#
发表于 2014-8-14 10:36:44 |显示全部楼层
highest()函数的第一个参数是需要序列值的,若放条件里进行赋值运算,是会因为数据受限从而影响计算结果的正确性。。
正确的用法应该是第一个,不在条件内进行的赋值运算。

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
3
UID
5
积分
26584
帖子
12686
主题
49
阅读权限
200
注册时间
2007-7-20
最后登录
2021-11-3
2#
发表于 2016-6-15 14:10:34 |显示全部楼层
luckily 发表于 2016-6-15 13:46
版主大人,这点没有特别明白,能否说详细点?

改成如下代码
  1. vars
  2.     nuermic aa;
  3. begin
  4.    .....
  5.    aa = highest(c[1],3);
  6.    if(marketposition==1 && aa<stop )
  7.    {
  8.       ....
复制代码

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
3
UID
5
积分
26584
帖子
12686
主题
49
阅读权限
200
注册时间
2007-7-20
最后登录
2021-11-3
3#
发表于 2016-6-16 09:52:09 |显示全部楼层
luckily 发表于 2016-6-15 16:18
我是想问,为什么不能用在条件内部


序列函数的运算是有某个参数是需要序列值的。。
在条件下,这个序列值可能因为条件的限制而导致取值不够 完整,从而影响计算结果的正确性。
如果您能确保在条件下的取值也是正确的,那么该计算可以用于条件下的。。没有强硬的规定不可以用。

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
3
UID
5
积分
26584
帖子
12686
主题
49
阅读权限
200
注册时间
2007-7-20
最后登录
2021-11-3
4#
发表于 2016-6-16 10:20:00 |显示全部楼层
luckily 发表于 2016-6-16 10:15
所以条件判断的if语句不仅是作为触发之后的语句,而且对之后的执行环境也进行了过滤?这和c++或其他语言 ...

抱歉呀。。我没法回答您这与C++有无区别。
只能说,在TBL里是这个规则 。。

使用道具 举报

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

bottom

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

GMT+8, 2024-5-6 23:34

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部