欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 关于ubound函数的疑问

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有2986人关注过本帖树形打印复制链接

主题:关于ubound函数的疑问

帅哥哟,离线,有人找我吗?
rocklet
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:66 积分:25 威望:0 精华:0 注册:2012/2/27 12:06:36
关于ubound函数的疑问  发帖心情 Post By:2016/8/10 15:28:28    Post IP:222.93.138.134[只看该作者]

以下程序:
RUNMODE:0;
cl:CLOSE;
cc:UBOUND(CL);
可以通过,但是将cl改成中间语句,如:
RUNMODE:0;
cl:=CLOSE;
cc:UBOUND(CL);
就无法通过编译。提示未定义的变量‘cl’
这是为什么呢?

 回到顶部
帅哥哟,离线,有人找我吗?
jinzhe
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:罗宾汉 帖子:46311 积分:50819 威望:0 精华:2 注册:2011/3/23 8:50:25
  发帖心情 Post By:2016/8/10 15:33:54    Post IP:180.169.30.6[只看该作者]

UBOUND这个函数是用来获取数组上界的

因此CL:CLOSE;这句使得CL变成了一个序列变量(数组的一种),所以没问题

CL本来就不是数组,加了一个等号之后CL就不能成为序列变量了(也就不是数组了),所以是函数取值会报错的。

 

不用序列变量,用常规数组的办法是:

RUNMODE:0;
variable:c1[]=0;//先定义成常规数组,一个空数组
c1:=CLOSE;//然后赋值close,这样一个常规数组转化成了序列变量,数组扩大为close的数据量
cc:UBOUND(C1);//取值

 

[此贴子已经被作者于2016-8-10 17:08:50编辑过]


金字塔—专业程序化交易量化投资平台

客户服务部

----------------------------------------------------------- 欢迎您参加我公司的技术培训,具体培训需求请发邮件到service@weistock.com

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com

 回到顶部
帅哥哟,离线,有人找我吗?
rocklet
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:66 积分:25 威望:0 精华:0 注册:2012/2/27 12:06:36
  发帖心情 Post By:2016/8/10 15:36:39    Post IP:222.93.138.134[只看该作者]

原来如此,谢谢

 回到顶部