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,然后跳出循环。
大虾,搭救一下
进一步请教一下,上面的循环不是每条K线运行一次的,怎么解决?也就是每条k线都判断I的值?
请教,请教
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.
这个是你自己条件问题,一直在满足
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;
这个条件就可以得到不同的数值
所以这个逻辑层需要您自己去思考,为什么那么容易满足
我测试了,跟条件的设定有一定关系,但是不要就满足条件,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,还是一条直线
好痛苦!一点点小问题!搞了一天!
求救