夜雨聆风学习资料网

ARTICLE · 1107273

趋势通道主图//通达信源码

趋势通道主图//通达信源码

【声明】本文只分享通达信公式的编写思路与代码,用于学习交流,不构成任何投资建议。市场有风险,请独立判断、自负盈亏。

后面需要把一些专业术语换成了更通俗的讲法,方便大家理解。

源码里有一个综合信号(我习惯叫它"钻石信号",对应 第十三只眼),由多项条件组合而成,感兴趣可以对照代码看看它的触发逻辑。

今天做个简单更新。

截图如下:

源码如下:

DSSZY1:=EMA(CLOSE,3);

DSSZY2:=EMA(CLOSE,26);

DSSZY3:=DSSZY1-DSSZY2;

牵牛线:EMA(EMA(EMA(CLOSE,3),3),3)+DSSZY3,COLORWHITE;

寻牛线:MA(MA(LOW,3),3),COLORMAGENTA;

DSSZY4:=HHV(寻牛线,60);

DSSZY5:=BARSCOUNT(C)>5;

DSSZY6:=REF(C,1);

DSSZY7:=(H-DSSZY6+0.01)/DSSZY6*100;

DSSZY8:=(DSSZY6-L+0.01)/DSSZY6*100;

DSSZY9:=DSSZY7>=5 AND DSSZY5 AND C=H;

DSSZY10:=DSSZY8>=5 AND DSSZY5 AND C=L;

DSSZY11:=DSSZY7>=10 AND DSSZY5 AND C=H;

DSSZY12:=DSSZY8>=10 AND DSSZY5 AND C=L;

DSSZY13:=DSSZY7>=20 AND DSSZY5 AND C=H;

DSSZY14:=DSSZY8>=20 AND DSSZY5 AND C=L;

DSSZY15:=IF(INBLOCK('科创板'),DSSZY13,IF(INBLOCK('创业板') AND DATE>1200823,DSSZY13,IF(INBLOCK('ST板块'),DSSZY9,DSSZY11)));

DSSZY16:=IF(INBLOCK('科创板'),DSSZY14,IF(INBLOCK('创业板') AND DATE>1200823,DSSZY14,IF(INBLOCK('ST板块'),DSSZY10,DSSZY12)));

DSSZY17:=MA(CLOSE,1);

DSSZY18:=SMA(SMA(SMA(DSSZY17,2,1),2,1),2,1),NODRAW;

DSSZY19:=MA(DSSZY18,3),NODRAW;

DSSZY20:=MA((L+H+C)/3,5);

DSSZY21:=REF(CLOSE,1);

DSSZY22:=SMA(MAX(CLOSE-DSSZY21,0),6,1)/SMA(ABS(CLOSE-DSSZY21),6,1)*100;

上箱顶:HHV(MA(MA(LOW,3),3),60)LINETHICK3,COLORYELLOW;

下箱底:LLV(寻牛线,20)LINETHICK3,COLORFFBB00;

DRAWKLINE(HIGH,OPEN,LOW,CLOSE);

STICKLINE(DSSZY15,OPEN,CLOSE,2.6,0),COLOR0000E5;

STICKLINE(DSSZY15,OPEN,CLOSE,2.4,0),COLOR335555;

STICKLINE(DSSZY15,OPEN,CLOSE,1.8,0),COLOR338888;

STICKLINE(DSSZY15,OPEN,CLOSE,1.2,0),COLOR33AAAA;

STICKLINE(DSSZY15,OPEN,CLOSE,0.6,0),COLOR33CCCC;

STICKLINE(DSSZY15,OPEN,CLOSE,0.1,0),COLOR33EEEE;

STICKLINE(DSSZY16,C,O,2.5,0),COLOR009900;

STICKLINE(DSSZY16,C,O,1.5,0),COLOR00BB00;

STICKLINE(DSSZY16,C,O,0.8,0),COLOR00DD00;

STICKLINE(DSSZY16,C,O,0.1,0),COLOR00FF00;

起飞加速线:HHV(DSSZY20,60)DOTLINE,COLORLIRED;

DSSZY23:=CROSS(84,DSSZY22) AND 起飞加速线=REF(起飞加速线,1) AND C<REF(L,1);

DSSZY24:=CROSS(DSSZY19,DSSZY18) AND C<起飞加速线 AND C<REF(L,1);

