TD 序列(Tom DeMark Sequential) 指标的计数部分,作用是在 K 线上方标注连续同向走势的计数数字,用来提示趋势衰竭

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
{--- 上涨逻辑 ---}
A1:=C>REF(C,4);
NT:=BARSLASTCOUNT(A1);
TJ11:=NT=9;
DIST9:=BARSLAST(TJ11);
TJ13:=ISLASTBAR AND NT>=5 AND NT<=8;
AY:=(BACKSET(TJ11>0,9) OR BACKSET(TJ13>0,NT))*NT;

{上涨计数1-8显示为洋红色}
DRAWTEXT(AY=1,H*1.01,'1'),COLORMAGENTA;
DRAWTEXT(AY=2,H*1.01,'2'),COLORMAGENTA;
DRAWTEXT(AY=3,H*1.01,'3'),COLORMAGENTA;
DRAWTEXT(AY=4,H*1.01,'4'),COLORMAGENTA;
DRAWTEXT(AY=5,H*1.01,'5'),COLORMAGENTA;
DRAWTEXT(AY=6,H*1.01,'6'),COLORMAGENTA;
DRAWTEXT(AY=7,H*1.01,'7'),COLORMAGENTA;
DRAWTEXT(AY=8,H*1.01,'8'),COLORMAGENTA;

{上涨计数9及后续显示为绿色}
DRAWTEXT(DIST9=0,H*1.01,'9'),COLORGREEN;
DRAWTEXT(DIST9=1,H*1.01,'10'),COLORGREEN;
DRAWTEXT(DIST9=2,H*1.01,'11'),COLORGREEN;
DRAWTEXT(DIST9=3,H*1.01,'12'),COLORGREEN;
DRAWTEXT(DIST9=4,H*1.01,'13'),COLORGREEN;

{--- 下跌逻辑 ---}
B1:=C<REF(C,4);
NT0:=BARSLASTCOUNT(B1);
TJ21:=NT0=9;
DIST09:=BARSLAST(TJ21);
TJ23:=ISLASTBAR AND NT0>=5 AND NT0<=8;
AY1:=(BACKSET(TJ21>0,9) OR BACKSET(TJ23>0,NT0))*NT0;

{下跌计数1-8显示为绿色}
DRAWTEXT(AY1=1,H*1.01,'1'),COLORGREEN;
DRAWTEXT(AY1=2,H*1.01,'2'),COLORGREEN;
DRAWTEXT(AY1=3,H*1.01,'3'),COLORGREEN;
DRAWTEXT(AY1=4,H*1.01,'4'),COLORGREEN;
DRAWTEXT(AY1=5,H*1.01,'5'),COLORGREEN;
DRAWTEXT(AY1=6,H*1.01,'6'),COLORGREEN;
DRAWTEXT(AY1=7,H*1.01,'7'),COLORGREEN;
DRAWTEXT(AY1=8,H*1.01,'8'),COLORGREEN;

{下跌计数9及后续显示为洋红色}
DRAWTEXT(DIST09=0,H*1.01,'9'),COLORMAGENTA;
DRAWTEXT(DIST09=1,H*1.01,'10'),COLORMAGENTA;
DRAWTEXT(DIST09=2,H*1.01,'11'),COLORMAGENTA;
DRAWTEXT(DIST09=3,H*1.01,'12'),COLORMAGENTA;
DRAWTEXT(DIST09=4,H*1.01,'13'),COLORMAGENTA;

由AI对上面的公式进行了修改

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
{========================================}
{  TD序列(汤姆·迪马克) 改进版 主图公式     }
{  优化点: 个股趋势过滤 + VSA量价确认      }
{         + 真COUNTDOWN(TD13) + ATR止损    }
{  颜色: 红=买/涨  绿=卖/跌 (A股习惯)      }
{  信号无未来函数, 建议用前复权数据         }
{========================================}

{--- 可调参数(想调直接改数字) ---}
N:=4;     {SETUP比较周期, 经典TD=4}
M:=9;     {SETUP完成计数}
P:=13;    {COUNTDOWN完成计数}

{==========================================}
{ 1. SETUP计数 (与原公式一致, 保留NT==9信号)}
{==========================================}
UP:=C>REF(C,N);            {上涨条件: 收盘>4根前收盘}
DN:=C<REF(C,N);            {下跌条件: 收盘<4根前收盘}
NTU:=BARSLASTCOUNT(UP);    {上涨连续计数}
NTD:=BARSLASTCOUNT(DN);    {下跌连续计数}
SELL_SETUP:=NTU=M;         {卖SETUP完成(上涨9根)}
BUY_SETUP :=NTD=M;         {买SETUP完成(下跌9根)}

