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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 关于for 递减循环

   

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


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

主题:关于for 递减循环

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


加好友 发短信
等级:新手上路 帖子:84 积分:0 威望:0 精华:0 注册:2016/8/13 15:12:10
关于for 递减循环  发帖心情 Post By:2018/11/20 15:53:15    Post IP:58.218.202.135[只看该作者]

递增循环我理解了。

关于for 递减循环是怎么执行的呢?

for var=n1 downto n2 do expr2;

请问:

这里说的 开始循环执行 expr2语句 每执行一次var减一。
是怎么减一呢?比如:当前日期为1,昨天是2,前天是3,依次往前找5天的话,是从日期为1开始减呢?还是日期为5开始减呢?

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


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2018/11/20 16:02:32    Post IP:180.169.30.6[只看该作者]

不太明白你描述的是什么意思。

递减循环本质和递增循环没有任何区别。只是处理数组数据时候下标从大到小还是从小到大的问题。举个例子 一个数组10个数值,2种循环区别就是先从下标大的数组元素开始循环还是从下标小的数组元素开始循环。


命数如织,当如磐石。
 回到顶部
帅哥哟,离线,有人找我吗?
马立秋
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:84 积分:0 威望:0 精华:0 注册:2016/8/13 15:12:10
  发帖心情 Post By:2018/11/20 16:32:29    Post IP:218.92.135.234[只看该作者]

我的意思是,递增循环就是对设定的循环区间里,一个一个的加上去的
比如:计算2日平均线的循环写法如下

fc:=close;
for i=2 to datacount do 
     ma2[i]:(fc[i-1]+fc[i])/2;
老师,您看,是不是循环计算的时候,应该从i=2开始计算到当前天,对吧?那么也就是说,是从前面计算到当前天。一天一天加上去的

=========================
您再看递减循环语句如下:
fc:=close;
for i=datacount downto 2 do 
     ma2[i]:(fc[i-1]+fc[i])/2;

这里是从当前天向i=2的方向计算的。也就是说从后向前计算的,对吧?我想问,递减循环也是从i=2开始减一的操作吗?


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


加好友 发短信
等级:新手上路 帖子:84 积分:0 威望:0 精华:0 注册:2016/8/13 15:12:10
  发帖心情 Post By:2018/11/20 16:34:02    Post IP:218.92.135.234[只看该作者]

还是从当前天执行减一

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


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2018/11/20 16:36:47    Post IP:180.169.30.6[只看该作者]

 不是,第一项是最大值 也就是datacount的值,一只递减到i=2的时候就是最后一次循环了。所以不是从i=2开始递减,而是当递减到i=2就是最后一次循环了。


命数如织,当如磐石。
 回到顶部
帅哥哟,离线,有人找我吗?
马立秋
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:84 积分:0 威望:0 精华:0 注册:2016/8/13 15:12:10
  发帖心情 Post By:2018/11/20 16:54:53    Post IP:106.2.232.164[只看该作者]

递增和递减循环,没啥区别,为什么还要两种计算方法呢?计算的效率有区别是吧?

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


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2018/11/20 16:58:06    Post IP:180.169.30.6[只看该作者]

 效率没差别。主要是你要处理的数据形式上有差异。 2种方式供选择,可以少些几句代码,少绕点逻辑弯而已。




命数如织,当如磐石。
 回到顶部
帅哥哟,离线,有人找我吗?
马立秋
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:84 积分:0 威望:0 精华:0 注册:2016/8/13 15:12:10
  发帖心情 Post By:2018/11/20 17:15:46    Post IP:218.92.135.236[只看该作者]

哦,多谢老师了。我再消化消化。

 回到顶部