同期沪深K线指标公式源码[通达信公式]
主要是用于绘制K线图,并且在右上角显示当前日期与标注不同指数名称。下面是具体分析:
1. 代码前面的四个变量HH、OO、LL和CC用于获取对应股票的最高价、开盘价、最低价和收盘价。这里通过函数CODELIKE('600') 或者CODELIKE('000')等来判断股票的交易所,在沪市股票赋予999999$H、999999$O、999999$L和999999$C这样的变量,而深市股票赋予399001$H、399001$O、399001$L和399001$C这样的变量。这些变量将在后面绘制K线图时用到。
2. 绘制K线图部分的代码为DRAWKLINE函数。其中传入的参数就是上面获取到的最高价、开盘价、最低价和收盘价。这里没有加参数NODRAW是指要绘制K线图,如果加上NODRAW则不会绘制出来。
3. 在K线图的右上角绘制当前日期的代码是DRAWTEXT_FIX函数和一系列字符串拼接操作。拼接操作的意义是组合日期和星期几,并添加中文括号。 DRAWTEXT_FIX函数即为绘制固定文本函数,其后面的参数分别为日期、横坐标、纵坐标、对齐方式、文本内容。这里DRAWTEXT_FIX函数用于绘制当前日期。
4. 接下来代码绘制了上证指数、深证成指、创业板指和中小板指这些指数的名称。同样也是通过CODELIKE函数判断股票属于哪个指数,然后绘制对应指数的名称。DRAWTEXT_FIX函数用于绘制文本内容,具体来说当CODELIKE的结果匹配‘60’或者‘999999’,即为沪市指数时,就会在(0.4,1)的坐标位置绘制上证指数。其它指数的绘制方法类似。
HH:=IF(CODELIKE('600'),"999999$H","399001$H");OO:=IF(CODELIKE('600'),"999999$O","399001$O");LL:=IF(CODELIKE('600'),"999999$L","399001$L");CC:=IF(CODELIKE('600'),"999999$C","399001$C");沪深大盘:IF(CODELIKE('600'),"999999$C","399001$C"),NODRAW;DRAWKLINE(HH,OO,LL,CC);D1:=YEAR AND MONTH AND DAY;AA1:=STRCAT(CON2STR(YEAR,0),'年');AA2:=STRCAT(CON2STR(MONTH,0),'月');AA3:=STRCAT(CON2STR(DAY,0),'日');AA4:=STRCAT('【',IF(WEEKDAY=1,'一',IF(WEEKDAY=2,'二',IF(WEEKDAY=3,'三',IF(WEEKDAY=4,'四',IF(WEEKDAY=5,'五',IF(WEEKDAY=6,'六','日')))))));AA:=STRCAT(STRCAT(STRCAT(AA1,AA2),STRCAT(AA3,AA4)),'】');DRAWTEXT_FIX(D1,0,1,0,AA);上证指数:=STRCAT(STRCAT('〖','上证指数'),'〗');DRAWTEXT_FIX(CODELIKE('60') OR CODELIKE('999999'),0.4,1,0,上证指数),COLORGREEN;深证成指:=STRCAT(STRCAT('〖','深证成指'),'〗');DRAWTEXT_FIX(CODELIKE('000') OR CODELIKE('399001'),0.4,1,0,深证成指),COLORGREEN;创业板指:=STRCAT(STRCAT('〖','创业板指'),'〗');DRAWTEXT_FIX(CODELIKE('300') OR CODELIKE('399006'),0.4,1,0,创业板指),COLORGREEN;中小板指:=STRCAT(STRCAT('〖','中小板指'),'〗');DRAWTEXT_FIX(CODELIKE('002') OR CODELIKE('399005'),0.4,1,0,中小板指),COLORGREEN;ZJS:=IF(CODELIKE('60') OR CODELIKE('999'),"999999$ADVANCE",IF(CODELIKE('300') ORCODELIKE('399006'),"399006$ADVANCE",IF(CODELIKE('002') OR CODELIKE('399005'),"399005$ADVANCE","399001$ADVANCE")));DJS:=IF(CODELIKE('60') OR CODELIKE('999'),"999999$INDEXDEC",IF(CODELIKE('300') ORCODELIKE('399006'),"399006$INDEXDEC",IF(CODELIKE('002') OR CODELIKE('399005'),"399005$INDEXDEC","399001$INDEXDEC")));AA11:=STRCAT(STRCAT(STRCAT('【','跌家数'),'】'),CON2STR(DJS,0));AA22:=STRCAT(STRCAT(STRCAT(STRCAT('【','涨家数'),'】'),CON2STR(ZJS,0)),AA11);DRAWTEXT_FIX(D1,0.7,1,0,AA22),COLORYELLOW;BDGD:=CC=HHV(CC,40);GDSJ:=BARSLAST(FILTER(CROSS(0.8,BDGD),20))+1;GD:REF(HH,GDSJ),COLOR00FF00,POINTDOT,LINETHICK1;TTP:=CROSS(CC,REF(GD,1)),COLOR00FFFF,POINTDOT,LINETHICK0;STICKLINE(GDSJ<=6,GD,GD,8,0),COLORFF00FF;BDDD:=CC=LLV(CC,N);DDSJ:=BARSLAST(FILTER(CROSS(0.8,BDDD),N1))+1;DDD1:REF(LL,DDSJ),COLOR00FFFF,POINTDOT,LINETHICK1;STICKLINE(DDSJ<=6,DDD1,DDD1,8,0),COLOR00FF00;ZS:=REF(CC,1);QS:=SMA(MAX(CC-ZS,0),8,1)/SMA(ABS(CC-ZS),8,1)*100;XG2:=CROSS(QS,15);DRAWICON(XG2,LL*0.997,26);XG3:=DDSJ=1;DRAWICON(XG3,LL,1);
公式导入教程: 【通达信公式源码导入方法教程】 【同花顺公式源码导入方法教程】 【大智慧新一代公式源码导入方法教程】
有思路,想编写各种指标公式,交易模型,选股公式,还原公式的朋友
可联系技术人员 QQ: 262069696 或微信:cxhjy888 进行 有偿收费 编写!(注:由于人数限制,QQ或微信请选择方便的一个联系我们就行,加好友时请简单备注下您的需求,否则无法通过。谢谢您!)
(注:由于人数限制,QQ或微信请选择方便的一个联系我们就行,加好友时请简单备注下您的需求,否则无法通过。谢谢您!)
相关文章
-
没有相关内容