起因

通达信自带的条件选股、公式选股能覆盖大部分筛选需求,但一旦逻辑复杂到公式语言不好表达(多数据源、复杂统计),或者想直接用别人做好的成熟策略,就要走“插件选股”这条路:把第三方 DLL 放进客户端,由宿主调用它完成筛选。这篇记录给通达信(券商版)安装一个选股插件的完整步骤。

插件选股的原理:宿主 + DLL

通达信把选股能力开放成了插件接口:第三方按接口规范开发 DLL(导出约定的入口函数、声明自己的参数),宿主程序启动选股功能时枚举 Plugin 目录,把 DLL 加载进自己进程,再把股票池的行情数据逐只交给插件去算,插件返回“入选/剔除”,命中的股票汇成结果列表。理解这个结构,下面的操作步骤就都好解释了:

  • 插件是个进程内 DLL,复制进 Plugin 目录就完成“安装”;
  • 客户端启动时枚举一次目录,所以中途放进去的插件要手动“刷新列表”才看得见;
  • 插件参数是插件自己声明的,改参数就是把值透传给 DLL,含义以插件作者的说明为准。

复制插件文件到Plugin文件夹

在通达信(我以招商证券客户端为例)目录下找到Plugin(如果没有,新建一个),然后把插件的DLL文件复制粘贴到Plugin目录下

启用插件选股

打开通达信,依次点

功能-》选股器-》插件选股-》刷新插件-》选中对应的插件-》然后点击执行选股

下面是我的招商证券PC客户端程序上的操作截图:

刷新列表,找到插件

将插件DLL复制到Plugin后,启动程序无法看到插件,可以点刷新列表,然后就能看到插件了,选中对应的插件,可以修改对应的插件参数,然后点击 执行选股

执行选股

踩坑记录与注意事项

  • DLL 位数要和客户端一致:进程内插件位数不匹配(比如 32 位客户端配 64 位 DLL)根本加载不进去,表现为刷新后列表里始终没有——先确认客户端是 32 位还是 64 位;
  • 插件来源要可信:DLL 一旦加载进通达信进程,就拥有进程的全部权限,等于在运行别人写的任意代码,只用可靠来源的插件;
  • 放了却看不到,点“刷新列表”:宿主只在启动时枚举一次目录(原理见上文),这是“复制了却找不到插件”的根因;
  • 参数含义看插件说明:参数由插件自声明,宿主只是透传,设错了筛选结果就不对;
  • 券商定制版有兼容差异:不同券商客户端的内核版本不完全一样,插件在 A 家能用 B 家不行,多半是接口版本对不上,找对应版本的插件。