以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  循环 语句  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=137264)

--  作者:rockyan
--  发布时间:2016/7/29 12:00:02
--  循环 语句
能提供些循环语句示例吗
是否只有for 和while 两种?
for  var=n1 to n2 do 这种,后面只能跟一个表达式吗?如果有多个表达式怎么办?

--  作者:jinzhe
--  发布时间:2016/7/29 13:04:10
--  
意思是要多重循环吗
--  作者:rockyan
--  发布时间:2016/7/29 13:33:17
--  
多重是一方面,另外 ,一个循环下总有一段表达式来完成任务吧,这若干句怎么表达呢?
--  作者:jinzhe
--  发布时间:2016/7/29 13:35:24
--  

完成之后调出循环吗?用braek

 

cc:c;

for i=0 to barpos-1 do begin

   if c[barpos-n]>o then begin

      n:=i;

      break;

   end

end

n就是最近一个阳线到现在k线的距离

[此贴子已经被作者于2016-7-29 13:36:32编辑过]

--  作者:rockyan
--  发布时间:2016/8/6 18:56:37
--  
问题的例子见本楼

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之内造成的,那应该怎么改写?
谢谢

--  作者:jinzhe
--  发布时间:2016/8/8 9:49:30
--  
请问这段循环代码要实现或者要表达 什么意思?
--  作者:rockyan
--  发布时间:2016/8/8 13:40:25
--  
对于可能的参数进行测试
--  作者:jinzhe
--  发布时间:2016/8/8 14:08:28
--  
我想知道的是上面数组赋值是什么思路?代码里面体现出什么样的赋值思路?
--  作者:rockyan
--  发布时间:2016/8/8 14:31:28
--  
数组里对应的就是不同的参数条件下,在3000个k线内的毛收益情况
如1dqyl[2]就是1n=2*5时的毛收益

--  作者:jinzhe
--  发布时间:2016/8/8 15:02:32
--  
上面的代码是循环结束后,把n1=7时的结果赋值给整个数组了