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


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

   

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


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

主题:关于循环语句问题请教

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


加好友 发短信
等级:新手上路 帖子:17 积分:0 威望:0 精华:0 注册:2015/9/15 11:50:48
关于循环语句问题请教  发帖心情 Post By:2017/11/2 19:30:22    Post IP:125.95.96.89[只看该作者]

for这种循环语句怎么样,我有点抓狂。
  for i=18 downto 3 do 
      IF HHV(H,i)/LLV(L,i)-1>3/100 then
       begin
       n1:=i;
       exit;
       end
上面是我乱写的,我要实现的目标如下,变量I从18到3,然后如果如果在I周期内的最高价与最低价相比超过3%,就把当下的这个I的值赋予给N1,然后跳出循环。

大虾,搭救一下

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


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


 for i=18 downto 3 do begin
      IF HHV(H,i)/LLV(L,i)-1>3/100  then
       begin
        n1:=i; 
       end
       BREAK ;
 
end


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


加好友 发短信
等级:新手上路 帖子:17 积分:0 威望:0 精华:0 注册:2015/9/15 11:50:48
  发帖心情 Post By:2017/11/3 8:40:06    Post IP:125.95.96.89[只看该作者]

非常感谢,begin可以这样用

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


加好友 发短信
等级:新手上路 帖子:17 积分:0 威望:0 精华:0 注册:2015/9/15 11:50:48
  发帖心情 Post By:2017/11/3 11:11:11    Post IP:125.95.96.89[只看该作者]

进一步请教一下,上面的循环不是每条K线运行一次的,怎么解决?也就是每条k线都判断I的值?
请教,请教

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


加好友 发短信
等级:超级版主 帖子:21598 积分:0 威望:0 精华:1 注册:2010/7/31 16:35:30
  发帖心情 Post By:2017/11/3 11:13:51    Post IP:180.169.30.6[只看该作者]

每条k都会执行的啊


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


加好友 发短信
等级:新手上路 帖子:17 积分:0 威望:0 精华:0 注册:2015/9/15 11:50:48
  发帖心情 Post By:2017/11/3 11:27:21    Post IP:125.95.96.89[只看该作者]

for i=18 downto 3 do begin
      IF HHV(H,i*50)/LLV(L,i*50)-1>6/100  then
       begin
        n1:=i;  
       end
       BREAK ; 
  
end
x:n1;

上面的想法是这样,用5分钟线,在18天到3天的区间内,找到最高价和最低价之间超过6%的最少的天数(其中I*50中的50是1天5分钟线的大概数量)。每一条K线都找出来,但是出来的结果全部是18.

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


加好友 发短信
等级:新手上路 帖子:17 积分:0 威望:0 精华:0 注册:2015/9/15 11:50:48
  发帖心情 Post By:2017/11/3 11:29:33    Post IP:125.95.96.89[只看该作者]

大侠,指点一下。

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


加好友 发短信
等级:超级版主 帖子:21598 积分:0 威望:0 精华:1 注册:2010/7/31 16:35:30
  发帖心情 Post By:2017/11/3 13:39:44    Post IP:180.169.30.6[只看该作者]

这个是你自己条件问题,一直在满足

n1:=0;

for i=18 downto 3 do begin
      IF ref(c,i)>ref(o,i)  then
       begin
        n1:=i; 
         BREAK ;
       end
      
 
end
x:n1;


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


加好友 发短信
等级:超级版主 帖子:21598 积分:0 威望:0 精华:1 注册:2010/7/31 16:35:30
  发帖心情 Post By:2017/11/3 13:40:12    Post IP:180.169.30.6[只看该作者]

这个条件就可以得到不同的数值

所以这个逻辑层需要您自己去思考,为什么那么容易满足


 回到顶部
帅哥哟,离线,有人找我吗?
泰丞居士
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:17 积分:0 威望:0 精华:0 注册:2015/9/15 11:50:48
  发帖心情 Post By:2017/11/3 14:12:32    Post IP:125.95.96.89[只看该作者]

我测试了,跟条件的设定有一定关系,但是不要就满足条件,I=18,要不直接就没有结果。
然后我修改了一下语句
for i=18 downto 3 do begin
      IF (HHV(H,i*50)/LLV(L,i*50)-1)*100<11  then
       begin
        n1:=i;  
       end
       BREAK ; 
  
end
x:n1;
100*(HHV(H,18*50)/LLV(L,18*50)-1);

http://pan.baidu.com/s/1dE7k0Jf

上面这个是图表---好久不用论坛了,不知道怎么上传图方便。。。。
可以看到如果I=18的时候,
100*(HHV(H,18*50)/LLV(L,18*50)-1)
上面这个语句的值一直在变化,有些是不符合<11的条件的,但是最后输出的I,还是18,还是一条直线

好痛苦!一点点小问题!搞了一天!
求救



 回到顶部
总数 16 1 2 下一页