刚给朋友写的,他要观察节假日前后的历史行情。只是让我在日K线图上把每个节日标记出来。在通达信上写的,很简单。现发到这里,供有兴趣者参考。
指标“法定节日”只用于指数(不能用于个股),在K线图上标记每一个法定节假日。
指标“FDJR123”,当用于指数时有3个输出:
1) JR, 是否节日,值为1或0,表示该K线是否法定节日(节假日后开市首日)。
2) JRBH, 节日编号,值为1到7,分别表示 元旦、春节、清明、五一、端午、中秋、国庆节。
3) JRTS, 节日休市天数(自然日)。
注:本FDJR123指标将用作被调用的指标。
指标“AAA04”,是调用指标“FDJR123”的用法举例,可用于指数或个股,在每一节日K线处,显示休市前或后一天的涨幅或跌幅。
注意,这些都是日线周期下使用的指标。
下载并解压缩后,txt文件是指标源码。tne文件供在指标管理器中直接导入用。
{法定节日标记,只用于指数}
CB:CURRBARSCOUNT,NODRAW;
DRAWKLINE(H,O,L,C);
FDAY:=YEAR!=REF(YEAR,1);
DAYS1:=DATETODAY(DATE);
DAYS2:=DAYS1-REF(DAYS1,1)-1;
JR:=DAYS2>2;
DRAWICON(JR,H*1.02,13);
JRBH:=COUNT(JR,BARSLAST(FDAY)+1);
JRMC:=IF(JRBH=1,'元旦 ',
IF(JRBH=2,'春节 ',
IF(JRBH=3,'清明节 ',
IF(JRBH=4,'五一节 ',
IF(JRBH=5,'端午节 ',
IF(JRBH=6,'中秋节 ',
IF(JRBH=7,'国庆节 ','XX')))))));
DRAWTEXT(JR,H*1.05,VARCAT(JRMC,VARCAT(VAR2STR(DAYS2,0),'天'))),COLORYELLOW;
--------------------------------------------------------------------------------------------------------www.88gs.com-----------------
{FDJR123}
{被调用的公式,须用于指数}
FDAY:=YEAR!=REF(YEAR,1);
DAYS1:=DATETODAY(DATE);
DAYS2:=DAYS1-REF(DAYS1,1)-1;
JR:IF(DAYS2>2,1,0);
JRBH:IF(JR=1,COUNT(JR,BARSLAST(FDAY)+1),0); {节日编号}
{值1-7,对应于 元旦、春节、清明、五一、端午、中秋、国庆}
JRTS:DAYS2; {节日休市天数}
--------------------------------------------------------
用法举例:显示放假前/后一天的涨幅。可用于指数或个股。
{AAA04}
DRAWKLINE(H,O,L,C);
CB:CURRBARSCOUNT,NODRAW;
JR:=CALCSTOCKINDEX('999999','FDJR123',1);
JRBH:=CALCSTOCKINDEX('999999','FDJR123',2);
JRTS:=CALCSTOCKINDEX('999999','FDJR123',3);
JRMC:=IF(JRBH=1,'元旦 ',
IF(JRBH=2,'春节 ',
IF(JRBH=3,'清明节 ',
IF(JRBH=4,'五一节 ',
IF(JRBH=5,'端午节 ',
IF(JRBH=6,'中秋节 ',
IF(JRBH=7,'国庆节 ','XX')))))));
DRAWICON(JR,H*1.01,41);
DRAWTEXT(JR,H*1.03,VARCAT(JRMC,VAR2STR(JRTS,0))),COLORYELLOW;
ZF:=(C/REF(C,1)-1)*100;
DRAWTEXT(JR AND REF(ZF,1)>=0,H*1.09,VAR2STR(REF(ZF,1),2)),COLORMAGENTA;
DRAWTEXT(JR AND REF(ZF,1)<0,H*1.09,VAR2STR(REF(ZF,1),2)),COLORGREEN;
DRAWTEXT(JR AND ZF>=0,H*1.06,VAR2STR(ZF,2)),COLORMAGENTA;
DRAWTEXT(JR AND ZF<0,H*1.06,VAR2STR(ZF,2)),COLORGREEN;
-----------------------------------------------------------------