以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://222.73.7.161/bbs/index.asp)
--  策略编写求助区  (http://222.73.7.161/bbs/list.asp?boardid=11)
----  如何解决macd金叉再死叉的问题  (http://222.73.7.161/bbs/dispbbs.asp?boardid=11&id=13707)

--  作者:jiangsen
--  发布时间:2012/8/16 15:58:45
--  如何解决macd金叉再死叉的问题

MACD:="MACD"(26,12,9);
ENTERLONG:CROSS(MACD,0);
EXITLONG:CROSS(0,MACD);

当macd金叉后开仓,但是2天后又死叉,

求一段代码,用来验证金叉后能够持续3天,然后在第三天才开仓,而不是第一天。


--  作者:阿火
--  发布时间:2012/8/16 16:32:18
--  

金叉后持续3天,就是连续3天macd大于0,于是这样子写就行了:

count(macd>0,3)=3


--  作者:jiangsen
--  发布时间:2012/8/16 16:38:36
--  
这样的话3天以后第四天第五天如果没死叉的话岂不是天天都有开仓信号?我只要第3天这一天又信号就行了
--  作者:阿火
--  发布时间:2012/8/17 8:54:10
--  

那就再加一个条件,2周期前出现金叉

count(macd>0,3)=3 and ref(cross(macd,0),2)=1


--  作者:jiangsen
--  发布时间:2012/8/17 10:14:05
--  求后台程的编写方法

我的目标是这样

开多:macd金叉持续三天,在第三天开

平多:macd死叉当天平

开空:macd死叉持续三天,在第三天开

平空:macd金叉当天平

按照

ENTERLONG:count(macd>0,3)=3 and ref(cross(macd,0),2)=1;     

的话开多没有问题
但是平多的话怎么写呢?

 


--  作者:阿火
--  发布时间:2012/8/18 7:07:07
--  

平多:macd死叉当天平    汗,这个条件不会写?

cross(0,macd)