{==========================================}
{ 2. 个股趋势过滤 (替代指数状态, 实证更有效)}
{==========================================}
MA60:=MA(C,60);
UP_TREND:=C>MA60;                     {多头}
DN_TREND:=C<MA60;                     {空头}
SELL_OK:=SELL_SETUP AND UP_TREND;     {多头末端才给卖点}
BUY_OK :=BUY_SETUP  AND DN_TREND;     {空头末端才给买点}

{==========================================}
{ 3. VSA量价确认 (契合威科夫/量价分析)      }
{==========================================}
VMA20:=MA(V,20);
SELL_VOL:=V<REF(V,1) OR V<VMA20;      {滞涨: 第9根不继续放量}
BUY_VOL :=V<VMA20;                    {止跌: 第9根缩量}
SELL_SIG:=SELL_OK AND SELL_VOL;       {最终卖出信号}
BUY_SIG :=BUY_OK  AND BUY_VOL;        {最终买入信号}

{==========================================}
{ 4. 真COUNTDOWN (TD13, 替换原公式伪"13")   }
{    卖CD: SETUP后累计 CLOSE<=REF(C,N)的棒 }
{    买CD: SETUP后累计 CLOSE>=REF(C,N)的棒 }
{    出现反向SETUP自动取消(重置)            }
{    注: "创新高/新低重置"为可选, 见文末说明}
{==========================================}
DBS:=BARSLAST(SELL_SETUP);                        {距上次卖SETUP}
IN_SELL_CD:=BARSLAST(SELL_SETUP)<BARSLAST(BUY_SETUP); {处于卖CD阶段}
SELL_CNT:=SUM(C<=REF(C,N), DBS);                  {卖SETUP后累计合格棒}
TD13_SELL:=IN_SELL_CD AND SELL_CNT=P AND DBS>=P;  {卖COUNTDOWN满13}

DBB:=BARSLAST(BUY_SETUP);                         {距上次买SETUP}
IN_BUY_CD:=BARSLAST(BUY_SETUP)<BARSLAST(SELL_SETUP);{处于买CD阶段}
BUY_CNT:=SUM(C>=REF(C,N), DBB);                   {买SETUP后累计合格棒}
TD13_BUY:=IN_BUY_CD AND BUY_CNT=P AND DBB>=P;     {买COUNTDOWN满13}

{==========================================}
{ 5. ATR止损止盈标记                        }
{==========================================}
TRR:=MAX(MAX(H-L,ABS(H-REF(C,1))),ABS(L-REF(C,1)));
ATR:=MA(TRR,14);
SELL_STOP:=H+2*ATR;        {卖信号后上破此价止损}
BUY_STOP :=L-2*ATR;        {买信号后下破此价止损}

{==========================================}
{ 6. 绘制                                   }
{==========================================}
{SETUP进行中计数 1-8 (灰, 实时显示进度)}
DRAWNUMBER(UP_TREND AND BETWEEN(NTU,1,8), H*1.008, NTU),COLORGRAY;
DRAWNUMBER(DN_TREND AND BETWEEN(NTD,1,8), L*0.992, NTD),COLORGRAY;
{SETUP完成 第9根 (卖=绿 / 买=红)}
DRAWNUMBER(UP_TREND AND NTU=M, H*1.012, M),COLORGREEN;
DRAWNUMBER(DN_TREND AND NTD=M, L*0.988, M),COLORRED;
{最终信号文字 (经趋势+量价双重过滤)}
DRAWTEXT(SELL_SIG, H*1.03, '卖出'),COLORGREEN;
DRAWTEXT(BUY_SIG , L*0.97, '买入'),COLORRED;
{真COUNTDOWN完成 TD13}
DRAWTEXT(TD13_SELL, H*1.04, 'TD13'),COLORGREEN;
DRAWTEXT(TD13_BUY , L*0.96, 'TD13'),COLORRED;
{止损价位数字}
DRAWNUMBER(SELL_SIG, SELL_STOP, SELL_STOP),COLORGREEN;
DRAWNUMBER(BUY_SIG , BUY_STOP , BUY_STOP ),COLORRED;

{==========================================}
{ 使用说明:                                }
{ 1. 通达信公式管理器→新建→主图叠加→粘贴    }
{ 2. 建议前复权数据使用                     }
{ 3. 颜色统一: 绿=卖/跌, 红=买/涨           }
{ 4. 信号=经"趋势+量价"过滤后的 卖出/买入    }
{    TD13=真COUNTDOWN完成(更强的反转确认)    }
{ 5. 可选创新高重置(学术严谨版):            }
{    在TD13_SELL条件加 AND HHV(H,DBS)<REF(HHV(H,9),DBS)}
{    (即SETUP后未创SETUP区间新高)           }
{==========================================};