把「私募风格」四个字丢进通达信的公式编辑器,它不会变成任何一行可运行的代码。通达信私募选股公式这件事的落点只有一处:把一句口语化的描述,翻译成编辑器认得出来的量能与价格条件。名称不参与计算,函数与参数才参与。下面把这条翻译链拆开,从需求一直走到预警设置与结果复核。

一、先说清边界:「私募」不是公式能识别的概念

在通达信的函数表里,找不到与私募对应的字段。客户端能取到的是行情与财务数据:收盘价用 CLOSE,成交量用 VOL,成交额用 AMOUNT,流通股本用 FINANCE(7) 一类的财务字段,涨跌幅、换手率由这些字段组合算出。没有哪一个函数返回「这只标的属于某类资金」这样的结论。

能落地的部分是把描述转成条件。「成交量比前面一段时间放大」可以写成 VOL 大于若干周期均量的倍数;「价格站在均线上方」可以写成 CLOSE 大于 MA(CLOSE,N);「换手率落在某个区间」可以写成由 VOL 与流通股本算出的比值落在两个阈值之间。这些条件各自都是编辑器里可以写的算式,组合起来就是一份条件选股。

二、拆解第一步:把描述写成可计算的条件

拆解的动作是逐句改写。一句话里出现形容词,就把它换成一个带阈值的不等式;出现「一段时间」,就换成一个具体的周期数;出现「相对」,就换成两个量的比值。改写完之后,每一句都应当能落到一个函数或一次运算上。

口语描述 可计算条件 用到的字段与函数
量能明显放大 VOL 大于 5 日均量的 1.5 倍 VOL、MA
价格站在均线上方 CLOSE 大于 MA(CLOSE,20) CLOSE、MA
换手活跃 换手率落在 3% 到 8% 之间 VOL、FINANCE(7)
脱离前期区间 CLOSE 等于 20 日最高价 CLOSE、HHV
均线排列向上 MA5 大于 MA10 且 MA10 大于 MA20 MA

这张表是拆解的中间产物,不是结论。列出来的每一行都要回到函数说明里核实:参数个数对不对、字段名在当前版本里是否存在、返回值的量纲是什么。量纲这一处要对齐,VOL 的单位是手,FINANCE(7) 取的是流通股本,两者相除之后还要按单位做换算,换手率的算式才站得住。

三、拆解第二步:从条件到完整公式

通达信私募选股公式里,条件之间用逻辑运算符连接。AND 表示同时成立,OR 表示任一成立,NOT 表示取反。把上面几行条件串起来,就得到一份可以直接贴进公式编辑器的条件选股源码:

{量能 + 均线 + 换手率三类条件的组合}
N1:=5;
N2:=20;
HSL:=VOL/FINANCE(7)*100;
T1:=VOL>MA(VOL,N1)*1.5;
T2:=CLOSE>MA(CLOSE,N2);
T3:=HSL>3 AND HSL<8;
T4:=MA(CLOSE,5)>MA(CLOSE,10) AND MA(CLOSE,10)>MA(CLOSE,20);
XG:T1 AND T2 AND T3 AND T4;

源码里这一段的前四行是中间变量,最后一行是输出。XG 这个输出名在条件选股里表示选中条件,取值为 1 表示成立。中间变量用冒号加等号声明,这个名字不会画在图上,只有最后一行用单个冒号时才会成为输出。两类冒号写混,是导入后「公式不报错但结果不对」的一处来源。

条件之间的连接方式会改变结果的数量。T1 到 T4 全部用 AND 连接,成立的要求最严;把其中一条换成 OR,成立的范围立刻放宽。调整连接方式比调整阈值更直接,改一个连接符就能看出条件之间的松紧关系。写出第一版之后,先用一个条件单独跑一遍,再把条件两两叠加,每一次叠加之后看结果数量怎么变,条件之间的相互约束关系就能看清。

四、公式管理器里的落点:类别、参数与测试

投放到客户端的落点分两处。条件选股类的公式要先在公式管理器里新建,按 Ctrl+F 打开公式管理器,选择条件选股类别,把源码贴进编辑框,点「测试公式」跑一遍语法。语法通过之后保存,公式才出现在条件选股的公式列表里。类别选错会让公式在列表里找不到,这一点在导入外部公式时同样适用。

