很多用户想知道通达信怎么自己编写简单的选股公式,通达信本身就内置了一套公式管理系统,不需要编程基础也能完成基础选股。它的公式编辑器支持中文变量名、常用行情函数和逻辑运算,编写完成后可以直接在“条件选股”中调用,对沪深A股、自选股、板块股进行。通达信选股公式的特点是运行在本地客户端,响应速度快,支持日线、周线分钟线等多周期,也能结合成交量、均线、MACD、KDJ等常见指标组合条件。下面从公式入口、语法基础、简单示例到实际选股逐步说明。
打开公式管理器是编写选股公式的第一步。 通达信主界面按快捷键Ctrl+F,或者点击“功能”,选择“公式系统”中的“公式管理器”。弹出窗口左侧找到“条件选股公式”文件夹,展开后选择其他类型”,点击右侧“新建”。这时会出现公式编辑窗口,需要填写公式名称、,参数可以留空,也可以按 N(1,100,20) 格式添加。公式类型要确认为“条件选股公式不要选成“技术指标公式”,否则无法在选股器中调用。
通达信公式的基本语法并不复杂。 语句以英文分号 ; 结束,变量赋值用 :=,例如 MA5:=MA(C,5);如果使用 : 则会输出指标线,条件选股公式通常输出线,最后一行直接写逻辑条件即可。常用函数包括:C表示收盘价,O 开盘价,H 最高价L 最低价,V ;MA(X,N) 求N周期简单移动平均;EMA(X,N) 求指数移动平均;REF(X,N) 引用N周期前的数值;CROSS(A,B) 表示上穿BHHV(X,N) 求N周期内最高值;V(X,N) N周期内最低值;COUNT(条件,N) N周期内满足条件的次数。逻辑与用 AND,或用 OR,非用 `NOT。编写时注意括号和分号都用英文半角符号。
一个最简单的均线金叉选股公式可以这样写:
text
MA5:=(C,5);
MA:=MA(C,10);
CROSS(MA5MA10);
这段代码表示5日均线上穿10日均线在公式编辑器中粘贴后,点击“测试公式”,如果提示测试通过,就可以保存。保存时给公式起一个容易识别的名称,比如“均线金叉选股”。之后在通达信顶部菜单点击“功能”,进入“选股器”中的“条件选股”,在公式列表里找到“均线叉选股”,点击“加入条件”,再设置选股范围,例如“沪深A股”或某个板块,选择周期为日线,最后点击“执行选股”。系统会自动扫描并列出符合条件的股票,可以进一步加入自选股或新建板块保存结果。
如果想筛选放量突破的股票,可以写得更具体一些:textN:=20;
V>MA(V,20)*1.5 AND C>REF(HHV(H,N),1) AND C>O;
这个公式的含义是:当日成交量大于20日均量的1.5倍,同时收盘价突破过去20个周期的最高价,当日收阳线。其中 REFHV(H,N),) 表示昨天往前推20个周期的最高价,避免把今天的新高算进去。编写时可以按自己的习惯调整倍数,例如把 .5 改成 2,选股结果会更严格。类似地,还可以写“站上60日线”:
text
C>MA(C,60 AND REF(C,1)<=REF(MA(C,),1);
它表示今天收盘价站上60日均线而昨天收盘价还在60日均线下方,适合寻找刚突破长期均线的品种。
编写选股公式时有几个细节需要特别注意。 第一,选股前最好先下载完整的历史数据,点击“系统”菜单中的“后数据下载”,把日线数据补齐,否则均线、最高价计算结果可能不准确。第二,尽量不要使用未来函数,例如ZIG、PEAK、TROUGH等,它们会引用未来数据,导致选股结果看起来很好实际无法复现。第三,选股公式的最后一行应当是逻辑判断,返回成立或不成立,不要写成绘图公式或买卖信号公式。第四,公式不要与系统已有公式重名,参数设置要与源码中的变量对应,例如源码里用了 N,就要在参数列表中定义 N` 的最小值、最大值和默认值。第五选股结果只是缩小观察范围,不能直接等同于买入建议,还需要结合基本面、市场环境和个股位置综合判断。
通达信公式管理器的另一个便利之处是支持修改和组合。 如果发现选股结果太多,可以在原公式中增加条件例如加上 C>MA(C,20) 弱势股,或者加上 V>MA(V,5) 过滤缩量股。也可以把一个公式拆成多个条件,在“综合选股”中叠加使用,不必把所有逻辑都写在一个公式里。对于初学者来说,先掌握均线、成交量、价格突破这三类条件,编写出大部分简单选股公式。之后,再尝试MACD、KDJ、RSI等指标的金叉死叉,以及 COUNT、EVERY、EXIST 等统计函数,就能逐步建立自己的选股体系。







