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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 请教数组的用法

   

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


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

主题:请教数组的用法

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


加好友 发短信
等级:新手上路 帖子:12 积分:0 威望:0 精华:0 注册:2015/5/20 18:00:25
请教数组的用法  发帖心情 Post By:2017/6/18 23:47:07    Post IP:219.136.130.107[只看该作者]

我想学习数组的用法,只要K线位置可以被10整除,就将该K线标记为红色,以下公式编译提示数组越界操作,请问是什么原因?

runmode:1

variable:BarPos0[]=0,ZD[]=0;

IF MOD(BarPos,10)=0 Then Begin
ZD[BarPos0]=1;
End 
bb:ZD,Colorred;

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


加好友 发短信
等级:管理员 帖子:26632 积分:0 威望:0 精华:7 注册:2015/4/9 14:59:07
  发帖心情 Post By:2017/6/19 8:51:16    Post IP:180.169.30.6[只看该作者]

http://www.weistock.com/bbs/dispbbs.asp?boardid=10&id=30380

数组高级用法。

 

你这个需求没必要使用数组就可以完成,金字塔绝大部分函数都是序变量。

STICKLINE( MOD(BarPos,10)=0, close,open ,0.8,1 ,COLORRED )



编程无捷径,技巧靠积累。
 回到顶部
帅哥哟,离线,有人找我吗?
spencer
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:12 积分:0 威望:0 精华:0 注册:2015/5/20 18:00:25
  发帖心情 Post By:2017/6/19 10:21:01    Post IP:112.96.173.243[只看该作者]

请帮忙按数组的方法实现,其他简单的方法我会用,谢谢! 给的教程看过,还是不会,数组的实例应用太少,很多功能用数组实现更方便高效 但每次用户问怎么实现数组,客服都回答用别的方法实现,不解决问题

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


加好友 发短信
等级:管理员 帖子:26632 积分:0 威望:0 精华:7 注册:2015/4/9 14:59:07
  发帖心情 Post By:2017/6/19 10:44:16    Post IP:180.169.30.6[只看该作者]

你序列变量本身就是封装的数组。若你想充分提高效率,可以考虑使用vba或者c++、

你上面的处理逻辑,在pel层面上效率低、运算量大。



编程无捷径,技巧靠积累。
 回到顶部
帅哥哟,离线,有人找我吗?
spencer
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:12 积分:0 威望:0 精华:0 注册:2015/5/20 18:00:25
  发帖心情 Post By:2017/6/19 12:01:54    Post IP:112.96.173.243[只看该作者]

像ref函数在循环中是不建议的,你们为啥不解决我的问题呢?! 即便这样写多么没效率! 请帮忙解答,感觉交流起来好费劲!

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


加好友 发短信
等级:管理员 帖子:26632 积分:0 威望:0 精华:7 注册:2015/4/9 14:59:07
  发帖心情 Post By:2017/6/19 12:14:29    Post IP:180.169.30.6[只看该作者]

已经说了,你这类的需求处理,根本就是费时费力,处理方法已经提供,干吗非得纠结数组。你这种要求,就是你在每根k上去从新算一遍序列变量量的值。纯粹浪费效率,吃力不讨好的做法。数组的用法并不是用来解决你说的这种。

请你先理解清楚,pel的运行机制,以及序列变量,再询问工作人员。如果你需要灵活的操作数组,建议你使用vba\c++

 

ZD[BarPos]=1;

 这种数组下标的用法,压根就不对。zd[]在定义时的长度就是0,你这种ZD[BarPos],不越界才怪。还有数组赋值,必须是逐个赋值。

[此贴子已经被作者于2017/6/19 12:35:19编辑过]


编程无捷径,技巧靠积累。
 回到顶部
帅哥哟,离线,有人找我吗?
spencer
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:12 积分:0 威望:0 精华:0 注册:2015/5/20 18:00:25
  发帖心情 Post By:2017/6/19 13:16:29    Post IP:112.96.173.243[只看该作者]

交流起来真费劲!为啥不开始就回答呢?!我就想了解问题在哪 七拐八拐总是模糊焦点!沟通成本太高!

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


加好友 发短信
等级:管理员 帖子:26632 积分:0 威望:0 精华:7 注册:2015/4/9 14:59:07
  发帖心情 Post By:2017/6/19 13:27:06    Post IP:180.169.30.6[只看该作者]

2楼给你的是直接简单的解决方案。

我们提供技术支持,但是不是无条件处理没有任何意义的逻辑问题。如果你对金字塔的机制了解很深入压根问这类没有任何营养价值的问题



编程无捷径,技巧靠积累。
 回到顶部