MA20:MA(CLOSE,20),RGB(255,255,0);



MA30:MA(CLOSE,30),RGB(0,240,0);



MA60:MA(CLOSE,60),RGB(0,0,255),LINETHICK2;



MA120:MA(CLOSE,120),COLORRED,LINETHICK2;



MA240:MA(CLOSE,240),RGB(255,0,255);



MA488:MA(CLOSE,488),RGB(255,128,0);













X:=PRICEPRECISION;

M:=10;

//日线方向

EMA13:=EMA(C,13);//,NOTETX

EMA21:=EMA(C,21);//,NOTEXT

/*

DIFF := EMA(CLOSE,12) - EMA(CLOSE,26);

DEA  := EMA(DIFF,9);

MACD:=2*(DIFF-DEA),COLORSTICK;

*/

RSV:=(CLOSE-LLV(LOW,9))/(HHV(HIGH,9)-LLV(LOW,9))*100;

K:=SMA(RSV,3,1);

D:=SMA(K,3,1);

/*

//随机指标点

DRAWICON(CROSS    (K,D),   L,'ICO10'),VALIGN0;//

DRAWICON(CROSSDOWN(K,D),   H,'ICO11'),VALIGN2;//

*/



随机金叉点:=CROSS    (K,D);

随机死叉点:=CROSSDOWN(K,D);

//随机指标点

DRAWICON(随机金叉点,   L,'ICO10'),VALIGN0;//

DRAWICON(随机死叉点,   H,'ICO11'),VALIGN2;//

随机N1:=BARSLAST(随机金叉点)+1;

随机N2:=BARSLAST(随机死叉点)+1;

随机本次低点:=LLV(L,随机N2);//

随机前次低点:=REF(VALUEWHEN(随机金叉点,随机本次低点),1);//

随机本次高点:=HHV(H,随机N1);//

随机前次高点:=REF(VALUEWHEN(随机死叉点,随机本次高点),1);//

随机低点上升:=随机本次低点>随机前次低点;

随机低点下降:=随机本次低点<随机前次低点;

随机高点上升:=随机本次高点>随机前次高点;

随机高点下降:=随机本次高点<随机前次高点;

随机低点相等:=随机本次低点=随机前次低点;

随机高点相等:=随机本次高点=随机前次高点;

//随机指标点根据大小分颜色

DRAWICON(随机金叉点&&随机低点上升,   L,'ICO10') ,VALIGN0;//

DRAWICON(随机金叉点&&随机低点下降,   L,'ICO118'),VALIGN0;//

DRAWICON(随机金叉点&&随机低点相等,   L,'ICO12') ,VALIGN0;//

DRAWICON(随机死叉点&&随机高点上升,   H,'ICO119'),VALIGN2;//

DRAWICON(随机死叉点&&随机高点下降,   H,'ICO11') ,VALIGN2;//

DRAWICON(随机死叉点&&随机高点相等,   H,'ICO12') ,VALIGN2;//



//随机金叉点(包括)到随机死叉点(不包括),定义为随机做多区间。

//随机死叉点(包括)到随机死叉点(不包括),定义为随机做空区间。

随机做多区间:=BARSLAST(随机金叉点)BARSLAST(随机死叉点);











MM:=EMA13>EMA21 && EXIST(K>D,BARSLASTCOUNT(EMA13>EMA21));

CC:=EMA13BARSLAST(CC);

/*

DRAWCOLORKLINE(均线向上区间&&ISDOWN=0,COLORMAGENTA,1);

DRAWCOLORKLINE(均线向上区间&&ISDOWN=1,COLORMAGENTA,0);

DRAWCOLORKLINE(均线向下区间&&ISDOWN=0,COLORCYAN,1);

DRAWCOLORKLINE(均线向下区间&&ISDOWN=1,COLORCYAN,0);

*/

//标注均线向上区间的最高价,当根K线的上方。标注均线向下区间的最低价,当根K线的下方。

DRAWSHIFTNUMBER(CROSSDOWN(均线向上区间,0.5),HHV(H,BARSLAST(CROSS(均线向上区间,0.5))+1),HHV(H,BARSLAST(CROSS(均线向上区间,0.5))+1),0,COLORYELLOW,0,HHVBARS(H,BARSLAST(CROSS(均线向上区间,0.5))+1)),VALIGN2,COLORRED;