DSSZY25:=7*SMA((CLOSE-LLV(LOW,27))/(HHV(HIGH,27)-LLV(LOW,27))*30,4,1)-3*SMA(SMA((CLOSE-LLV(LOW,27))/(HHV(HIGH,27)-LLV(LOW,27))*30,4,1),3,1) -SMA(SMA(SMA((CLOSE-LLV(LOW,27))/(HHV(HIGH,27)-LLV(LOW,27))*30,4,1) ,3,1),2,1);{DRAWTEXT_FIX(1,0.980,20,1,'★DSSZY55:天香聚友'),COLOR666666;}

DSSZY26:=78.89;

DSSZY27:=DSSZY18<REF(DSSZY18,1) AND DSSZY19>REF(DSSZY19,1);

DSSZY28:=1230923;

DSSZY29:=(REF(CLOSE,3)-CLOSE)/REF(CLOSE,3)*100>5;

DSSZY30:=FILTER(DSSZY29,10);

DSSZY31:=BARSLAST(DSSZY30);

DSSZY32:=REF(HIGH,DSSZY31+2);

DSSZY33:=REF(HIGH,DSSZY31+1);

DSSZY34:=REF(HIGH,DSSZY31);

DSSZY35:=MAX(DSSZY32,DSSZY33);

DSSZY36:=MAX(DSSZY35,DSSZY34);

DSSZY37:=(CLOSE-REF(CLOSE,1))/REF(CLOSE,1)*100>5;

DSSZY38:=DSSZY31<150;

DSSZY39:=(OPEN-DSSZY36)/DSSZY36*100<30;

DSSZY40:=(CLOSE-LLV(LOW,DSSZY31))/LLV(LOW,DSSZY31)*100<50;

DSSZY41:=(CLOSE-REF(OPEN,5))/REF(OPEN,5)*100<30;

DSSZY42:=VOL/MA(VOL,5)<3.5;

DSSZY43:=(CLOSE-REF(CLOSE,89))/REF(CLOSE,89)*100<80;

DSSZY44:=DSSZY37 AND DSSZY38 AND DSSZY39 AND DSSZY40 AND DSSZY41 AND DSSZY42 AND DSSZY43;

DSSZY45:=FILTER(DSSZY44,15);

DSSZY46:=MA(CLOSE,10);

DSSZY47:=MA(CLOSE,54);

DSSZY48:=(((CLOSE-DSSZY47)/DSSZY47)<0.1);

DSSZY49:=(((CLOSE-DSSZY46)/DSSZY46)<0.3);

DSSZY50:=(((DSSZY48=1) AND (DSSZY49=1))*0.2);

DSSZY51:=((((DSSZY50=0) AND (REF(DSSZY50,1)=0.2)) AND (REF((COUNT((DSSZY50=0.2),10)=10),1)=1))*-0.1);

DSSZY52:=DSSZY51=-0.1;

DSSZY53:=DSSZY45 OR DSSZY52;

DSSZY54:=DYNAINFO(7)/(REF(CLOSE,1))>1.05 AND (DYNAINFO(7)/O>1.05);

DSSZY55:=(VOL/REF(VOL,1)>1.2 AND COUNT(CLOSE>OPEN,1)) OR (LOW>REF(HIGH,1) AND COUNT(OPEN>CLOSE,1) AND VOL/REF(VOL,1)>1.2);

第十三只眼:=DSSZY53 AND DSSZY15 AND DSSZY55 AND DSSZY54,NODRAW;

DRAWTEXT(CROSS(DSSZY26,DSSZY25) AND C<起飞加速线 AND CROSS(DSSZY19,DSSZY18),H,'↙⊙高位回落'),COLORLIBLUE;

STICKLINE(DSSZY27 AND (DSSZY23 OR DSSZY24),C,O,2.5,0),COLORFF2200;

STICKLINE(DSSZY27 AND (DSSZY23 OR DSSZY24),C,O,1.5,0),COLORFF4400;

STICKLINE(DSSZY27 AND (DSSZY23 OR DSSZY24),C,O,0.8,0),COLORFF6600;

STICKLINE(DSSZY27 AND (DSSZY23 OR DSSZY24),C,O,0.1,0),COLORFF8800;

STICKLINE(DSSZY27 AND (DSSZY23 OR DSSZY24),C,O,0.5,0),COLORFFAA00;