{投放与自检步骤}
1. Ctrl+F 打开公式管理器
2. 新建公式,类别选「条件选股」
3. 贴入源码,参数列表按需填写
4. 点「测试公式」,看提示是否为语法通过
5. 保存后打开条件选股,在公式列表里选中它
6. 执行一次,看结果数量是否符合预期

把这些阈值做成参数而不是写死在源码里,后续调整不必改代码。参数列表里给每个参数填上最小值、最大值与默认值,源码中直接引用参数名即可。参数名与中间变量的名字不要重名,重名时编辑器给出的提示可能出现在另一行,排查时容易走偏。

五、预警设置的入口与两者的差别

预警的入口与条件选股不在一处。条件选股是对一批数据跑一次筛选,出的是名单;预警是让客户端在数据刷新时按条件持续判断,条件成立时弹出提醒。通达信的预警设置在预警菜单下,也可以在公式相关设置里找到预警设置这一项,新建预警时选中条件选股类公式,再设定作用范围与刷新方式。

{预警设置的几个落点}
入口:   预警菜单 → 预警设置
公式:   选中已保存的条件选股公式
范围:   按板块或按自选设定作用对象
方式:   定时刷新或随行情刷新
输出:   提醒内容与是否记录到预警列表

预警公式与条件选股公式的写法一致,差别在使用方式。同一段源码在条件选股里执行一次就结束,在预警里会被反复调用,因此算式里含有较高开销的运算时,刷新间隔要留出余量。把周期与范围先定小一点,跑通之后再扩大,避免第一次就设成全场刷新。

预警设置里的作用范围按板块或自选来定,不是直接指定某个代码。先把范围设成一个小板块,跑通之后再换到自选列表,排查时的受影响范围会收窄。

六、公式测试通过但选不出结果,按这个顺序查

这一步是整条链路里最花时间的环节。公式测试通过只说明语法合法,不代表条件能选到结果,也不代表选到的结果符合预期。排查按从结果反推的顺序走,先确认结果为空还是数量异常,再往条件里逐条拆。

{排查顺序:从结果数量反推条件}
现象              先查                              再看
结果数量为 0      条件之间的 AND 是否过严            逐条单独执行,看哪一条先归零
结果数量 0        数据是否已下载                    公式管理器的数据下载与补数
数值全部相同      变量与输出是否重名                源码里的冒号写法
换手率超范围      FINANCE(7) 是否有值               财务数据是否补齐
预警不触发        作用范围是否为空板块              预警设置里的范围与刷新方式
条件选股列表找不到 公式类别是否正确                 公式管理器里的类别属性

按这个顺序走,多数情况在第二步就能定位。数据未下载这一项容易被跳过,现象是公式算出来全是同一个值或者干脆没有输出,与源码错误的表现相似。先在公式管理器里补一次数据,再跑条件选股,能排除掉这一类。

语法通过的提示只覆盖函数名与括号配对,不覆盖业务逻辑。条件之间用错连接符、阈值写成不可能成立的组合、量纲没有对齐,这三类问题都在语法检查之外,要靠在条件选股里实际跑一次才能看到。

七、结果复核:把选出来的名单再核一遍

结果出来后按条件逐条对照。取名单里的前几条,手工把源码里的每个中间变量算一遍,看 T1 到 T4 是否都为真,HSL 的数值是否落在设定的区间里。手工核对几条之后,量纲与阈值的问题就能暴露出来。核对的重点放在边界上:正好等于 8 的换手率是否被排除,因为算式写的是小于而不是小于等于。

通达信私募选股公式的完整链路上,名称与效果承诺都不参与计算,参与计算的只有字段、函数、阈值与连接符。把描述翻成条件、把条件贴进公式管理器、把结果拿回条件里复核,这三步走完,一段自己写得清、也查得动的公式才算成型。阈值取多少、条件留几条,按自己要观察的形态来定,改动之后重跑一次条件选股,结果的变化自己就对上了。

本文只作技术研究口径,不涉及也不构成对任何标的的判断。

站内还有 选股与预警设置 的条目,公式编写教程 里讲逻辑运算符与变量声明,报错排查 里讲测试提示的对照表,可对照查看。

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