写通达信主升浪选股公式的时候,最常见的卡点不是语法,而是不知道该把「主升浪」翻译成哪几个可判断的条件。这个词在口语里指的是价格从盘整转成持续上行的那一段,而公式只认数值之间的比较关系。翻译得对不对,直接决定输出的是不是你要的那一段。
下面按「条件构成 → 逐项写法 → 落地到预警 → 失效边界」讲一遍。语法以通达信金融终端个人版为准,函数在不同版本里的可用性与参数会有差别,写之前先在自己软件里试算。
一、主升浪要拆成价格、量能、时间三段
把「主升浪」这个描述拆开,通常能落到三个观察角度上。通达信主升浪选股公式就是把这三个角度写成条件,再用逻辑运算连起来:
| 角度 | 观察什么 | 可写的表达式方向 |
|---|---|---|
| 价格 | 当前价相对某个均线系统或前期区间的位置 | 均线多头排列、价在均线上方、创出区间新高 |
| 量能 | 当前成交量相对近一段均量的倍数 | 放量、量能持续在均量线上方 |
| 时间 | 上述状态维持了多少根 K 线 | 用计数或连续判断控制持续时间 |
三段里价格是最先要定的。均线系统用什么周期,或者用不用均线而改用区间高点,这两条路给出的位置不一样。前者对趋势的连续性更敏感,后者对突破的那一下更敏感。先定下这一段,量能与时间才有所依附。
二、价格条件的几种写法与差别
通达信主升浪选股公式里价格这一段的写法分歧,集中在用均线还是用区间上:
{ 写法一:均线多头排列 }
MA5 := MA(CLOSE, 5);
MA10 := MA(CLOSE, 10);
MA20 := MA(CLOSE, 20);
多头 := MA5 > MA10 AND MA10 > MA20;
{ 写法二:价格创近期区间新高 }
高点 := HHV(HIGH, 40);
突破 := CLOSE >= REF(高点, 1);
{ 写法三:价在长期均线上方且短期均线向上 }
上方 := CLOSE > MA(CLOSE, 60);
上行 := MA(CLOSE, 20) > REF(MA(CLOSE, 20), 1);
趋势 := 上方 AND 上行;
三种写法圈出的位置形态不同。均线多头排列成立的位置是一段区间,不是单根;区间新高成立的是突破的那一根;第三种是一段持续区间。这决定了你后面怎么用:想圈区间就用第一或第三种,想圈那一个突破点就用第二种。把它们混在一起输出,会得到一份既有区间又有单点的清单,不容易看出规律。
三、量能条件:倍数与参照都要先定
量能这一段有两个变量要定:倍数卡在哪里,参照取几根的均量。两个都定了,条件才写得具体。
{ 量能条件:当前量大于近 5 根均量的 1.5 倍 }
均量 := MA(VOL, 5);
放量 := VOL > 均量 * 1.5;
{ 若要求量能持续在均量上方,用连续判断 }
量能持续 := EVERY(VOL > MA(VOL, 5), 3);
这里的 1.5 是设定值,不是从数据里算出来的结论。它表示你要把条件卡在「比近期均量高一半」这一档,写 1.2 或 2.0 得到的是不同档位的清单。同一个市场里不同标的的成交量基数差别很大,一套倍数硬套到全部标的上,会出现有些标的几乎不出信号、有些标的天天出信号的情况。可行的做法是按标的的类型分开设定,或者改用相对自身历史分位的写法。
VOL 是一整天的量,分钟线上是一根分钟线的量,两者的均量与倍数不能互相搬用。换周期时这一步要重新定。四、从条件到预警:落地时的三个设置项
通达信主升浪选股公式验证完成后,下一步是把它挂到预警上。预警有三处设置会直接影响你用起来的感觉:
- 监控范围:装在自定义板块还是全部标的。范围越大,每次计算量越大,出信号的数量也越多
- 触发方式:按 K 线收盘触发还是盘中实时触发。前者只在收完后出信号,后者盘中会随最新价变化,同一根 K 线可能反复触发
- 计算周期:与公式里写的周期数对应。公式用 20 周期均线,预警挂在日线上与挂在 5 分钟线上得到的是两套结果
这三项里最容易出问题的是触发方式。盘中实时触发会在同一根 K 线内多次触发,而公式里的 CLOSE 那时还没定。想要「收完再出」的效果,就把触发方式设成按收盘触发;想要盘中早点知道,就要接受同一根 K 线可能重复出现的事实。
五、失效边界:条件成立不等于那一段出现
通达信主升浪选股公式输出的是满足条件的位置,这里有两处必须写清的边界:
- 条件的成立是事后的:公式用的
CLOSE、VOL在收盘后才固定,历史区间上看起来成立的信号,在当时那一刻未必成立 - 同一段行情在复权口径不同时结果不同:除权除息会让均线系统与区间高点都发生变化,公式挂载的图表口径要与你看图的口径一致
还有一类误判来自停牌与新股。停牌期间没有 K 线,REF 与 MA 取到的是停牌前后拼接起来的数据,均线在那一段会失真;新股上市初期数据根数不足,均线还没形成,这一段通常不出信号,用的时候要把这一段排除在外再判断公式的表现。
六、验证顺序:先看亮法,再看数量,最后看形态
验证可以按三步走,次序不要颠倒:
- 先看亮法:把每个子条件单独输出,确认各自亮的是区间还是单根,与你的预期是否一致
- 再看数量:合成之后数一下一段区间里出多少个信号。太多说明条件太松,一个没有说明某个子条件恒为假
- 最后看形态:把信号位置与主图对照,看它们落在什么样的形态上,这一步判断的是条件翻译得对不对
次序颠倒会浪费很多时间。先看形态再看亮法,遇到不对时会分不清是条件翻译错了还是子条件本身写错;先把每一条的亮法确认下来,后面每一步就都有确定的底子。
验证用的时间区间建议覆盖一段包含转势的行情。只挑单边上行的一段去验,多数趋势类条件都会看起来成立,看不出条件之间的差别;把区间拉到包含盘整与回落,同一个条件在哪些位置不该亮却亮了,才看得出来。这一步的作用是暴露条件的边界,不是评价条件好不好。
还有一点关于条件的数量。通达信主升浪选股公式里把三段条件用 AND 连起来时,每加一段,能同时满足全部条件的位置就少一批。三段全用上,输出往往稀稀落落;只留价格与量能两段,输出会多不少。要几段取决于你打算怎么用这份清单:当入口用就少留几段,当筛选结果用就多留几段。这一段不是公式的问题,是用法的问题。
本文讲的是条件构成与写法差异,只作技术研究口径,不构成对任何标的的判断。阈值与周期数的取值属于设定,不同设定对应不同的清单,这属于公式的设定,不属于行情的结论。
站内还有 选股公式与预警 的其他条目,指标原理与参数 里讲参数取值怎么定,指标回测与风险验证 里讲信号怎么用历史数据核,可对照查看。