IF(寻牛线>=REF(上箱顶,1),寻牛线,DRAWNULL),COLORRED,LINETHICK3;

IF(寻牛线<=REF(上箱顶,1),寻牛线,DRAWNULL),COLORGREEN,LINETHICK3;

IF(牵牛线>=REF(下箱底,1),牵牛线,DRAWNULL),COLORWHITE;

IF(牵牛线>=REF(上箱顶,1),牵牛线,DRAWNULL),COLORWHITE,LINETHICK2;

IF(牵牛线<=REF(下箱底,1),牵牛线,DRAWNULL)DOTLINE,COLORWHITE;

STICKLINE(CROSS(牵牛线,上箱顶) AND CROSS(C,上箱顶),OPEN,CLOSE,2,0),COLOR66EEEE;

STICKLINE(CROSS(牵牛线,上箱顶) AND CROSS(C,上箱顶),OPEN,CLOSE,1,0),COLORMAGENTA;

STICKLINE(CROSS(牵牛线,上箱顶) AND CROSS(C,上箱顶),OPEN,CLOSE,0,1),COLOR8B8BFF;

DRAWTEXT(CROSS(牵牛线,下箱底),下箱底,'↖低位回升'),COLORRED;

DRAWICON(CROSS(牵牛线,下箱底),L*0.99,5);

今涨停:IF(DATE<DSSZY28,ZTPRICE(REF(C,1),IF(CODELIKE('688'),0.2,IF(NAMEINCLUDE('S'),0.05,0.1))),ZTPRICE(REF(C,1),IF(CODELIKE('688') OR CODELIKE('300'),0.2,IF(NAMEINCLUDE('S'),0.05,0.1)))),NODRAW,COLORRED;

今跌停:IF(DATE<DSSZY28,DTPRICE(REF(C,1),IF(CODELIKE('688'),0.2,IF(NAMEINCLUDE('S'),0.05,0.1))),DTPRICE(REF(C,1),IF(CODELIKE('688') OR CODELIKE('300'),0.2,IF(NAMEINCLUDE('S'),0.05,0.1)))),NODRAW,COLORGREEN;

明涨停:IF(DATE<DSSZY28,C*IF(CODELIKE('688'),1.2,IF(NAMEINCLUDE('S'),1.05,1.1)),C*(IF(CODELIKE('688') OR CODELIKE('300'),1.2,IF(NAMEINCLUDE('S'),1.05,1.1)))),NODRAW,COLORMAGENTA;

明跌停:IF(DATE<DSSZY28,C*IF(CODELIKE('688'),0.8,IF(NAMEINCLUDE('S'),0.45,0.9)),C*(IF(CODELIKE('688') OR CODELIKE('300'),0.8,IF(NAMEINCLUDE('S'),0.45,0.9)))),NODRAW,COLORFFFF00;

DRAWICON(第十三只眼,LOW*0.99,7);

DRAWICON(CROSS(C,上箱顶) AND CROSS(C,起飞加速线)AND C>REF(C,1)*1.05,LOW*0.99,25);

代码怎么读(逐段翻译,零基础向)

  1. 牵牛线、寻牛线:分别是短期重心和低位参考线。
  1. 上箱顶 / 下箱底:把参考线在特定周期的高低点画出来,形成一个"通道"。
  1. DSSZY15 / DSSZY16:识别"涨幅较大的阳线 / 阴线"的辅助条件,用来给 K 线染色(蓝柱强、绿柱弱)。
  1. DRAWTEXT 标注:当短期线穿过下箱底,在低点标「低位回升」;当短期线拐头向下且价格回落,在高点标「高位回落」。——这只是状态提示,不是买卖指令。
  1. 今涨停 / 明涨停等:这是用 ZTPRICE 函数计算当日的涨停价、跌停价,方便你看价格离涨跌停还有多远,纯计算、无预测。

四、新手常踩的复制坑

源码编译不通过,大多是因为从公众号复制时出了两个小错:

  • 手机端:"AND" 前后少了空格
  • 电脑端:莫名其妙多了 "?" 符号 补上空格、删掉 "?" 就能通过。

觉得这篇有用的话,点个赞或在看告诉我——想看这类内容的人越多,我就越有动力把「通达信公式从入门到进阶」写成系列。关注我,下一篇接着讲怎么给指标加预警。

相关学习资料