以文本方式查看主题

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

--  作者:zurich
--  发布时间:2016/11/10 15:21:59
--  求老师均线过滤模型
如何同时满足MA和MACD2个条件开平仓,反手模型

MA1:=MA(CLOSE,A);
MA2:=MA(CLOSE,B);

手数:=ss;
//交易条件

开多平空条件:=CROSS(MA1,MA2);//开多平空条件
开空平多条件:=CROSS(MA2,MA1);//开空平多条件

DIFF :=EMA(CLOSE,S) - EMA(CLOSE,P);
DEA  :=EMA(DIFF,M);
MACD :=2*(DIFF-DEA);

开多:=CROSS(MACD,0);//开多平空条件
开空:=CROSS(0,MACD);//开空平多条件
//
开多平空
开空平多

//交易系统
平空:SELLSHORT(开多平空,手数,MARKET);
平多:SELL(开空平多,手数,MARKET);
开多:BUY(开多平空,手数,MARKET);
开空:BUYSHORT(开空平多,手数,MARKET);


当前持仓:HOLDING,COLORGRAY,LINETHICK0;
当前资产:ASSET,NOAXIS,COLORGRAY;
可用现金:cash(0),linethick0;


--  作者:jinzhe
--  发布时间:2016/11/10 15:30:37
--  
MA1:=MA(CLOSE,A);
MA2:=MA(CLOSE,B);

手数:=ss;
//交易条件

c1:=CROSS(MA1,MA2);//开多平空条件
c2:=CROSS(MA2,MA1);//开空平多条件

DIFF :=EMA(CLOSE,S) - EMA(CLOSE,P);
DEA  :=EMA(DIFF,M);
MACD :=2*(DIFF-DEA);

a1:=CROSS(MACD,0);//开多平空条件
a2:=CROSS(0,MACD);//开空平多条件
//
开多平空:=a1 and c1;
开空平多:=a2 and c2;

//交易系统
平空:SELLSHORT(开多平空,手数,MARKET);
平多:SELL(开空平多,手数,MARKET);
开多:BUY(开多平空,手数,MARKET);
开空:BUYSHORT(开空平多,手数,MARKET);


当前持仓:HOLDING,COLORGRAY,LINETHICK0;
当前资产:ASSET,NOAXIS,COLORGRAY;
可用现金:cash(0),linethick0;

--  作者:zurich
--  发布时间:2016/11/10 16:17:14
--  
为什么MACD穿越0轴,且A>B条件满足,不能出信号??
图片点击可在新窗口打开查看此主题相关图片如下:macd.png
图片点击可在新窗口打开查看

--  作者:jinzhe
--  发布时间:2016/11/10 16:32:13
--  
如果是按照macd上穿,然后均线只是比大小的话,要这样改
MA1:=MA(CLOSE,A);
MA2:=MA(CLOSE,B);

手数:=ss;
//交易条件

c1:=MA1>MA2;//开多平空条件
c2:=MA2>MA1;//开空平多条件

DIFF :=EMA(CLOSE,S) - EMA(CLOSE,P);
DEA  :=EMA(DIFF,M);
MACD :=2*(DIFF-DEA);

a1:=CROSS(MACD,0);//开多平空条件
a2:=CROSS(0,MACD);//开空平多条件
//
开多平空:=a1 and c1;
开空平多:=a2 and c2;

//交易系统
平空:SELLSHORT(开多平空,手数,MARKET);
开多:BUY(开多平空,手数,MARKET);
平多:SELL(开空平多,手数,MARKET);
开空:BUYSHORT(开空平多,手数,MARKET);


当前持仓:HOLDING,COLORGRAY,LINETHICK0;
当前资产:ASSET,NOAXIS,COLORGRAY;
可用现金:cash(0),linethick0;