以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (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=162306)

--  作者:c100010231
--  发布时间:2018/3/26 16:58:54
--  统计一波绿柱子的回抽次数

图片点击可在新窗口打开查看此主题相关图片如下:无标题.gif
图片点击可在新窗口打开查看
如上图:在一波绿柱子中,如果有连续两根以上缩短的情形就计数一次,如果只是一根缩短随后就又放长则不计数。请问:如何统计?多谢。图片点击可在新窗口打开查看
--  作者:wenarm
--  发布时间:2018/3/26 21:06:21
--  
请给出缩短和放长的明确定义
--  作者:c100010231
--  发布时间:2018/3/27 0:02:17
--  
如果是一波绿柱子,那么柱子缩短的定义就是此根MACD的值大于前一根则为缩短,如果有连续的缩短(至少连续两根,即一根比一根短,如果只是此根比前一根缩短,然后马上又放长,则不算。)一直到柱子再次伸长,则计数一次;如果再有同样的情形,则计数加1。图片点击可在新窗口打开查看
--  作者:wenarm
--  发布时间:2018/3/27 8:44:55
--  

VARIABLE:n=0,flag=0,MACD_VA=0;
DIFF :=EMA(CLOSE,12) - EMA(CLOSE,26);
DEA  :=EMA(DIFF,9);
MACD :=2*(DIFF-DEA);
if flag=0 and macd>ref(macd,1) and ref(macd,1)>ref(macd,2) AND  macd<0 then begin
 N:=N+1;
 FLAG:=1;
 MACD_VA:=MACD;
end

IF MACD<MACD_VA AND  macd<0 THEN begin 
 FLAG:=0;
END

IF  macd>0 THEN BEGIN
 n:=0;
 FLAG:=0;
 MACD_VA:=0;
END

AA:N;


--  作者:c100010231
--  发布时间:2018/3/28 18:49:48
--  
您好。
--  作者:c100010231
--  发布时间:2018/3/28 18:58:12
--  
您好。
这段代码在实际测试过程中发现了一个问题:第一次缩短两根后,MACD_VA被赋值了最短那根,但如柱子继续缩短,而MACD_VA却不再变化了。
实际情形如果是这样:一波绿柱子连续缩短了了8根,然后又伸长了1根,然后又连续缩短了两根以上,按说是应该计为两次的。但由于伸长的那根很有可能并不会小于MACD_VA,于是其后的连续缩短就不会被计数了。
烦请您再费心帮忙解决一下这个问题。图片点击可在新窗口打开查看

--  作者:FireScript
--  发布时间:2018/3/29 11:12:16
--  
我测试了 并没有出现你说的情况的。后续的计算正常进行的。


图片点击可在新窗口打开查看此主题相关图片如下:temp.png
图片点击可在新窗口打开查看

你配置成和我一样的这个条件。 上图后面就出现了你说的情况,a的值结果是递增了的。