以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://222.73.7.161/bbs/index.asp) -- 公式模型编写问题提交 (http://222.73.7.161/bbs/list.asp?boardid=4) ---- 找第二根阴线出错 (http://222.73.7.161/bbs/dispbbs.asp?boardid=4&id=175559) |
-- 作者:18918173777 -- 发布时间:2020/4/17 6:55:31 -- 找第二根阴线出错 问题:下面的代码中,我们希望先找到最近的阴线1。再从这根阴线向前找最高点>阴线1最高点的阴k线2,但公式出错: T:=C<O; A:=barslast(T); h1:=ref(h,A); a1:barslast(c<o and h>h1);//最近的第二根阴线到当前周期的周期数 需要怎么写才可以满足需求? |
-- 作者:wenarm -- 发布时间:2020/4/17 9:04:21 -- aa:if(c<o,HIGH,0),LINETHICK0; bb:NEWHBARS(aa, 1)+1; cc:VALUEWHEN(c<o,bb);//阴线1对应的阴线2之间的周期数。 |
-- 作者:18918173777 -- 发布时间:2020/4/18 6:55:55 -- 谢谢。bb好像不用+1? |
-- 作者:wenarm -- 发布时间:2020/4/18 9:22:14 -- 建议你自己调试看下。它从0开始算的。你说要不要+1? |
-- 作者:18918173777 -- 发布时间:2020/4/18 12:04:58 -- 经过调试, aa:if(c<o,HIGH,0),LINETHICK0; //bb:NEWHBARS(aa, 1)+1; bb:if(c<o, NEWHBARS(aa, 1),0 ); cc:VALUEWHEN(c<o,bb);//阴线1对应的阴线2之间的周期数。 是对的。 但反过来就有问题: aa:if(c>o,low,0),LINETHICK0; //bb:NEWHBARS(aa, 1)+1; bb:if(c>o, NEWLBARS(aa, 1),0 ); cc:VALUEWHEN(c>o,bb);//阳线1对应的阳线2之间的周期数。 比如阳线中间间隔一个阴线,那么cc应该为2,但它一直为1。而阴线没有这个问题,难道是NEWLBARS有bug? |
-- 作者:18918173777 -- 发布时间:2020/4/18 12:21:25 -- 知道问题在哪里了。不用回复了,谢谢。 |