以文本方式查看主题

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

--  作者:关树源
--  发布时间:2018/3/17 9:46:05
--  修改模型
老师请帮忙写成金字塔程序化交易模型

出现(可以接多)信号后下一根K线平空单反手开多单,出现(顶部接空)信号平多单反手开空单,多空单的止损点放在下单前一根K线的最高或者最低点,谢谢!

LONG:=26;
M:=3;
SHORT:=8;
DIFF1:=EMA(CLOSE,SHORT) - EMA(CLOSE,LONG);
DEA1:=EMA(DIFF1,M);
MACD:=2*(DIFF1-DEA1);
DIFF : EMA(CLOSE,SHORT) - EMA(CLOSE,LONG),COLORFF00FF,LINETHICK2;
DEA  : EMA(DIFF1,M),colorwhite,LINETHICK2;
AH:HHV(DIFF1,55),COLOR6600FF,LINETHICK2,LAYER0;
DRAWICON( REF(AH=DIFF1,1) AND DIFF<REF(DIFF1,1),AH,8),ALIGN1;
AL:LLV(DIFF1,55),COLOR248A24,LINETHICK2,LAYER0;
DRAWICON( REF(AL=DIFF1,1) AND DIFF>REF(DIFF1,1),AL,7),ALIGN1;
{●60零上金叉:IF(CROSS(DIFF,DEA) AND DIFF>0,0.3,0),COLOR6600FF,POINTDOT;
STICKLINE(●60零上金叉,DIFF,AH,4,0),COLOR6600FF;
}
■零下金叉:IF(CROSS(DIFF,DEA) AND DIFF<-0.001,0.3,0),colorwhite,POINTDOT;
STICKLINE(■零下金叉,0.1,0.15,6,0),colorwhite;
JCCOUNT:=COUNT(CROSS(DIFF,DEA),BARSLAST(DEA>=0));
■二次金叉:IF(CROSS(DIFF,DEA) AND DEA<0 AND COUNT(JCCOUNT=2,21)=1,0.2,0),COLOR3C86CC,POINTDOT;
STICKLINE(■二次金叉,0.15,0.2,6,0),COLOR3C86CC;
A3:=CROSS(DIFF,DEA) AND DEA<0;
■零下二次金叉:IF(FILTER(COUNT(A3,21)=2,10) AND DEA<0,0.05,0),COLORF58F98,POINTDOT;
STICKLINE(■零下二次金叉,0.25,0.3,6,0),COLORF58F98;
A1:=BARSLAST(REF(CROSS(DIFF,DEA),1));
■底背离:IF(REF(CLOSE,A1+1)>CLOSE AND DIFF>REF(DIFF,A1+1) AND CROSS(DIFF,DEA),0.1,0),COLORFFFF00;
底背离1:STICKLINE(REF(CLOSE,A1+1)>CLOSE AND DIFF>REF(DIFF,A1+1) AND CROSS(DIFF,DEA),0,AL,4,0),COLOR00FF00;
STICKLINE(■底背离,0.2,0.25,6,0),COLORFFFF00;
{A2:=BARSLAST(REF(CROSS(DEA,DIFF),1));
顶背离:STICKLINE(REF(CLOSE,A2+1)<CLOSE AND REF(DIFF,A2+1)>DIFF AND CROSS(DEA,DIFF),0,DIFF,4,0),colorblack;
DRAWLINE(A2=0,DEA,顶背离,DEA,0),colorgreen;
}
DD:=C=HHV(C,100);
EE:=DEA1< REF(DEA1,1) AND REF(DEA1< REF(DEA1,1),1)=1;
CC:=C> REF(C,1) AND REF(C> REF(C,1),1)=1;
上升背离:(CC AND EE)*AH,STICK,LINETHICK2,COLORFF00FF;
顶背离:(DD AND EE AND DEA1< HHV(DEA1,100))*AH,STICK,LINETHICK2,coloryellow;
DRAWTEXT(顶背离,DEA1/2,\'顶背离\'),ALIGN1,coloryellow;
FF:=C=LLV(C,100);
GG:= DEA1> REF(DEA1,1) AND REF(DEA1> REF(DEA1,1),1)=1;
LL:=C< REF(C,1) AND REF(C< REF(C,1),1)=1;
下降背离:(LL AND GG)*AL,STICK,LINETHICK2,colorwhite;
底背离:(FF AND GG AND DEA1> LLV(DEA1,100))*AL,STICK,LINETHICK2,COLOR6600FF;
DRAWTEXT(底背离,DEA1/2,\'底背离\'),ALIGN1,COLOR6600FF;
IF(DIFF<0,DIFF,0),COLORFF00FF,LINETHICK2,LAYER0;
IF(DIFF<0,0,DIFF),coloryellow,LINETHICK2,LAYER0;
IF(DIFF<DEA,DIFF,DEA),COLORFFFF00,LINETHICK2,LAYER0;
IF(DIFF>DEA,DEA,DEA),colorwhite,LINETHICK2,LAYER0;
VAR1:=HHV(DEA,53);
VAR2:=LLV(DEA,30);
VAR3:=DEA-(DIFF-DEA);
UP:IF(DIFF>VAR1 AND DEA=VAR1,MAX(LLV(VAR1,10),VAR3),VAR1),COLORBB9A00,LINETHICK2,LAYER0;
DN:IF(DIFF<VAR2 AND DEA=VAR2,MIN(HHV(VAR2,10),VAR3),VAR2),COLORAA00BB,LINETHICK2,LAYER0;
底部接多:=CROSS(DIFF ,DEA ) AND CROSS( DIFF,DN ) AND DN<0;
底部接多A:底部接多*AL,STICK,LINETHICK4,COLOR8080FF;
DRAWTEXT(底部接多,DN,\'底部接多\'),ALIGN1,COLOR8080FF,LINETHICK2,LAYER0;
顶部接空:=CROSS(DEA ,DIFF ) AND CROSS( UP,DIFF ) AND DIFF<UP;
顶部接空A:顶部接空*AH,STICK,LINETHICK4,COLOR9CA010;
DRAWTEXT(顶部接空,DN,\'顶部接空\'),ALIGN1,COLOR9CA010,LINETHICK2,LAYER0;


--  作者:yukizzc
--  发布时间:2018/3/19 9:17:34
--  
程序可以直接使用,没有问题的