以文本方式查看主题

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

--  作者:laoyao922
--  发布时间:2014/3/25 10:10:32
--  请教for 循环问题
VARIABLE:DN=1;
Lx:=refx(l,DN);

if h>ref(h,1) and h>ref(h,2) and h>ref(h,3)  then begin 
STICKLINE(1,CLOSE,OPEN,8,0,COLORRED);
for DN=1 to 5 do begin
LLx:Lx;
b:Lx<L;
STICKLINE(b,CLOSE,OPEN,8,0,COLORGREEN);
DN:=DN+1;
end
end
我简单写了个例子,高点比前面三根高,标红色,然后用未来函数判断,后面5根出现低点比标色的低点低的标绿色。
我想问下在逐K  下是这样写吗?  信号好像不对,不知道是啥问题,调试功能太蛋疼了。

--  作者:jinzhe
--  发布时间:2014/3/25 10:11:48
--  
请稍等,技术咨询中
--  作者:laoyao922
--  发布时间:2014/3/25 10:14:56
--  
补充下,就是先标红色,然后未来函数判断这段代码,低点比标色低点低的把红色改成绿色。
--  作者:laoyao922
--  发布时间:2014/3/25 10:45:09
--  
大版,俺不会被遗忘了吧。。。图片点击可在新窗口打开查看
--  作者:jinzhe
--  发布时间:2014/3/25 10:52:36
--  
问题复杂,处理需要些时间,请耐心等待
--  作者:laoyao922
--  发布时间:2014/3/25 14:41:32
--  
发现了一个错误,就是for 不要自己增1  ,但是修改了信号还是不对。
--  作者:jinzhe
--  发布时间:2014/3/25 14:50:34
--  
你这个用循环太复杂了,要不你再写个不用循环的?
--  作者:laoyao922
--  发布时间:2014/3/25 15:03:46
--  
啊,这个逻辑就是这样的,我本来是Dn是固定的,打个比方,DN=5,我是用未来函数把未来5根都做比较,里面可能满足条件的有好几根K线,
现在refx函数在 未来K线不存在的情况下是为0的, 这样我就要等5根k线都出现。
  所以通过变量refx(a,DN)  Dn递增,一旦满足条件就操作,就不要等到5根全部出现。
VARIABLE:DN=1;
Lx:=refx(l,DN);

if h>ref(h,1) and h>ref(h,2) and h>ref(h,3)  then begin 
STICKLINE(1,CLOSE,OPEN,8,0,COLORRED);//向下真突破
for DN=1 to 2 do begin
b:Lx<L;
STICKLINE(b,CLOSE,OPEN,8,0,COLORGREEN);//向下真突破
end
end
 这个逻辑应该是通的吧,真没法解决吗?