ARTICLE · 1106544
通达信指标公式源码,临界点主图副图
「临界点主图」是一套三件套:一个主图文件、一个副图文件、一个选股文件。
主图做的事,是把几件事叠在同一张图上。它用 14 日均线的日变化率判断方向:均线往上走涂红、往下走涂绿,画成一条阶梯状的变色线;再铺上 7 日和 25 日两条均线,在多头排列的时候把 14 日线加粗描红;最后在图上标出反包柱、「买」字、「短顶」字和三个图标。
副图(也就是选股)那份文件走的是另一条路:用一条加权均价线配一套 9 日 KDJ,给出「收盘上穿短期均价线、且 J 值不高」这个条件;选股文件把它和另一条「7 日线站上 25 日线」的条件并列输出。
所以它的定位很明确:管趋势方向和短周期时机,不碰量能强弱,也不碰资金或筹码结构。
先做个速览
• 类型:三件套,主图 + 副图 + 选股(副图与选股内容完全相同)
• 用到的数据:开盘、最高、最低、收盘、成交量、成交额
• 核心算法:14 日 EMA 的日变化率判断方向(红绿阶梯);9 日 KDJ;加权均价线穿越
• 主图输出:一条红绿阶梯线、7 / 14 / 25 三条均线、反包洋红柱、「买」与「短顶」两处文字、三个图标
• 选股条件:EMA7 上穿 EMA25,或者(收盘上穿加权均价线 且 J<55)
• 一句话:用 14 日线的方向把均线涂成两色台阶,再用短周期穿越和反包负责时机

