以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 公式模型编写问题提交 (http://weistock.com/bbs/list.asp?boardid=4) ---- 关于循环语句问题请教 (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=159189) |
-- 作者:泰丞居士 -- 发布时间:2017/11/2 19:30:22 -- 关于循环语句问题请教 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,然后跳出循环。 大虾,搭救一下
|
-- 作者:wenarm -- 发布时间:2017/11/3 8:13:03 -- for i=18 downto 3 do begin IF HHV(H,i)/LLV(L,i)-1>3/100 then begin n1:=i; end BREAK ; end |
-- 作者:泰丞居士 -- 发布时间:2017/11/3 8:40:06 -- 非常感谢,begin可以这样用 |
-- 作者:泰丞居士 -- 发布时间:2017/11/3 11:11:11 -- 进一步请教一下,上面的循环不是每条K线运行一次的,怎么解决?也就是每条k线都判断I的值? 请教,请教
|
-- 作者:yukizzc -- 发布时间:2017/11/3 11:13:51 -- 每条k都会执行的啊 |
-- 作者:泰丞居士 -- 发布时间:2017/11/3 11:27:21 -- 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.
|
-- 作者:泰丞居士 -- 发布时间:2017/11/3 11:29:33 -- 大侠,指点一下。 |
-- 作者:yukizzc -- 发布时间:2017/11/3 13:39:44 -- 这个是你自己条件问题,一直在满足 n1:=0; for i=18 downto 3 do begin |
-- 作者:yukizzc -- 发布时间:2017/11/3 13:40:12 -- 这个条件就可以得到不同的数值 所以这个逻辑层需要您自己去思考,为什么那么容易满足 |
-- 作者:泰丞居士 -- 发布时间:2017/11/3 14:12:32 -- 我测试了,跟条件的设定有一定关系,但是不要就满足条件,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,还是一条直线 好痛苦!一点点小问题!搞了一天! 求救 |