找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 股票 资源 源码
查看: 170|回复: 0

通达信策略池差集

[复制链接]

1411

主题

96

回帖

4万

积分

管理员

积分
48062
发表于 2025-10-24 22:04:17 | 显示全部楼层 |阅读模式

在通达信策略池中,“差集”是用于对不同策略池结果进行逻辑运算的功能,核心作用是从一个策略池的结果中,剔除掉另一个策略池已包含的股票,最终得到“只在A池存在、不在B池存在”的股票集合。这在筛选中常用于“排除特定类型股票”,例如“从初选股票中排除高风险股”“从强势股中排除近期已大涨的股票”等。
一、差集的基本逻辑
假设有两个策略池:
  • A池:筛选出的“候选股票”(例如“均线多头排列的股票”)
  • B池:需要排除的“剔除股票”(例如“近3天涨幅超过20%的股票”)
通过“差集(A-B)”运算,最终结果为:A池中存在、但B池中不存在的股票(即“均线多头排列且近3天涨幅≤20%的股票”)。
二、策略池中使用差集的步骤1. 准备两个基础策略池
首先需要创建两个独立的策略池(或使用已有策略池),分别作为“被减池(A)”和“减池(B)”。
  • • 例:
    • • 策略池A:公式为“MA(C,5)>MA(C,10) AND MA(C,10)>MA(C,20)”(均线多头排列)。
    • • 策略池B:公式为“(C/REF(C,3)-1)*100>20”(近3天涨幅超20%)。
2. 新建“差集策略池”
在策略池界面(通过“功能→策略池”打开),按以下步骤操作:
  • 步骤1:插入“差集”节点
    在左侧工具栏中,找到“逻辑运算”分类下的“差集”节点,拖拽到策略池编辑区。
  • 步骤2:连接基础池与差集节点
    • • 将“策略池A”的输出线连接到“差集”节点的第一个输入口(“被减集合”,即A)。
    • • 将“策略池B”的输出线连接到“差集”节点的第二个输入口(“减集合”,即B)。
      (注意:输入口顺序不能反,否则会得到“B-A”的错误结果)
  • 步骤3:设置差集节点参数(可选)
    双击“差集”节点,可设置“保留数量”(如限制最终结果最多N只股票)、“排序方式”(如按涨幅从高到低排序)等,默认保留全部符合条件的股票。
3. 运行策略池并查看结果
  • • 点击策略池界面的“运行”按钮,系统会自动计算:
    差集结果 = 策略池A的股票 - 策略池A与B的交集(即A中剔除B包含的股票)。
  • • 结果可通过“输出节点”(拖拽“输出”节点连接到差集节点,命名后运行)保存到指定板块,或直接在界面查看。
三、实际应用场景举例
  • 1. 排除自选股中的垃圾股
    • • A池:自选股板块(全部自选股)。
    • • B池:公式“FINANCE(33)<0”(净利润为负的亏损股)。
    • • 差集(A-B):自选股中剔除亏损股后的股票。
  • 2. 筛选“首次符合条件”的股票
    • • A池:当日符合“MACD金叉”的股票。
    • • B池:昨日已符合“MACD金叉”的股票(需通过“历史回测”或“昨日结果保存”实现)。
    • • 差集(A-B):当日新出现MACD金叉、且昨日未金叉的股票(排除持续金叉的股票)。
四、注意事项
  • 1. 策略池运行顺序:差集依赖A、B两个池的结果,需确保A、B池先运行完毕(策略池会自动按连接顺序执行,无需手动调整)。
  • 2. 数据时效性:若A、B池涉及实时数据(如涨跌幅),需确保数据更新后再运行差集,避免结果偏差。
  • 3. 空集处理:若B池包含A池的所有股票,差集结果为空;若B池为空,差集结果等于A池全部股票。
通过差集功能,可灵活实现“先选后筛”的逻辑,让策略池结果更贴合实际需求。

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋| 股指标网 ( 渝ICP备2024026571号-1 )

GMT+8, 2025-12-8 00:41 Powered by Discuz! X3.5