通达信期货指标公式和股票侧最大的区别不在函数,而在基础数据本身:期货有主力合约切换,有成交量与持仓量的双轨,有夜盘与日盘的分段。这三点决定了同一段写法在股票上成立、在期货上未必成立。这篇按数据源、公式构成、口径校验三层来讲。

一、期货侧的三处数据差异

第一处是合约连续性。股票只有一个代码,期货每个品种有多个不同到期月的合约,行情是分段拼接的。拼接方式不同,同一时点的历史价格就不同,基于价格差值计算的指标自然跟着变。

第二处是双轨量能。股票只有成交量,期货还有持仓量,前者反映换手,后者反映资金留驻。只写成交量而不看持仓量,会丢掉一半信息。

第三处是交易时段。夜盘与日盘按品种不同,开收盘时间不一致。用固定的时段假设去筛选数据,会把不同品种的行情错位对齐。

差异点 股票侧 期货侧
标的唯一性 单一代碼 多合约按月份分段
量能字段 仅有成交量 成交量与持仓量并存
交易时段 统一日盘 夜盘加日盘,品种各异

写公式前先确认数据来源是主连、指数还是单个合约,这比改任何一个参数的影响都大。

二、价格类计算的写法

均线、区间高低点这些纯价格函数,在期货上可以直接沿用股票的写法,函数名与参数语义一致。

{ 均线组:与股票侧写法相同 }
短: MA(CLOSE, 5);
中: MA(CLOSE, 10);
长: MA(CLOSE, 20);

{ 区间高低点 }
区间高: HHV(HIGH, 20);
区间低: LLV(LOW, 20);
波幅: (区间高 - 区间低) / 区间低 * 100;

写通达信期货指标公式时,最后一句把波幅换算成相对值,这一步在期货上比在股票上更重要。不同品种的报价单位差别很大,同一个绝对波幅在不同品种上的意义完全不同,换算成百分比之后才有可比性。

跨品种比较时不要用绝对价差。螺纹与原油的报价单位不同,直接比较两者的价差没有意义。若要做跨品种的强度对比,统一换算成百分比变化。

三、双轨量能的写法

成交量与持仓量要分开放,不要合并在一条线里。它们各自表达的意思不同,合起来会互相抵消。

{ 两条线分列 }
量能比: VOL / MA(VOL, 20);
仓量比: OPENINTEREST / MA(OPENINTEREST, 20);

{ 量仓同增:两者都高于均量 }
量仓同增: 量能比 > 1 AND 仓量比 > 1;

{ 量增仓减 }
量增仓减: 量能比 > 1 AND 仓量比 < 1;

量仓组合的四种状态含义各不相同,写成一个单一的强度值会丢失方向信息。把它们拆成四个独立条件,各自命名,后续组合时更清楚。

状态 成交量 持仓量 常见解读方向
量仓同增 升 升 新资金进入
量增仓减 升 降 原有头寸离场
量减仓增 降 升 交投转淡但头寸沉淀
量仓同减 降 降 参与度整体回落
通达信期货指标公式写完之后,还要注意持仓量字段的可用性受数据源限制。部分数据源在历史区间上不提供持仓量,或只对主力合约提供。写公式前先用一段历史数据测试字段是否取得到值,取不到时输出为空而不是报错。

四、连续合约的口径问题

主力合约切换会在切换日造成价格断层。若直接对拼接后的序列做差值或均线计算,切换日本身会产生一个跳变,容易被误读成行情变化。

{ 检测相邻两根的跳变幅度 }
跳变: ABS(CLOSE - REF(CLOSE, 1)) / REF(CLOSE, 1) * 100;
异常跳变: 跳变 > 3;

这个阈值不是普适的,只是用来把异常点找出来人工看一眼。真正的处理方式是选择合适的数据源:有些数据源提供后向或前向的连续调整,切换日的断层已被抹平。

若拿不到调整后的连续序列,替代做法是在切换日附近断开计算,或者把统计区间限制在单一切换周期之内。两种做法都会损失一部分样本,但比让断层污染结果要好。

五、时段过滤的写法

需要把特定时段的行情排除在外时,可以用时间函数构造条件。

{ 按小时过滤:只保留某段时段 }
时段内: HOUR >= 9 AND HOUR < 15;

{ 组合进其他条件 }
条件: 时段内 AND 量能比 > 1;

这里只是示意时间过滤的写法。不同品种的夜盘时段不同,具体的小时区间要以实际交易时间为准,用参数封装起来比写死在公式里更好维护。

六、参数与边界

参数 作用 调大后的影响
均线周期 控制平滑程度 更平滑,信号更滞后
区间根数 决定高低点覆盖范围 极值更极端,突破条件更难满足
量能阈值 控制放量判定松紧 阈值提高,触发次数减少

三个参数的调节方向都是「调大则更严格或更滞后」,但作用的位置不同。均线周期影响的是趋势判断的灵敏度,区间根数影响的是边界的位置,量能阈值影响的是参与度判定。分清楚这一点,调参时才不会互相干扰。

七、验证顺序

第一步,先在小样本上确认字段都取得到值。持仓量为空、时段函数无输出这类问题,越早发现越省事。

第二步,把每个条件单独输出成一条线,观察各自的密度。合在一起不亮时,能快速定位是哪一个条件不成立。

第三步,用同一品种的不同合约跑一遍,比较结果是否一致。差异过大通常指向连续合约的处理问题。

第四步,把公式放到不同周期上验证。期货的夜盘在日线上被合并,在小时线上会单独成根,同一条件的触发位置可能不同。

相关的字段与函数说明见 指标原理与参数;跨平台移植时的差异对照见 跨平台对比与公式转换;基础语法见 公式编写教程。

期货指标公式能不能用,取决于数据口径有没有对齐,而不取决于函数写得复不复杂。把合约来源、复权方式、时段这三件事先说清楚,后面的计算才有意义。

本文讲的是公式写法与口径校验,不构成任何操作建议。软件版本与函数支持范围请以实际安装的通达信为准。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。