DRAWSHIFTNUMBER(CROSSDOWN(均线向下区间,0.5),LLV(L,BARSLAST(CROSS(均线向下区间,0.5))+1),LLV(L,BARSLAST(CROSS(均线向下区间,0.5))+1),0,COLORYELLOW,0,LLVBARS(L,BARSLAST(CROSS(均线向下区间,0.5))+1)),VALIGN0,COLORGREEN;



//将均线向上区间的最高价前后进行比较,后面大的用红色,后面小的用绿色,前后相等时用黄色

//将均线向下区间的最低价前后进场比较,后面大的用红色,后面小的用绿色,前后相等时用黄色

DRAWSHIFTNUMBER(CROSSDOWN(均线向上区间,0.5)&&HHV(H,BARSLAST(CROSS(均线向上区间,0.5))+1)>REF(HHV(H,BARSLAST(CROSS(均线向上区间,0.5))+1),SUMBARS(CROSSDOWN(均线向上区间,0.5),2)-1),HHV(H,BARSLAST(CROSS(均线向上区间,0.5))+1),HHV(H,BARSLAST(CROSS(均线向上区间,0.5))+1),0,COLORYELLOW,0,HHVBARS(H,BARSLAST(CROSS(均线向上区间,0.5))+1)),COLORRED;

DRAWSHIFTNUMBER(CROSSDOWN(均线向上区间,0.5)&&HHV(H,BARSLAST(CROSS(均线向上区间,0.5))+1)REF(LLV(L,BARSLAST(CROSS(均线向下区间,0.5))+1),SUMBARS(CROSSDOWN(均线向下区间,0.5),2)-1),LLV(L,BARSLAST(CROSS(均线向下区间,0.5))+1),LLV(L,BARSLAST(CROSS(均线向下区间,0.5))+1),0,COLORYELLOW,0,LLVBARS(L,BARSLAST(CROSS(均线向下区间,0.5))+1)),VALIGN0,COLORRED;

DRAWSHIFTNUMBER(CROSSDOWN(均线向下区间,0.5)&&LLV(L,BARSLAST(CROSS(均线向下区间,0.5))+1)REF(HHV(H,BARSLAST(CROSS(均线向上区间,0.5))+1),SUMBARS(CROSSDOWN(均线向上区间,0.5),1)-1)&&均线向上区间;

均线向上区间高点下降:=HHV(H,BARSLAST(CROSS(均线向上区间,0.5))+1)REF(LLV(L,BARSLAST(CROSS(均线向下区间,0.5))+1),SUMBARS(CROSSDOWN(均线向下区间,0.5),1)-1)&&均线向下区间;

均线向下区间低点下降:=LLV(L,BARSLAST(CROSS(均线向下区间,0.5))+1)前粉区间最高点&&COUNT(C>前粉区间最高点,SUMBARS(CROSSUP(均线向上区间,0.5),1)),前粉区间最高点,0,-SUMBARS(CROSSUP(均线向下区间,0.5),1)-REF(HHVBARS(H,BARSLAST(CROSS(均线向上区间,0.5))+1),SUMBARS(CROSSUP(均线向下区间,0.5),1)),0,COLORRED  ),DOT;

//向上突破的这根K线,定义为均线均线向下区间向下突破K线,均线均线向下区间向下突破K线为白色。

//向下突破的这根K线,定义为均线均线向上区间向上突破K线,均线均线向上区间向上突破K线为黄色。

均线均线向下区间下破K线:=均线向下区间&&C<前青区间最低点&&COUNT(C<前青区间最低点,SUMBARS(CROSSUP(均线向下区间,0.5),1))=1;

均线均线向上区间上破K线:=均线向上区间&&C>前粉区间最高点&&COUNT(C>前粉区间最高点,SUMBARS(CROSSUP(均线向上区间,0.5),1))=1;



//DRAWCOLORKLINE(均线均线向下区间下破K线,COLORWHITE,0);

//DRAWCOLORKLINE(均线均线向上区间上破K线,COLORYELLOW,0);





//均线上下突破第二种情况

//前面均线向下区间后面均线向上区间排列时,均线向上区间出现收盘价小于前面均线向下区间最低价数值K线时,定义这根K线为均线均线向上区间向下突破K线。均线均线向上区间向下突破K线为白色。

//在前均线向下区间最低价K线与均线均线向上区间向下突破K线连水平线,高度为前均线向下区间最低价数值。颜色为白色。

//前面均线向上区间后面均线向下区间排列时,均线向下区间出现收盘价大于前面均线向上区间最高价数值K线时,定义这根K线为均线均线向下区间向上突破K线。均线均线向下区间向上突破K线为黄色。

