Rss & SiteMap

金字塔客服中心 - 专业程序化交易软件提供商 http://www.weistock.com/bbs/

专业程序化软件提供商
共7 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:SUMBARS函数及MACD求和的问题

1楼
fengmu166 发表于:2019/10/16 22:32:34
 
条件选股公式,假定当前MACD>0,比较两波红柱子之和:

DIFF:=EMA(CLOSE,12) - EMA(CLOSE,26);
DEA:=EMA(DIFF,9);
MACD:=2*(DIFF-DEA);
N1:=SUMBARS(MACD>0 AND REF(MACD<0,1),1);
N2:=SUMBARS(MACD<0 AND REF(MACD>0,1),1);
N3:=SUMBARS(MACD>0 AND REF(MACD<0,1),2);
M1:=SUM(MACD,N1);
M2:=REF(SUM(MACD,N3),N2);
M1>=M2;

问题1:N1,N2,N3周期区间是否正确(变量导出图形验证是正确的,帮忙再确认一下)
问题2:公式M1,M2是否为下图所示红柱之和?
问题3:按此条件选股,有明显M1<M2的股票入选,可能是什么原因?
谢谢!
图片点击可在新窗口打开查看
2楼
FireScript 发表于:2019/10/17 8:52:51
 1.N1-N3是正确的。
2.M变量是要求单纯红柱只和,绿柱值算不算在内?因为如果当前是绿柱,M用sum计算时候绿柱值也是累加进去的。

这样就是只红柱累计进去。
M1:=SUM(if(MACD>0,MACD,0),N1);
3楼
fengmu166 发表于:2019/10/17 10:04:48
帖子待审核!
4楼
FireScript 发表于:2019/10/17 10:20:18
你修改下m的定义方式,把绿柱时候值设成0.  你当前macd大于0  但是你sum时候还是会覆盖到前面绿柱时候的值。

5楼
fengmu166 发表于:2019/10/17 11:41:29
好的。
M2:=REF(SUM(MACD,N3),N2);
M2的定义方式有问题吗?应该不会把绿柱覆盖吧?
6楼
FireScript 发表于:2019/10/17 13:47:55
一样的如果当前是绿柱还会有点问题的。


可以这样做:
DIFF:=EMA(CLOSE,12) - EMA(CLOSE,26);
DEA:=EMA(DIFF,9);
MACD:=2*(DIFF-DEA);

N1:SUMBARS(MACD>0 AND REF(MACD<0,1),1);
N2:SUMBARS(MACD>0 AND REF(MACD<0,1),2);

M0:SUM(IF(MACD>0,MACD,0),N2);//最近2段红柱值的总和
M1:SUM(if(MACD>0,MACD,0),N1);//最近一段红柱总和
M2:M0-M1;//倒数第二段红柱总和

这样应该简洁点吧,而且就算当前是绿柱也无所谓。

7楼
fengmu166 发表于:2019/10/17 15:05:51
非常感谢!
共7 条记录, 每页显示 10 条, 页签: [1]


Powered By Dvbbs Version 8.3.0
Processed in 0.01953 s, 3 queries.