通达信60分钟选股公式选不出结果,先别急着改条件。这一档卡住的地方有两处:本机的分钟数据到底有没有落地,条件选股器里的分析周期到底选了哪一档。这两处不成立,公式写得再对,返回的也是空集。

下面按数据、周期、时点、写法四层拆开讲。文中的菜单项与文件位置以通达信金融终端的常规布局为准,不同版本在措辞和位置上会有差别。

一、60 分钟线是从哪一段数据合成出来的

本机行情数据目录 vipdoc 下按市场分文件夹,日线、1 分钟线、5 分钟线各自是一套文件,60 分钟不在其中。15、30、60 分钟这三档属于合成周期,切到该周期时由 5 分钟线现算。所以「本机有没有 60 分钟数据」这个问题,实际问的是「本机有没有这一段的 5 分钟线」。

5 分钟线的来源是盘后数据下载。入口在「系统」菜单下的「盘后数据下载」,面板分日线、分钟线两组,分钟线那组能勾的档位由本机版本决定,看到的多为 1 分钟线与 5 分钟线两项。只勾日线、不勾分钟线,公式管理器里装再多选股公式,60 分钟这一档照样选不出东西。

下载范围同样影响结果。面板里可以选全部,也可以填起止日期。选全部会把历史补齐,耗时按网络与标的数据量走;只补最近一段,往前翻就没有数据。公式里带 REF(C,N) 回看的条件,在数据起点附近会返回无效值,那一段算出来的结果不可用。

判断方法很简单:随便打开一只票,切到 60 分钟周期,按方向键往左翻。翻到某个日期就翻不动了,说明数据从那里开始。这个起点早于你公式里最长那个回看窗口,条件才有意义。

二、条件选股器里的「分析周期」改的是哪一层

一条通达信60分钟选股公式,落地的位置是条件选股器,而选股器上有一项容易被忽略的设置。按 Ctrl+T 打开条件选股器,公式名列表右侧有「分析周期」下拉。这个下拉决定的不是公式怎么算,而是公式在哪一套 K 线上算。选日线,公式里的 C 是当日收盘价;选 60 分钟,C 是那一根 60 分钟 K 线的收盘价。

同一段源码,换一个分析周期就是另一个公式。这与公式本身写得好不好无关,是取值口径整体平移了一层。MA(C,20) 在日线上是 20 日均线,在 60 分钟上是 20 根 60 分钟 K 线,折成交易日是 5 个交易日。参数表里那个 20 没有变,含义变了。

分析周期 C 的含义 MA(C,20) 覆盖的时长
日线 当日收盘价 20 个交易日
60 分钟 该 60 分钟 K 线收盘价 20 根,折 5 个交易日
30 分钟 该 30 分钟 K 线收盘价 20 根,折 2.5 个交易日

这张表解释了另一件事:为什么把一套日线条件的分析周期改成 60 分钟之后,选出来的票会明显变少。均线的窗口从 20 个交易日缩到 5 个交易日,斜率与穿越的判定都跟着变紧,条件更难同时满足。这时候先要问的不是「条件是不是设错了」,而是「这套条件本来是给哪个周期写的」。

三、盘中与收盘后,同一根 60 分钟 K 线是两个数

A 股一天交易四小时,60 分钟周期一天落四根 K 线:9:30 到 10:30、10:30 到 11:30、13:00 到 14:00、14:00 到 15:00。切到 60 分钟图上数一下当天几根就明白。

盘中 10:50 跑选股,第二根 K 线只走了 20 分钟,它此刻的 C 是 10:50 的现价,不是 11:30 的收盘价。这根 K 线还在长,收盘价、最高价、成交量全都在变。所以盘中选出的名单会随分钟推移伸缩。

收盘之后,四根 K 线都定稿,结果才稳定。想让盘中结果与收盘结果对得上,做法是把条件里的最后一根换成已完成的 K 线,也就是用 REF(C,1) 而不是 C。代价是信号晚一根,换来的是可重复。

这一条在复核时最容易被误判。盘中筛出 12 只、收盘后只剩 3 只,不全是公式失效,很大一部分差异来自最后一根 K 线在盘中是动态的。把两次数值的差异按「最后一根是否定稿」分一遍,再判断公式本身有没有问题。

四、在日线公式里嵌 60 分钟条件:跨周期引用

通达信60分钟选股公式在写法上有两条路:一条是把分析周期交给选股器,公式本身不写周期;另一条是在日线公式里嵌一处跨周期引用。日线公式里的 C 是日线收盘,与 60 分钟无关。要在日线公式中读到 60 分钟的口径,得用跨周期引用,写法是把周期后缀接在引用串后面,形如 "MACD.DIF#MIN60",与站内讲过的 #WEEK、#MONTH 是同一套语法。分钟档的后缀名以公式编辑器里给出的提示为准,不同版本在拼写上可能有细微差别。