//在前均线向上区间最高价K线与均线均线向下区间向上突破K线连水平线,高度为前均线向上区间最高价数值。颜色为黄色。

均线均线向上区间向下突破K线:=均线向上区间&&C<前青区间最低点&&COUNT(C<前青区间最低点,BARSLASTCOUNT(均线向上区间));

均线均线向下区间向上突破K线:=均线向下区间&&C>前粉区间最高点&&COUNT(C>前粉区间最高点,BARSLASTCOUNT(均线向下区间));

//DRAWCOLORKLINE(均线均线向上区间向下突破K线,COLORWHITE,0);

//DRAWCOLORKLINE(均线均线向下区间向上突破K线,COLORYELLOW,0);

//DRAWSL(均线均线向上区间向下突破K线,前青区间最低点,0,-BARSLASTCOUNT(均线向上区间)-REF(LLVBARS(L,BARSLAST(CROSS(均线向下区间,0.5))+1),BARSLASTCOUNT(均线向上区间)),0,COLORWHITE);

//DRAWSL(均线均线向下区间向上突破K线,前粉区间最高点,0,-BARSLASTCOUNT(均线向下区间)-REF(HHVBARS(H,BARSLAST(CROSS(均线向上区间,0.5))+1),BARSLASTCOUNT(均线向下区间)),0,COLORYELLOW);







//综合上面两种情况,



//同一次均线向上区间最高点对应的均线均线向下区间向上突破K线和均线均线向上区间向上突破K线,保留第一次出现的K线,这根K线定义为均线向上突破K线。均线向上突破K线为黄色。

//同一次均线向下区间最低点对应的均线均线向上区间向下突破K线和均线均线向下区间向下突破K线,保留第一次出现的K线,这根K线定义为均线向下突破K线。均线向下突破K线为白色。



//在均线向上区间最高点和均线向上突破K线之间连水平线,高度为均线向上区间最高点数值。颜色为黄色。

//在均线向下区间最低点和均线向下突破K线之间连水平线,高度为均线向下区间最低点数值。颜色为白色。



均线向上突破K线:=C>前粉区间最高点&&COUNT(C>前粉区间最高点,SUMBARS(CROSSDOWN(均线向上区间,0.5),1)-1);

均线向下突破K线:=C<前青区间最低点&&COUNT(C<前青区间最低点,SUMBARS(CROSSDOWN(均线向下区间,0.5),1)-1);



//DRAWCOLORKLINE(均线向上突破K线,COLORYELLOW,0);

//DRAWCOLORKLINE(均线向下突破K线,COLORWHITE,0);



//DRAWSL(均线向上突破K线,前粉区间最高点,0,-SUMBARS(CROSSDOWN(均线向上区间,0.5),1)+1-REF(HHVBARS(H,BARSLAST(CROSS(均线向上区间,0.5))+1),SUMBARS(CROSSDOWN(均线向上区间,0.5),1)-1),0,COLORYELLOW);

//DRAWSL(均线向下突破K线,前青区间最低点,0,-SUMBARS(CROSSDOWN(均线向下区间,0.5),1)+1-REF(LLVBARS(L,BARSLAST(CROSS(均线向下区间,0.5))+1),SUMBARS(CROSSDOWN(均线向下区间,0.5),1)-1),0,COLORWHITE);



//VERTLINE(均线向上突破K线,COLORMAGENTA),DASHDOT;

//VERTLINE(均线向下突破K线,COLORCYAN   ),DASHDOT;







//连续的均线向上突破K线保留第一个,定义为首次均线向上突破K线。

//连续的均线向下突破K线保留第一个,定义为首次均线向下突破K线。

首次均线向上突破K线:=均线向上突破K线&&COUNT(均线向上突破K线,BARSLAST(均线向下突破K线)+1);

首次均线向下突破K线:=均线向下突破K线&&COUNT(均线向下突破K线,BARSLAST(均线向上突破K线)+1);



DRAWSL(首次均线向上突破K线,前粉区间最高点,0,-SUMBARS(CROSSDOWN(均线向上区间,0.5),1)+1-REF(HHVBARS(H,BARSLAST(CROSS(均线向上区间,0.5))+1),SUMBARS(CROSSDOWN(均线向上区间,0.5),1)-1),0,COLORRED  );//,COLORYELLOW

DRAWSL(首次均线向下突破K线,前青区间最低点,0,-SUMBARS(CROSSDOWN(均线向下区间,0.5),1)+1-REF(LLVBARS(L,BARSLAST(CROSS(均线向下区间,0.5))+1),SUMBARS(CROSSDOWN(均线向下区间,0.5),1)-1),0,COLORGREEN);//,COLORWHITE





