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


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

   

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


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

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

帅哥哟,离线,有人找我吗?
泰丞居士
  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,然后跳出循环。

大虾,搭救一下

 回到顶部
帅哥哟,离线,有人找我吗?
泰丞居士
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | 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可以这样用

 回到顶部
帅哥哟,离线,有人找我吗?
泰丞居士
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | 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的值?
请教,请教

 回到顶部
帅哥哟,离线,有人找我吗?
泰丞居士
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | 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.

 回到顶部
帅哥哟,离线,有人找我吗?
泰丞居士
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | 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[显示全部帖子]

大侠,指点一下。

 回到顶部
帅哥哟,离线,有人找我吗?
泰丞居士
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | 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,还是一条直线

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



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


加好友 发短信
等级:新手上路 帖子:17 积分:0 威望:0 精华:0 注册:2015/9/15 11:50:48
  发帖心情 Post By:2017/11/3 14:20:56    Post IP:125.95.96.89[显示全部帖子]

for i=18 downto 3 do begin
      IF C+I<H  then
       begin
        n1:=i;       
       end
       BREAK ; 
  
end
I;
H-C;

刚才又测试了一个最简单的,就是本周期的收盘价+I,如果低于最高价,那就赋值给N1,结果I还是18,一条直线,但是H-C有时候是小于18的,这个时候的I值应该变小才对,这怎么解释呢?

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


加好友 发短信
等级:新手上路 帖子:17 积分:0 威望:0 精华:0 注册:2015/9/15 11:50:48
  发帖心情 Post By:2017/11/3 16:10:48    Post IP:125.95.96.89[显示全部帖子]

木有用啊大哥,break放上去以后,I就变成3,也是一条直线,不合理哦


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


加好友 发短信
等级:新手上路 帖子:17 积分:0 威望:0 精华:0 注册:2015/9/15 11:50:48
  发帖心情 Post By:2017/11/3 16:12:34    Post IP:125.95.96.89[显示全部帖子]

我的意图是这样的,我想检测出过去I周期内,波幅小于N%(比如6%)的最短周期。怎么写指标?把I算出来?

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


加好友 发短信
等级:新手上路 帖子:17 积分:0 威望:0 精华:0 注册:2015/9/15 11:50:48
  发帖心情 Post By:2017/11/3 18:50:32    Post IP:125.95.96.89[显示全部帖子]

求救阿,求救

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