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


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

   

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


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

主题:循环 语句

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


加好友 发短信
等级:黑侠 帖子:611 积分:0 威望:0 精华:0 注册:2015/9/11 9:51:55
循环 语句  发帖心情 Post By:2016/7/29 12:00:02    Post IP:124.77.75.42[显示全部帖子]

能提供些循环语句示例吗
是否只有for 和while 两种?
for  var=n1 to n2 do 这种,后面只能跟一个表达式吗?如果有多个表达式怎么办?

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


加好友 发短信
等级:黑侠 帖子:611 积分:0 威望:0 精华:0 注册:2015/9/11 9:51:55
  发帖心情 Post By:2016/7/29 13:33:17    Post IP:124.77.75.42[显示全部帖子]

多重是一方面,另外 ,一个循环下总有一段表达式来完成任务吧,这若干句怎么表达呢?

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


加好友 发短信
等级:黑侠 帖子:611 积分:0 威望:0 精华:0 注册:2015/9/11 9:51:55
  发帖心情 Post By:2016/8/6 18:56:37    Post IP:180.169.30.6[显示全部帖子]

问题的例子见本楼

VARIABLE:ds=0;
VARIABLE:1yl=0;
VARIABLE:1ylto=0;
VARIABLE:ek=0;
VARIABLE:ep=0;
VARIABLE: maxdqzh=0;
VARIABLE: 1dq[6]=0;

for n1=2 to 6 do begin
 1n:=n1*5;
 1MA1:MA(CLOSE,5);
 1MA2:MA(CLOSE,1n);

 1pk:=count(1MA1>1MA2,2)=2;
 1pd:=Count(1MA2<1MA1,2)=2;
 1kd:=1pk;
 1kk:=1pd;

 if 1pd and ds=1 then begin  ds:=0;ep:=c;
 1yl:=ep-ek;
 end
 if 1pk and ds=-1 then begin  ds:=0;ep:=c;
 1yl:=ek-ep;
 end
 if 1kd and ds=0 then begin   ds:=1;ek:=c;
  end
 if 1kk and ds=0 then begin   ds:=-1;ek:=c;
  end
 1ylto:=1ylto+1yl;
 1yl:=0;
 1dqyl:=1ylto-ref(1ylto,3000);
 1dq[n1]:=1dqyl,linethick0;
end
u3:1dq[3],linethick0;u4:1dq[4],linethick0;u5:1dq[5],linethick0;u6:1dq[6],linethick0;u7:1dq[7],linethick0;u8:1dq[8],linethick0;

按理,数列1dq[n1]的数字不可能是一样的,但结果是一样的,如果是因为count,ma,等函数不能在for之内造成的,那应该怎么改写?
谢谢

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


加好友 发短信
等级:黑侠 帖子:611 积分:0 威望:0 精华:0 注册:2015/9/11 9:51:55
  发帖心情 Post By:2016/8/8 13:40:25    Post IP:222.70.218.157[显示全部帖子]

对于可能的参数进行测试

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


加好友 发短信
等级:黑侠 帖子:611 积分:0 威望:0 精华:0 注册:2015/9/11 9:51:55
  发帖心情 Post By:2016/8/8 14:31:28    Post IP:222.70.218.157[显示全部帖子]

数组里对应的就是不同的参数条件下,在3000个k线内的毛收益情况
如1dqyl[2]就是1n=2*5时的毛收益

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


加好友 发短信
等级:黑侠 帖子:611 积分:0 威望:0 精华:0 注册:2015/9/11 9:51:55
  发帖心情 Post By:2016/8/8 16:40:19    Post IP:222.70.218.157[显示全部帖子]

是的,但为什么会这样,怎么改?

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


加好友 发短信
等级:黑侠 帖子:611 积分:0 威望:0 精华:0 注册:2015/9/11 9:51:55
  发帖心情 Post By:2016/8/8 20:41:26    Post IP:116.238.244.223[显示全部帖子]

逐k,前面举错的例子,是可以给数组每个数赋值的

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


加好友 发短信
等级:黑侠 帖子:611 积分:0 威望:0 精华:0 注册:2015/9/11 9:51:55
  发帖心情 Post By:2016/8/9 17:21:01    Post IP:222.70.79.144[显示全部帖子]

问题不是出在逐K,举例:楼上的例子加了XY1[1n]这个数组,在逐K情况是可以正常输出的
VARIABLE:ds=0;
VARIABLE:1yl=0;
VARIABLE:1ylto=0;
VARIABLE:ek=0;
VARIABLE:ep=0;
VARIABLE: maxdqzh=0;
VARIABLE: 1dq[6]=0;
VARIABLE: xy1[6]=0;

for n1=2 to 6 do begin
 1n:=n1*5;
 1MA1:MA(CLOSE,5);
 1MA2:MA(CLOSE,1n);

 1pk:=count(1MA1>1MA2,2)=2;
 1pd:=Count(1MA2<1MA1,2)=2;
 1kd:=1pk;
 1kk:=1pd;

 if 1pd and ds=1 then begin  ds:=0;ep:=c;
 1yl:=ep-ek;
 end
 if 1pk and ds=-1 then begin  ds:=0;ep:=c;
 1yl:=ek-ep;
 end
 if 1kd and ds=0 then begin   ds:=1;ek:=c;
 end
 if 1kk and ds=0 then begin   ds:=-1;ek:=c;
 end
 1ylto:=1ylto+1yl;
 1yl:=0;
 1dqyl:=1ylto-ref(1ylto,3000);
 1dq[n1]:=1dqyl,linethick0;
 xy1[n1]:=n1*5,linethick0;
end
//u3:1dq[3],linethick0;u4:1dq[4],linethick0;u5:1dq[5],linethick0;u6:1dq[6],linethick0;u7:1dq[7],linethick0;u8:1dq[8],linethick0;
u3:xy1[3],linethick0;u4:xy1[4],linethick0;u5:xy1[5],linethick0;u6:xy1[6],linethick0;

输出结果 u3:15 u4:20 u5:25 u6:30

完全正常



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


加好友 发短信
等级:黑侠 帖子:611 积分:0 威望:0 精华:0 注册:2015/9/11 9:51:55
  发帖心情 Post By:2016/8/10 15:53:24    Post IP:222.70.79.144[显示全部帖子]

1yl不可能永远等于0 啊,你可以把for去掉,可以看的出来,for以内的语句是可以正常运行的

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


加好友 发短信
等级:黑侠 帖子:611 积分:0 威望:0 精华:0 注册:2015/9/11 9:51:55
  发帖心情 Post By:2016/8/10 17:30:21    Post IP:222.70.79.144[显示全部帖子]

你的例子,u1,uu2是一直相等的,但数组中2和3两个值也是相等的。
即使逐K,Close实际上在那个K线上是唯一的值,不会随循环变化的,为何会这样,不理解

最核心的问题是怎么解决呢?

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