通达信TQFLAG怎么看?不复权、前复权与后复权状态核对

适用范围:通达信公式编辑器中的复权状态核对。TQFLAG返回当前数据的复权状态,官方定义列出0为不复权、1为前复权、2为后复权。它是数据环境字段,不是涨跌方向,也不是一个可以直接替代收盘价的价格序列。

TQFLAG复权状态核对示意,非软件截图
原创状态核对示意,非通达信客户端截图。

一、TQFLAG回答什么问题

公式中出现CLOSE、REF(CLOSE,1)或其他历史价格时,复权设置会影响这些序列的数值。TQFLAG用于读取当前状态:0是不复权,1是前复权,2是后复权。先把状态记录下来,再比较公式输出,才能知道两次核对是否使用了同一数据口径。

这三个数字只是状态编码。把TQFLAG当成涨跌幅、价格或交易信号会改变字段含义。官方条目没有在这一行展开所有品种、周期和界面的显示细节,因此文章只使用已明确的三种编码。

二、最小观察公式

ADJUST_STATE:TQFLAG;
PRICE:CLOSE;
PREV:REF(CLOSE,1);

把三个输出放在同一公式中,切换客户端的复权选项后分别记录结果。ADJUST_STATE用于确认环境,PRICE和PREV用于观察价格序列。切换后如果状态数字没有变化,不要先假设公式错误,先确认当前品种、周期和客户端是否真的切换了数据口径。

三、为什么涨幅核对会受它影响

用(CLOSE/REF(CLOSE,1)-1)*100计算的是当前所选价格序列的相对变化。前复权、后复权和不复权会改变历史序列的连接方式,所以同一日期的数值可能不同。若行情栏采用另一参考价,也不能只看结果数字就断言公式失效。

核对表至少保存品种、周期、复权状态、当前CLOSE、REF(CLOSE,1)和输出值。已有涨幅公式与行情栏核对文章可继续查看基准差异;本文把复权状态单独作为前置检查。

四、常见误用

第一种误用是把TQFLAG=1写成“上涨”,其实1表示前复权。第二种误用是把状态字段参与价格计算,却没有记录状态变化。第三种误用是跨品种比较时忽略某些品种的价格字段和复权支持差异。第四种误用是把复权后的历史价格直接解释成交易所当日实际成交价。

如果公式需要不复权价格,应该在客户端固定选择并记录状态;不能仅靠看到一个编码就把其他数据自动还原。文章没有验证所有版本的界面交互,也不提供个股买卖建议。

来源与限制

原始依据:通达信用户红宝书及官方《通达信公式-全部函数》中的TQFLAG、CLOSE和REF条目。公式和检查表为本站原创,未做不同版本和全部品种的客户端实测。

TQFLAG用于确认数据环境,不代表趋势、收益或未来价格。公式导入步骤可参考通达信公式导入教程。