一、坑位图鉴:三大坑对号入座
| 坑 | 本公式的位置 | 系列首见 |
|---|---|---|
| 截断语法错 (直接编译报错) | VAR2 末尾 "AND 30,REF(VAR1,1)" | 第 9 期涨停回踩 "A5:=VA6:=" 同款 |
| 死代码链 (写了没用上) | VAR9→VAR13 整条五个变量 | 第 12 期主力吸筹抄底 D1→主升→D3 同款 |
| WINNER 未来函数 (历史信号漂移) | VAR7 获利盘单日变动穿 30% | 第 9/15/16 期 未来函数常客 |
二、坑①:VAR2 根本无法编译
VAR2:=VAR1>REF(VAR1,1) AND REF(VAR1,1)<REF(VAR1,2) AND 30,REF(VAR1,1);
"AND 30" 后面凭空一个逗号加孤零零的 REF(VAR1,1)——通达信直接报错,这公式贴进去连保存都过不了。
先说 VAR1 是什么:把那一长串 SMA 展开,它就是 KDJ 的 J 线(3*K-2*D,参数9,3,3),装神秘而已。再看 VAR2 的残骸结构,原意基本可以断定是:J 线拐头向上、且拐头前 J 值低于 30——低位超卖反转,很常规的写法。复制粘贴时把 "<" 弄丢了,一句话碎成两截。修复版就按这个原意补回:REF(VAR1,1)<30。
三、坑②:五个变量的死代码链
VAR9:=REF(CLOSE,1)/REF(CLOSE,2)>=1.095; ← 昨日涨停
VAR10:=OPEN>REF(CLOSE,1) AND CLOSE>OPEN; ← 今日高开收阳
VAR11:=HIGH>CLOSE AND OPEN>LOW AND LOW>=REF(CLOSE,1); ← 不回补缺口
VAR12:=VOL>REF(VOL,1); ← 放量
VAR13:=VAR9 AND VAR10 AND VAR11 AND VAR12; ← 组合完毕
密探二次启动:VAR2 AND VAR8 AND VAR7 AND VAR6; ← VAR13 呢?没用上。
整条"涨停次日强承接"链路,逻辑完整、写得还挺讲究——然后在最后一行被作者忘了。五个变量白写,删掉信号一根不变。讽刺的是,这条死链恰恰是全公式里最贴合"二次启动"这个名字的部分:名字叫二次启动,真正描述二次启动的代码没接上,接上的是一堆超卖拐头指标。
四、坑③:VAR7 未来函数,老熟人了
VAR7 用 WINNER 算"获利盘单日变动超 30%"。筹码函数依赖持仓成本,历史信号会随后续成交改写——第 9、15、16 期都栽在这,不展开了。回测里这一项无法复现,只能剔除并标注。
五、修复版回测:修完也就图个不亏
| 组合 | 信号数 | 20日平均收益 | 胜率 |
|---|---|---|---|
| 只用 VAR2(J 低位拐头) | 3756 | -0.67% | 38.6% |
| 修复版组合(VAR2+VAR6+VAR8) | 91 | +0.35% | 39.6% |
两个信息量很大的数字:
J 线低位拐头单用是亏钱货:3756 个信号,平均 -0.67%,胜率不到四成。弱市里"超卖拐头"接的多半是下跌中继,这跟第 13 期拈花指的教训一致。
VAR6 是守门员,但守出来的也只是"不亏":VAR6(那个快慢线差值超 45 才计数的自造强度指标)触发率仅 3.8%,把 3756 个信号滤到 91 个,平均收益从 -0.67% 拉回 +0.35%。方向是过滤对了,但胜率还是 39.6%——修复到位也只是从"亏钱"变成"白忙"。弱市里超卖反转这套逻辑,本身赚不到大钱。
六、怎么修
① VAR2 补回丢失的 "<30":VAR2:=VAR1>REF(VAR1,1) AND REF(VAR1,1)<REF(VAR1,2) AND REF(VAR1,1)<30;
② 死代码二选一:要么删掉 VAR9~VAR13,要么把 VAR13 接进选股条件——建议接上,它才是"二次启动"本体。
③ VAR7 保留但知情:WINNER 信号会漂移,别拿历史回测当实盘依据。
修复版公式(补回 VAR2 缺失比较符 + 死链 VAR13 接入选股;WINNER 为未来函数历史信号会漂移;可直接复制进通达信):
VAR1:=3*SMA((CLOSE-LLV(LOW,9))/(HHV(HIGH,9)-LLV(LOW,9))*100,3,1)-2*SMA(SMA((CLOSE-LLV(LOW,9))/(HHV(HIGH,9)-LLV(LOW,9))*100,3,1),3,1);
VAR2:=VAR1>REF(VAR1,1) AND REF(VAR1,1)<REF(VAR1,2) AND REF(VAR1,1)<30;
VAR3:=(HHV(HIGH,9)-CLOSE)/(HHV(HIGH,9)-LLV(LOW,9))*100-70;
VAR4:=(CLOSE-LLV(LOW,9))/(HHV(HIGH,9)-LLV(LOW,9))*100;
VAR5:=IF(SMA(SMA(VAR4,3,1),3,1)+100-(SMA(VAR3,9,1)+100)>45,SMA(SMA(VAR4,3,1),3,1)+100-(SMA(VAR3,9,1)+100)-45,0);
VAR6:=VAR5>REF(VAR5,1) AND REF(VAR5,1)<REF(VAR5,2);
VAR7:=CROSS(ABS(WINNER(CLOSE)-WINNER(OPEN))*100,30);
DIF:=EMA(CLOSE,12)-EMA(CLOSE,26);
DEA:=EMA(DIF,9);
MACD:=(DIF-DEA)*2;
VAR8:=MACD>0;
VAR9:=REF(CLOSE,1)/REF(CLOSE,2)>=1.095;
VAR10:=OPEN>REF(CLOSE,1) AND CLOSE>OPEN;
VAR11:=HIGH>CLOSE AND OPEN>LOW AND LOW>=REF(CLOSE,1);
VAR12:=VOL>REF(VOL,1);
VAR13:=VAR9 AND VAR10 AND VAR11 AND VAR12;
XG:VAR2 AND VAR8 AND VAR7 AND VAR6 AND VAR13;
注:接入 VAR13 后信号会更稀有(涨停次日承接本就少见),追求信号数量可去掉 VAR13 用原四条件版。WINNER 为筹码函数(未来函数),仅作技术验证。
把这张三大坑图鉴存好:截断语法错、死代码链、未来函数——你手里公式但凡中一条就得警惕,这只"密探"一次中了仨。