DRAWCOLORKLINE(首次均线向上突破K线,COLORYELLOW,0);

DRAWCOLORKLINE(首次均线向下突破K线,COLORWHITE,0);



VERTLINE(首次均线向上突破K线,COLORMAGENTA),DASHDOT;

VERTLINE(首次均线向下突破K线,COLORCYAN   ),DASHDOT;





//均线向上突破区间:=BARSLAST(首次均线向上突破K线)0&&ISNULL(BARSLAST(首次均线向下突破K线));//

//均线向下突破区间:=BARSLAST(首次均线向下突破K线)0&&ISNULL(BARSLAST(首次均线向上突破K线));//



//首次均线向上突破K线到首次均线向下突破K线之间,定义为均线向上突破区间。

//首次均线向下突破K线到首次均线向上突破K线之间,定义为均线向下突破区间。

均线向上突破区间:=BARSLAST(首次均线向上突破K线)BARSLAST(首次均线向下突破K线);









/**/

//前后两个随机做多区间高点相比较。后点数值比前点数值大,定义为随机做多区间高点上升;后点数值比前点数值小,定义为随机做多区间高点下降;后点数值与前点数值相等,定义为随机做多区间高点相等。//航行编码

//前后两个随机做空区间低点相比较。后点数值比前点数值大,定义为随机做空区间低点上升;后点数值比前点数值小,定义为随机做空区间低点下降;后点数值与前点数值相等,定义为随机做空区间低点相等。//航行编码

H1:=VALUEWHEN(随机死叉点,REF(HHV(H,BARSLASTCOUNT(随机做多区间)),1));

H2:=VALUEWHEN(随机死叉点,REF(H1,1));

L1:=VALUEWHEN(随机金叉点,REF(LLV(L,BARSLASTCOUNT(随机做空区间)),1));

L2:=VALUEWHEN(随机金叉点,REF(L1,1));

随机做多区间高点上升:=随机死叉点&&H1>H2;

随机做多区间高点下降:=随机死叉点&&H1L2;

随机做空区间低点下降:=随机金叉点&&L1REF(HHV(H,SUMBARS(随机金叉点,1)),SUMBARS(随机死叉点,2));//和光

随机做多区间高点下降:=随机做空区间&&REF(HHV(H,SUMBARS(随机金叉点,1)),SUMBARS(随机死叉点,1))REF(LLV(L,SUMBARS(随机死叉点,1)),SUMBARS(随机金叉点,2));//和光

随机做空区间低点下降:=随机做多区间&&REF(LLV(L,SUMBARS(随机死叉点,1)),SUMBARS(随机金叉点,1))=L2&&REF(VALUEWHEN(随机死叉点,H1>H2),1);

