通达信EXIST和EVERY怎么用?窗口内出现与连续成立区别

EXIST与EVERY条件窗口内出现和连续成立区别示意,非软件截图
原创计算流程示意,非通达信客户端截图。

发布日期:2026年10月10日。EXIST和EVERY都带有条件窗口,但回答的问题不同:EXIST关心窗口内是否至少出现过一次,EVERY关心窗口内是否一直成立。本文用真值序列和边界检查,避免把“出现过”误写成“连续满足”。

适用说明:函数定义按通达信用户红宝书《通达信公式-全部函数.docx》EXIST与EVERY条目核对。表格是原创逻辑模型,不使用真实行情,也没有在特定客户端实测。

一、EXIST回答“窗口里有没有出现”

RAW:CLOSE>OPEN;
HAS_EXIST:EXIST(RAW,5);

官方示例说明EXIST(RAW,10)用于判断10个周期内是否存在阳线。只要窗口中有一次条件成立,结果就可能为真;它不要求每一根都满足。

二、EVERY回答“窗口里是否一直成立”

RAW:CLOSE>OPEN;
ALL_EVERY:EVERY(RAW,5);

EVERY要求窗口内一直存在指定条件,N应为正数且小于总周期数。若窗口中有一根为假,连续成立的解释就不能继续沿用。

三、用同一组真值对照

最近5根真值 EXIST模型 EVERY模型 原因
1,1,1,1,1 1 1 至少出现且全部成立
1,1,0,1,1 1 0 窗口有假值但仍出现过真值
0,0,0,0,0 0 0 没有成立条件
0,0,0,0,1 1 0 最后一根出现一次,不等于连续

表格用于理解逻辑关系。若公式中X有无效值,或者数据不足N个周期,应先核对有效范围和客户端对边界的处理。

四、和COUNT、BARSLASTCOUNT怎么区分

  • EXIST只回答是否至少出现一次。
  • EVERY要求整个窗口都成立。
  • COUNT返回窗口内成立的次数。
  • BARSLASTCOUNT返回当前连续成立段的长度。

如果需求是“最近5根出现过一次”,用EXIST更接近问题;如果需求是“最近5根都满足”,用EVERY;如果还要知道出现几次,再考虑COUNT。

五、公式排错步骤

  1. 先把RAW条件单独输出并记录真值。
  2. 确认N是常量、窗口方向和当前周期。
  3. 分别输出EXIST与EVERY,不要用同一别名覆盖。
  4. 再接入选股或图形显示,检查是否混入其他条件。

窗口统计可参考COUNT函数教程,条件表达式可参考IF函数说明和选股公式入门;基础操作入口见通达信基础使用教程。所有示例仅用于学习,不构成投资建议。

来源与限制

原始资料:通达信用户红宝书EXIST与EVERY条目。本文未对特定版本、特殊数据源和缺失值行为作完整实测,不承诺收益或兼容性。