设为首页收藏本站

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

函数回溯的问题。 [复制链接]

Rank: 4

精华
0
UID
7887
积分
527
帖子
65
主题
23
阅读权限
50
注册时间
2010-3-28
最后登录
2019-11-8
跳转到指定楼层
1#
发表于 2010-6-1 11:07:16 |只看该作者 |倒序浏览
函数回溯的问题。

我有一个函数mget_m5_mde。

函数回溯过程mget_m5_mde[1]/mget_m5_mde[2]/mget_m5_mde[3]其值都是一个相同的值,为什么会这样?

函数mget_m5_mde在bar1上值是10
函数mget_m5_mde在bar2上值是20
函数mget_m5_mde在bar3上值是30,
函数mget_m5_mde在bar4上值是40,
我在bar4上,回溯mget_m5_mde[1]/mget_m5_mde[2]/mget_m5_mde[3],发现其值都是40。

这个主要是,我想知道CountIf函数,CountIf(c>mget_m5_mde,12)>=8 的这样使用是否会有问题?

因为countif的第一个参数要求的bool的序列变量,而在编程countif的参数使用了c>mget_m5_mde,

如果编译器将c>mget_m5_mde变成一个序列变量,然后将序列变量传给countif就不会有错,如果不是这样编译的,我想会出问题的。

c是每个bar上都在变化,mget_m5_mde虽然是一个函数,但在每个bar上都在变的,比如c>mget_m5_mde,在每个bar上都满足的,

在最后一个bar上不满足,此时实际上CountIf(c>mget_m5_mde,12)依然大于8的,如果编译的时候函数回溯出问题,CountIf(c>mget_m5_mde,12)就不一定大于8了。

主要是想知道CountIf(c>mget_m5_mde,12)函数这样使用时,其参数c>mget_m5_mde是如何编译的?因为此处参数本身是要一个序列变量的,但这样写,编译也能通过,不知道编译器是如何实现的?

[ 本帖最后由 brucecolvin 于 2010-6-1 11:09 编辑 ]

Rank: 10Rank: 10Rank: 10

精华
2
UID
4130
积分
20906
帖子
6519
主题
17
阅读权限
200
注册时间
2009-4-15
最后登录
2019-4-12
2#
发表于 2010-6-1 11:13:48 |只看该作者
如果分别单独取mget_m5_mde[1],mget_m5_mde[2],mget_m5_mde[3]是正常的话,则CountIf(c>mget_m5_mde,12)没有问题

使用道具 举报

Rank: 4

精华
0
UID
7887
积分
527
帖子
65
主题
23
阅读权限
50
注册时间
2010-3-28
最后登录
2019-11-8
3#
发表于 2010-6-1 12:30:39 |只看该作者
原帖由 lh948 于 2010-6-1 11:13 发表
如果分别单独取mget_m5_mde[1],mget_m5_mde[2],mget_m5_mde[3]是正常的话,则CountIf(c>mget_m5_mde,12)没有问题



此时CountIf(c>mget_m5_mde,12)函数的c>mget_m5_mde是被编译为序列变量还是怎么?

使用道具 举报

Rank: 4

精华
0
UID
6061
积分
383
帖子
100
主题
17
阅读权限
50
注册时间
2009-12-4
最后登录
2019-3-30
4#
发表于 2010-6-1 16:53:58 |只看该作者
简单的事情复杂化!
跳出市场看市场!

使用道具 举报

Rank: 3Rank: 3

精华
0
UID
20427
积分
180
帖子
15
主题
6
阅读权限
40
注册时间
2010-11-26
最后登录
2012-12-25
5#
发表于 2010-11-30 20:53:11 |只看该作者
定义变量序列再赋值

使用道具 举报

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

bottom

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

GMT+8, 2024-5-19 08:24

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部