以文本方式查看主题

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

--  作者:13505480838
--  发布时间:2020/9/1 14:35:48
--  选股公式问题

老师,麻烦把下面的改成选股公式。谢谢

 

//策略名:MACD背离模型
//类型:股票t+0
//适用:后台程序化
//使用市场:个股

DIFF:=EMA(CLOSE,12)-EMA(CLOSE,26);
DEA:=EMA(DIFF,9);
MACD:=2*(DIFF-DEA),COLORSTICK;

N:=BARSLAST(CROSS(DIFF,DEA))+1;
N1:=BARSLAST(CROSS(DEA,DIFF))+1;
DIFF1:=REF(REF(DIFF,N-1),1);
DIFF2:=REF(REF(DIFF,N1-1),1);
C1:=REF(REF(C,N-1),1);
C2:=REF(REF(C,N1-1),1);
DBL1:=DIFF > DIFF1 AND CROSS(DIFF,DEA) AND C >C1; //底背离
DBL:=DIFF<DIFF2 AND  CROSS(DEA,DIFF) AND C < C2; //顶背离
TBUY(DBL1 AND TNUMLOSSTRADE < 2,100,MKT);
TSELL(DBL AND TBUYHOLDINGEX(\'\',\'\',2) > 0,100,MKT);
TSELL(EVERY(C <= REF(C,1),5),0,MKT);


--  作者:FireScript
--  发布时间:2020/9/1 14:43:15
--  
 你这没啥好改的啊。只需要去掉后台交易语句
把交易的条件作为选股条件就行了。

DIFF:=EMA(CLOSE,12)-EMA(CLOSE,26);
DEA:=EMA(DIFF,9);
MACD:=2*(DIFF-DEA),COLORSTICK;

N:=BARSLAST(CROSS(DIFF,DEA))+1;
N1:=BARSLAST(CROSS(DEA,DIFF))+1;
DIFF1:=REF(REF(DIFF,N-1),1);
DIFF2:=REF(REF(DIFF,N1-1),1);
C1:=REF(REF(C,N-1),1);
C2:=REF(REF(C,N1-1),1);
DBL1:DIFF and  DIFF1 AND CROSS(DIFF,DEA) AND C and C1; //底背离
DBL:DIFF and DIFF2 AND  CROSS(DEA,DIFF) AND C and   C2; //顶背离


按照交易语句的思路是底背离买入,那你选股时候选择 DBL1作为选股条件即可。
[此贴子已经被作者于2020/9/1 14:44:29编辑过]