随机下拐点:=随机死叉点&&H1<=H2&&REF(VALUEWHEN(随机金叉点,L10&&ISNULL(BARSLAST(首次随机下拐点));//

随机下拐区间:=BARSLAST(首次随机下拐点)0&&ISNULL(BARSLAST(首次随机上拐点));//

//首次随机上拐点画一条粉色虚竖线。

//首次随机下拐点画一条青色虚竖线。

//VERTLINE(首次随机上拐点,COLORMAGENTA),DASHDOT;

//VERTLINE(首次随机下拐点,COLORCYAN   ),DASHDOT;

//随机上拐区间为粉色,随机下拐区间为青色。

随机拐点粉色区间:=随机上拐区间;

随机拐点青色区间:=随机下拐区间;

DRAWCOLORKLINE(随机上拐区间&&ISDOWN=0,COLORMAGENTA,1);

DRAWCOLORKLINE(随机上拐区间&&ISDOWN=1,COLORMAGENTA,0);

DRAWCOLORKLINE(随机下拐区间&&ISDOWN=0,COLORCYAN,   1);

DRAWCOLORKLINE(随机下拐区间&&ISDOWN=1,COLORCYAN,   0);















//均线向上突破区间,第一个随机金叉点,但这个金叉点要求在粉色区间中。定义这个金叉点为适时做多进场点。在适时做多进场点下方标注黄色空心向上三角。

//均线向下突破区间,第一个随机死叉点,但这个死叉点要求在青色区间中。定义这个死叉点为适时做空进场点。在适时做空进场点上方标注黄色空心向下三角。

适时做多进场点:=均线向上突破区间&&随机金叉点&&随机拐点粉色区间&&COUNT(随机金叉点&&随机拐点粉色区间,BARSLASTCOUNT(均线向上突破区间))=1;

适时做空进场点:=均线向下突破区间&&随机死叉点&&随机拐点青色区间&&COUNT(随机死叉点&&随机拐点青色区间,BARSLASTCOUNT(均线向下突破区间))=1;

DRAWTEXT( 适时做多进场点,L,'△'),COLORYELLOW,VALIGN0,FONTSIZE25;

DRAWTEXT( 适时做空进场点,H,'▽'),COLORYELLOW,VALIGN2,FONTSIZE25;





//适时做多进场点前随机做空区间最低价数值,数值小数点与品种一致,这个数值向下M跳的数值定义为适时做多进场点止损数值。标注在适时做多进场点前随机做空区间最低点,颜色为白色。

//适时做空进场点前随机做多区间最高价数值,数值小数点与品种一致,这个数值向上M跳的数值定义为适时做空进场点止损数值。标注在适时做空进场点前随机做多区间最高点,颜色为白色。

适时做多进场点止损数值:=VALUEWHEN(随机做空区间,LLV(L,BARSLASTCOUNT(随机做空区间)))-M*MINPRICE;

适时做空进场点止损数值:=VALUEWHEN(随机做多区间,HHV(H,BARSLASTCOUNT(随机做多区间)))+M*MINPRICE;

DRAWSHIFTNUMBER(适时做多进场点, 适时做多进场点止损数值,适时做多进场点止损数值,X,COLORWHITE,0,BARSLAST(随机做空区间)+REF(LLVBARS(L,BARSLASTCOUNT(随机做空区间)),BARSLAST(随机做空区间))),VALIGN0;

DRAWSHIFTNUMBER(适时做空进场点, 适时做空进场点止损数值,适时做空进场点止损数值,X,COLORWHITE,0,BARSLAST(随机做多区间)+REF(HHVBARS(H,BARSLASTCOUNT(随机做多区间)),BARSLAST(随机做多区间))),VALIGN2;





//前面是随机下拐区间后面是随机上拐区间,这两个区间排列的区间定义为随机拐点青粉排列区间。

//前面是随机上拐区间后面是随机下拐区间,这两个区间排列的区间定义为随机拐点粉青排列区间。

//随机下拐区间前一根K线到前次随机下拐区间第一根K线之间所有的K线定义为随机拐点青粉排列区间。//只能写前两句,不支持定义之前K线情况的

//随机上拐区间前一根K线到前次随机上拐区间第一根K线之间所有的K线定义为随机拐点粉青排列区间。//只能写前两句,不支持定义之前K线情况的

//只能写前两句,不支持定义之前K线情况的:

随机拐点青粉排列区间:=随机上拐区间&&REF(随机下拐区间,BARSLASTCOUNT(随机上拐区间));

随机拐点粉青排列区间:=随机下拐区间&&REF(随机上拐区间,BARSLASTCOUNT(随机下拐区间));





//在随机拐点青粉排列区间,第一次出现大于或者等于适时做多进场点止损数值的K线,这根K线定义为适时做多止损K线。适时做多止损K线为黄色。

//在随机拐点粉青排列区间,第一次出现小于或者等于适时做空进场点止损数值的K线,这根K线定义为适时做空止损K线。适时做空止损K线为白色。



//在适时做多进场点止损数值的K线与适时做多止损K线连接水平黄色线段,高度为适时做多进场点止损数值。

//在适时做空进场点止损数值的K线与适时做空止损K线连接水平白色线段,高度为适时做空进场点止损数值。

T1:=C>适时做多进场点止损数值&&SUM(C>适时做多进场点止损数值,BARSLASTCOUNT(随机拐点青粉排列区间))=1;

DRAWCOLORKLINE(T1,COLORYELLOW,0);

T1X:=REF(LLVBARS(L,BARSLASTCOUNT(随机做空区间)),BARSLAST(随机做空区间))+BARSLAST(随机做空区间);

DRAWSL(T1,适时做多进场点止损数值,0,-T1X,0,COLORYELLOW);



T2:=C<适时做空进场点止损数值&&SUM(C<适时做空进场点止损数值,BARSLASTCOUNT(随机拐点粉青排列区间))=1;

DRAWCOLORKLINE(T2,COLORWHITE,0);

T2X:=REF(HHVBARS(H,BARSLASTCOUNT(随机做多区间)),BARSLAST(随机做多区间))+BARSLAST(随机做多区间);

DRAWSL(T2,适时做空进场点止损数值,0,-T2X,0,COLORWHITE);

作者 邓光宁

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注