这条语法有两条硬限制。第一,被引用的一侧必须是有输出线的指标,行名要与指标里写的那一行完全一致,写成一个小数或者一个中间变量引用不到。第二,被引用的指标要先在本机公式管理器里存在,跨周期引用不会替你加载一个没装的公式。

还有一个容易混的点:把选股器的分析周期选成 60 分钟,与在日线公式里写一处 #MIN60,两者不等价。前者让整条公式在 60 分钟上算;后者只在那一个引用的位置换成 60 分钟,其余部分仍在日线上算。两种写法出来的名单不会一样,选哪种看你要问的是哪一个问题。

五、一份可运行的 60 分钟条件写法

下面这段放在条件选股公式里用,分析周期选 60 分钟。它描述的是「短均线在长均线之上、价格站在短均线之上、量能没有缩」这一组同时成立的关系,不涉及任何方向判断。

{ 60 分钟口径:均线抬升 + 量能未缩,供条件选股器调用 }
P:=20;
M1:=MA(C,5);
M2:=MA(C,P);
V1:=MA(V,5);
COND:M1>M2 AND C>M1 AND V1>=REF(V1,1) AND C>REF(C,1);

几处写法上的讲究。末行必须是一条逻辑判断的输出,写成 COND:... 而不是画线语句,否则选股器读不到条件值。中间量用 := 赋值,不进入输出区,选股器不会把它们当成条件。参数 P 默认给 20,在参数表里提成可调项之后,改窗口不用动源码。

如果要把这条关系嵌进日线选股,改法是把均线部分换成跨周期引用,逐条对应过去:

{ 日线公式里引用 60 分钟均线,MA 的默认参数需与本机一致 }
M1:="MA.MA1#MIN60";
M2:="MA.MA5#MIN60";
COND:M1>M2 AND C>M1;

这里的 MA1、MA5 是通达信自带 MA 指标里的两条输出线名,行名对不上就会返回无效值,输出区会显示成空。改完先在公式管理器里点「测试公式」,输出区逐行列出中间量,哪一行是空的,一眼能看到。

六、复核三步:数据、周期、时点

结果与预期不符,按下面三步查,每步只排除一类原因。

  1. 查数据:打开一只候选票的 60 分钟图往前翻,看数据起点落在哪天。起点晚于公式最长回看窗口,条件在早期区间算不出来,筛出的池子会偏小。
  2. 查周期:回到条件选股器确认「分析周期」是 60 分钟。同一段源码切到日线再跑一遍,两次的数量差就是周期口径带来的差。
  3. 查时点:收盘后 15:30 之后再跑一次,与盘中那一次对比。差异集中在最后一根 K 线上下,说明公式本身没问题。

公式管理器里的通路是这样:Ctrl+F 打开「公式管理器」,选「条件选股公式」下的「其他类型」,点「新建」,粘贴源码,点「测试公式」。测试通过再回选股器调用,顺序别倒过来,没通过测试的公式在选股器里调不出来。

与站内 通达信公式报错与卡顿排查 里讲的分层排查是同一套思路:先确认输入,再确认口径,最后才动条件。

七、会让 60 分钟结果失真的几种情形

数据只下了一部分标的。盘后下载面板里选的是「全部」还是某几个板块,决定本机有多少只票的 5 分钟线。缺数据的那部分票不会出现在结果里,池子小了,条件看着更严。

次新股 K 线根数不够。MA(C,20) 在 60 分钟上要 20 根 K 线,折成交易日是 5 天。上市不足 5 天的票,这条均线算不出来,条件恒为无效。筛选条件里加一道上市天数的门槛,比在公式里写一堆容错更省事。

停牌与复牌。停牌期间没有 K 线,复牌首日的指标会在缺口处跳一下。停牌前后两天的数值并排看,差异来自数据断点,不是条件变化。

除权除息。分钟线数据按原始成交价落盘,不像日线那样可以切换复权。跨除权日比较同一只票的 60 分钟指标,价格轴已经折过,比较结论不可用。要做这类比对,把区间挪到除权日之前或之后,不要跨过去。

把 60 分钟当成更灵敏的日线。周期缩短四倍,指标窗口也缩短四倍,噪声同样放大四倍。这是周期换算带来的结果,与公式写得好不好无关。

通达信60分钟选股公式能给出的,是「在本机已有的分钟数据上、按 60 分钟 K 线算出来的一组条件是否同时成立」。它不解决数据缺口的补齐,也不替人判断这些条件是否合适。把数据、周期、时点这三层先对齐,再谈条件本身,比反复改源码有效。

站内相关:通达信选股公式与预警 讲条件选股器的调用与结果复核,通达信公式编写教程 讲中间量输出与参数化写法,通达信指标原理与参数 讲周期换算对参数含义的影响。

本文只作技术研究口径,内容是指标字段的取数、周期口径与验证方法,不涉及也不构成对任何标的的判断。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。