以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  代码求教  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=13708)

--  作者:jiangsen
--  发布时间:2012/8/16 15:59:35
--  代码求教

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

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

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


--  作者:jinzhe
--  发布时间:2012/8/16 16:11:32
--  求助!

3天应该是225*3个周期

然后all(金叉,225*3)这个就是开仓条件了


--  作者:rushtaotao
--  发布时间:2012/8/16 16:23:30
--  
有个函数是上次开仓到当前的时间间隔  您可参照下这个函数
--  作者:jiangsen
--  发布时间:2012/8/16 16:33:48
--  
您没明白我的意思,我的意思是假设macd金叉了,但是我不开仓,只有当macd金叉持续了3天,然后才以第三天的收盘价开仓,这样的代码您会吗?
--  作者:jinzhe
--  发布时间:2012/8/16 17:09:51
--  
不就是我写的意思么。。。只不过我举的例子是一分钟周期的。。。持续3天后开仓
--  作者:jiangsen
--  发布时间:2012/8/17 10:15:40
--  

我的目标是这样

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

平多:macd死叉当天平

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

平空:macd金叉当天平

按照

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

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


--  作者:jinzhe
--  发布时间:2012/8/17 11:00:26
--  
exitlong:死叉;
--  作者:jiangsen
--  发布时间:2012/8/17 11:21:07
--  

那死叉的话多单是平掉了,但是空单当天也进场了啊==

我需要的是死叉的时候多单平掉,死叉之后第三天再开空单


--  作者:just
--  发布时间:2012/8/17 13:51:11
--  
7楼的该语句仅仅是平多 而非平多开空 楼主请注意。
--  作者:jiangsen
--  发布时间:2012/8/17 14:12:22
--  
那如果三天后开空的话是什么语句呢?