一、主图核心是一条会变色的工作线
先看这四行,它们是主图里最费心思的部分:
A1:=EMA(C,14)COLORWHITE,LINETHICK1;
A1X:=(A1-REF(A1,1))/REF(A1,1)*100,NODRAW;
出击:IF(A1X>=0,REF(EMA(C,14),BARSLAST(CROSS(A1X,0))+1),DRAWNULL)COLORRED,LINETHICK1;
休假:IF(A1X< 0,REF(EMA(C,14),BARSLAST(CROSS(0,A1X))+1),DRAWNULL)COLORGREEN,LINETHICK1;
A1 是 14 日 EMA,也就是大家常说的「工作线」。后面挂的 COLORWHITE、LINETHICK1 两个参数,稍后第八节会说明它们其实没生效。
A1X 是这条线的日变化率,单位是百分比:今天比昨天涨了多少。NODRAW 的意思是「算出来但别画在图上」——它只用来做判断,不占图面。这个用法本身是对的。
出击 和 休假 是同一件事的两面。 逻辑是:CROSS(A1X,0) 表示这条均线的变化率由负转正,也就是均线从往下走转成往上走的那一天;BARSLAST 数的是「距离上一次转向过了多少天」。于是:
• 均线在往上走的日子(A1X>=0),画红色 → 叫「出击」
• 均线在往下走的日子(A1X< 0),画绿色 → 叫「休假」
但这里有一个容易被忽略的细节:它画出来的是阶梯,不是跟着均线走的曲线。
关键在于 REF(EMA(C,14), BARSLAST(CROSS(A1X,0))+1) 这一串。偏移量是「距上次转向的天数 + 1」,而这个天数每天都在加一 —— 两个数一起涨,取到的永远是同一个历史点:转向发生前一天的 14 日线值。
所以实际效果是:每次方向翻转,这条线就在新高度上拉一条水平线,一直平到下次翻转。看到的是一段红台阶、一段绿台阶交替相接,而不是一条跟着价格起伏的均线。
这种写法在公式圈里很常见,属于「把某个关键价位水平延长」的手法(前面写过的几套公式里,支撑位、压力位也是同一个思路)。想让它真的跟着均线走,把 REF(EMA(C,14),BARSLAST(...)+1) 直接换成 EMA(C,14) 就行。
二、转向当天的三个标记
方向翻转的那一天,公式额外做了三件事:
STICKLINE(CROSS(A1X,0),C,O,2,0)COLORYELLOW;
STICKLINE(CROSS(0,A1X),C,O,2,0)COLORGREEN;
STICKLINE(CROSS(A1X,0)OR CROSS(0,A1X),REF(EMA(C,14),1),REF(EMA(C,14),1)*0.998,2,0)COLORWHITE;
STICKLINE(ISLASTBAR,REF(EMA(C,14),1),REF(EMA(C,14),1)*0.998,5,0)COLORWHITE;
• 前两行:由跌转涨的那天,把当根 K 线的实体涂成黄色;由涨转跌的那天,涂成绿色。颜色正好和后面的台阶呼应。
• 第三行:转向当天,在「昨日 14 日线值」的位置画一条很细的白线(高度差只有 0.2%)。
• 第四行:ISLASTBAR 只在最后一根 K 线上成立,所以这句话等于在最右端同样画一条粗一点的白线。
这条白线的用处,是把当前这段台阶的高度标出来——最新一根那儿的白线,就是眼下这条台阶的水平位。这是个挺细心的设计,多数同类公式不会专门做。
三、7 / 14 / 25 三条均线的分工
主图里一共出现三条不同周期的均线:
工作线:=EMA(C,14);
止盈线:EMA(C,7),LINETHICK1,COLORMAGENTA;
工作区:IF(C>=工作线 AND EMA(C,14)>=EMA(C,25),工作线,DRAWNULL), COLORRED,LINETHICK2;
生命线:EMA(C,25),COLORYELLOW;
• 7 日线:作者在源码里给它起了个偏操作色彩的名字,我这里按它实际是什么来讲——就是一条 7 日 EMA,洋红色。它和 25 日线一起构成选股里那个「7 日线上穿 25 日线」的条件,也是主图第二个图标的依据。
• 14 日线:前面那条变色工作线的本体。注意它在本篇里用 := 赋值,属于中间量;真正画出来的只有下面「工作区」那一段。
• 25 日线:源码叫「生命线」,黄色。这里要提醒一句:同名不同义。 前面写过的控蟠那套副图里也有一条「生命线」,但那边是典型价的 1 周期平滑,跟这条 25 日 EMA 完全是两个东西。看公式碰到重名的线,记得回源码确认算法。
• 加粗红段:工作区 这行的条件是「收盘价不跌破 14 日线」且「14 日线高于 25 日线」,两条同时成立时,把 14 日线用红色加粗画出来。这一段红线的含义就是「短中均线呈多头格局」,是整张主图上唯一一条真正在跟随价格的均线曲线。
四、13 日线的那条参考线,偏移量是 7.5
Z1:=MA(C,13);
ZX:=REF(Z1,13/2+1);
DRAWICON(CROSS(ZX,C),H*1.01,2);
Z1 是一条 13 日简单均线。ZX 想取的是「半周期之前」的它——作者的意图八成是「拿半条均线周期之前的位置,和今天的收盘价比一比」。
问题是 13/2+1 算出来是 7.5。通达信里 REF 的第二个参数要求是整数,写了小数会被它按自己的规则取整(实际落第 7 根还是第 8 根,以软件为准)。所以这条线实际取的不是 7.5 天前,而是整数天前。
DRAWICON(CROSS(ZX,C),H*1.01,2) 的含义是:收盘价下穿这条参考线的那天,在当天最高价上方一点画一个图标。方向是向下的提示。
五、反包柱与「买」「短顶」两个字
先说反包柱。这段是主图里唯一用到「昨天和前天」的判断:
F:=100*(C-REF(C,1))/REF(C,1);
P1:=IF(C<REF(O,1) AND F<0,1,0);
P2:=IF(C<REF(O,2) AND F<0,1,0);
TT3:=P1=0 AND REF(P1,1)=1 AND P2=0 AND REF(P2,1)=1;
TT4:=P1=1 AND REF(P1,1)=0 AND P2=1 AND REF(P2,1)=0;
• F 是当日涨幅(百分比)。
• P1 的条件是「今天在跌(F<0)且收盘价低于昨日开盘」。通俗说就是当天走出一根比较弱的 K 线,记作 1。
• P2 是同一天、同样条件,只是参考价从前日开盘换成前日开盘的又前一天,用来交叉验证。
• TT3 要求「昨天这两个条件都成立、今天都不成立」——翻译过来就是昨天是根弱 K,今天转强,也就是常说的反包。
TT3 在下一处就用到了:
DRAWTEXT(CROSS(CLOSE,TT1)AND J< 55,LOW,'买'),COLORRED;
DRAWTEXT(CROSS(88,RSI),HIGH * 1.02,'短顶'),COLOR00FFFF;
STICKLINE(TT3,OPEN,CLOSE,3,0),COLORFF00FF;
• 主图在反包那天,把当根 K 线的实体画成洋红色粗柱。
• 另外在「收盘上穿 TT1 且 J 值低于 55」的那天,在最低价下方写一个红色的「买」字。
• 「短顶」两个字用的是另一套判断:CROSS(88,RSI),也就是3 日 RSI 从 88 上方掉下来。3 日 RSI 要冲到 88 以上,需要连着好几天大步上冲,所以这个提示非常稀疏,一年也未必出现几次——它的定位是「急涨之后的第一根回撤」,不是常规信号。
TT1 是什么,下一节讲;J 就是 KDJ 里的 J。
六、副图与选股:一条加权均价线加一套 KDJ
副图(F)和选股(X)这两个文件的内容完全一样,一共 10 行,开头 6 行和主图逐字符相同——也就是说主图和副图共用同一套底座:
TT2:=DMA((((HIGH+LOW)+(CLOSE*2))/4.15),0.9);
TT1:=REF(EMA(TT2,3),1);
RSV:=(CLOSE-LLV(LOW,9))/(HHV(HIGH,9)-LLV(LOW,9))*100;
K:=SMA(RSV,3,1);
D:=SMA(K,3,1);
J:=3*K-2*D;
TT2 是一条动态加权均价线。(HIGH+LOW+CLOSE*2) 是常见的三价加权和,正常应该除以 4(因为系数加起来是 1+1+2),这里用的是 4.15。别看只差了 0.15,它会让这条线整体比真实的加权均价低大约 3.6%,下面判断穿越时门槛也就跟着低了一截。
外面套的 DMA(...,0.9) 是动态移动平均,第二个参数 0.9 表示当日值占九成权重,所以这条线贴价格贴得很紧。
TT1 是这条线的「昨天版」:先做 3 日 EMA,再往前推一天。拿今天的收盘去穿昨天的线,是很标准的穿越比较方式。
后面四行是一套标准的 9 日 KDJ,RSV、K、D 三步都没改参数,只是这里只用到 J。
最后两行是这份文件的输出:
M:=CROSS(CLOSE,TT1)AND J<55;
ZYX:=EMA(C,7);
SMX:=EMA(C,25);
XG:CROSS(ZYX,SMX) OR(M);
M 就是主图上那个「买」字的完全同一个条件,一个字都不差。所以副图和主图在这件事上是打得通的。
XG 是最终输出,两个条件取或:
1. ZYX(7 日线)上穿 SMX(25 日线)
2. M:收盘上穿 TT1 且 J<55
只要满足其中一条就算入选。这里有一个需要留意的错位:主图上那个红点图标用的是「14 日线上穿 25 日线」,而选股用的是「7 日线上穿 25 日线」。两条线不是同一条,周期差了一半——按选股筛出来的票,主图上未必会在同一位置有对应的标记。这件事在第八节还会再说一次。
七、它好在哪
技术部分讲完了,说点实在的。
一是把「均线方向」这件费眼的事变成了颜色。 判断均线是在往上还是往下,本来要盯着斜率看,容易看错。这套公式直接分成红绿两段,扫一眼就知道 14 日线眼下朝哪边走。颜色能传达的速度,是数值做不到的。
二是阶梯线顺手给了一个参考位。 每次方向翻转,台阶就跳到那个位置的价位上。这条水平线可以直接当成「这一段的起点在哪」,比自己去翻 K 线找起点省事。
三是三层信息画在一张图上,各管一摊。 红绿台阶管方向、三条均线管格局、反包柱和图标管时机,互相不抢位置。主图看格局、副图和选股管筛选,一套公式能覆盖从「看单只票」到「跑全市场」两个场景。
四是主图和副图的条件是对得上的。 副图那份 XG 里的 M,和主图那个「买」字完全是同一个条件,不存在「副图给了信号、主图没反应」这种自相矛盾的情况。
五是只用软件自带的数据,不接外部源。 开高低收、成交量、成交额,全是通达信现成的,换台电脑装上去就能跑,不用配数据接口。
六是公式短,看得懂。 主图 41 行、副图 10 行,参数都摆在明面上,没有那种嵌套很多层、看一眼就放弃的黑箱结构。想改哪个数字,直接改就行。
适合的用法:拿它做「趋势方向 + 短周期时机」的两层检查。先看 14 日线是红是绿、那段加粗红线在不在(格局对不对),再去看有没有反包柱、有没有「买」字。选股那份文件可以定期跑一遍,把刚站上 25 日线的票筛出来,再回主图逐个看格局。
不适合的用法:不要把它当成完整的交易系统。它完全不含量能强弱,也不含资金和筹码结构,信息维度是偏窄的。另外主图上多个标记看着热闹,但它们共用同一套均线,本质是同源的,别把「同一天出现好几个标记」误解成多重确认。最后,「短顶」这个提示太稀疏,指望它第一时间提示高点是不现实的。
公式源码(主图)
TT2:=DMA((((HIGH+LOW)+(CLOSE*2))/4.15),0.9);
TT1:=REF(EMA(TT2,3),1);
RSV:=(CLOSE-LLV(LOW,9))/(HHV(HIGH,9)-LLV(LOW,9))*100;
K:=SMA(RSV,3,1);
D:=SMA(K,3,1);
J:=3*K-2*D;
LC:=REF(CLOSE,1);
RSI:=((SMA(MAX((CLOSE-LC),0),3,1)/SMA(ABS((CLOSE-LC)),3,1))*100);
FF:=EMA(CLOSE,3);
AA1:=AMOUNT/VOL;
BB1:=L<AA1*0.9;
CC1:=(C-REF(C,1))/REF(C,1)*100>1.2;
DD1:=L<MA(C,5)*0.921;
EE1:=VOL<MA(V,5)*1.5;
FF1:=BB1 AND CC1 AND DD1 AND EE1;
F:=100*(C-REF(C,1))/REF(C,1);
P1:=IF(C<REF(O,1) AND F<0,1,0);
P2:=IF(C<REF(O,2) AND F<0,1,0);
TT3:=P1=0 AND REF(P1,1)=1 AND P2=0 AND REF(P2,1)=1;
TT4:=P1=1 AND REF(P1,1)=0 AND P2=1 AND REF(P2,1)=0;
(公式太长,展示不便,获取信息见文末)
免责声明:本指标公式仅供技术分析与学术交流,所有数据均为模拟测试结果,不构成任何投资建议或决策依据。使用者应独立判断并承担风险,严禁用于违法违规用途。如涉及侵权,请及时联系删除,本平台概不承担由此引发的任何责任。
如果文章对你有帮助,欢迎点赞、收藏、转发给更多人哦~(点赞不会被你的好友发现)
发消息回复 “牛涨临界点” 可领取今日指标公式/软件工具源文件!
历史文章链接