Skip to content

Smart 用户说明书:概述

1. Smart 是什么

Smart 是服务端程序与客户端公式 DLL 共同工作的行情增强工具。

  • Smart.exe / Smart 主程序负责登录、下载、订阅、缓存、解析和保存数据。
  • smart.dll 是大智慧客户端公式 DLL,公式中通过 smart@函数名(参数...) 调用。
  • 客户端 DLL 不直接解析行情文件,而是通过本机 RPC 调用 Smart 服务端,再把返回的时间序列写回大智慧公式结果。
  • RPC 默认端口为 1088,配置项为 RpcPort。正常使用时无需手工配置。

Smart 的典型用法是:用户在大智慧公式中调用 smart.dll 函数访问 Smart 的 SPR、L2A、L2D、L2W 数据,再把这些公式用于指标、动态显示牌、股票池和预警,实现盘中自动筛选、监控和盘后复盘。

典型调用链:

text
大智慧公式 smart@BuyAmount(...)
        -> smart.dll
        -> 本机 RPC
        -> Smart 服务端
        -> 下载/缓存/计算数据
        -> 返回当前股票当前周期的结果序列
        -> 指标/动态显示牌/股票池/预警使用结果

1.1 数据背景说明

公开资料里通常把 Level-2 理解为比普通五档行情更细的行情层。上证所 Level-2 产品资料提到,Level-2 在基础行情上增加盘口订单、逐笔成交、成交与订单关联等信息,用来揭示交易细节;深交所 STEP 行情接口规范把逐笔行情分为逐笔委托和逐笔成交,并按发生顺序发送;上交所 LDDS 竞价 Level-2 接口资料也把快照、逐笔成交、逐笔委托、逐笔合并等作为不同数据类型。

按这个理解,Smart 不是简单多几个公式函数,而是把这些更细的行情层拆成不同用途:

数据层网上资料里的常见理解Smart 中对应模块
事件层已经被行情软件识别出的盘中异动、买卖大单、封板、撤单等事件。SPR 短线精灵
分时统计层把 L2 信息按分钟或当前周期汇总后的平均价、委托量、成交量、撤单量等指标。L2D
逐笔成交/委托分析层从更细的成交和委托记录里按金额、时间、价格、主动性过滤。L2A/L2B
逐笔委托层新增委托、撤销委托、买卖方向、竞价和拆单等原始委托行为。L2W

因此,看 Smart 数据时要先判断自己想研究哪一层:看盘中异动用 SPR,看分钟级 L2 统计用 L2D,看大单成交和主动买卖用 L2A/L2B,看挂单、撤单、竞价和拆单用 L2W。不同层的数据不能简单相加,因为它们来源层级和统计口径不同。

参考公开资料:

2. 运行前提

使用公式函数前应确认:

  • Smart 主程序已经运行,并且相关模块已授权。
  • 对应数据已下载、订阅或允许函数调用时自动触发下载。
  • 大智慧已加载正确版本的 smart.dll
  • 当前公式处在股票上下文中;大部分 DLL 函数从当前股票自动取得证券代码,不需要在参数里传代码。

模块权限通常按服务划分:

模块常见权限/服务说明
SPRKS_SMART / KS_SMARTT短线精灵事件
L2A/L2BKS_L2A / KS_L2B 及 TDX 对应项逐笔成交、大单、主动成交统计
L2DKS_L2D 及 TDX 对应项L2 分钟聚合统计
L2W/ORDKS_ORD 及 TDX 对应项逐笔委托、下单撤单统计

这些模块的数据不是同一类数据,也不是一个授权包里的同一项功能。SPR、L2A/L2B、L2D、L2W 的数据源、下载方式、订阅方式、存储格式和计费授权都相互独立;实际可用哪些菜单和函数,以当前账号购买并授权的服务为准。

3. 基本配置

基本配置 菜单负责 Smart 的基础运行环境,不属于某一个子功能模块。它解决的是“账号能不能登录、权限能不能识别、大智慧路径对不对、DLL 能不能连接、程序窗口和服务器连接是否正常”这些前置问题。只有这些基础项正确,后面的 SPR、L2A、L2D、L2W 函数才有稳定运行的条件。

3.1 基本配置菜单项

菜单项用途方法
kingwa账户设置设置 Smart 授权账号。Smart 根据该账号获取可用业务,例如 SPR、L2A、L2D、L2W。点击后输入 Kingwa 账号信息;修改后重新连接或重启程序,让授权信息重新加载。
大智慧账户设置设置大智慧账号和密码。Smart 需要它连接行情/数据服务,进行下载、订阅和历史数据访问。点击后输入大智慧账号和密码;首次启动缺少账号时程序也会提示填写。
设置大智慧主程序指定大智慧安装位置。Smart 需要知道大智慧主程序路径,才能安装 smart.dll、定位大智慧用户目录和板块目录。点击后选择大智慧主程序 .exe;菜单会显示当前路径。路径错误时重新选择。
编辑配置文件打开 Smart 主配置文件,处理菜单没有覆盖的高级配置。点击后用系统默认编辑器打开配置文件;改完保存,必要时重启 Smart。配置格式错误时,程序会提示行号和列号。
保存窗口布局保存当前窗口、停靠面板、日志区域等界面布局。调整好窗口后点击;下次启动按保存的布局恢复。
窗口置顶让 Smart 窗口保持在其他窗口上方,便于盘中观察日志和状态。勾选开启,再点一次取消。
我的功能查看当前账号已授权的业务列表。点击后弹出当前可用业务;若某模块菜单没有出现,先用这里确认是否有权限。
DLL通讯端口设置 smart.dll 连接 Smart 服务端的 RPC 端口。默认是 1088点击后输入 1000-60000 范围内端口;程序会重启 DLL RPC 服务并刷新状态。只有端口冲突或多套 Smart 并行时才需要改。
安装smart.DLL 当前版本...安装或更新大智慧目录下的 smart.dll。当 Smart 检测到 DLL 版本落后时,基本配置 菜单标题可能显示 基本配置(DLL更新)关闭正在使用该 DLL 的大智慧客户端后点击安装;安装失败通常是大智慧仍占用 DLL 文件。
随系统启动让 Smart 随 Windows 登录自动启动,减少忘记启动导致公式无数据的问题。需要管理员权限;勾选开启,再点一次取消。

3.2 行情子菜单

基本配置 -> 行情 处理的是 Smart 与行情服务器的连接策略。

菜单项用途方法
重连服务器当前行情连接异常、数据停止更新时,手动重新连接服务器。点击后 Smart 重新发起连接;适合临时断线、网络恢复后使用。
采用内置服务器列表使用程序内置的行情服务器列表,而不是外部或历史配置里的服务器列表。勾选后保存配置;程序提示需要重启,重启后才按新服务器列表连接。
断开后自动重启行情连接断开后自动重启程序,减少长时间无人值守时的数据中断。勾选开启;适合需要全天候接收行情和下载任务的环境。

3.3 启动时检查的基础配置

除菜单项外,Smart 启动时还会检查一些基础配置。普通用户通常不需要每天修改,但需要知道它们的用途。

配置项用途方法
自定义数据目录保存公式函数历史结果、自定义数据和 Slfdata 可读取的数据。它不是 SPR/L2A/L2D/L2W 原始数据目录。首次启动缺少该目录时会提示选择;以后可通过编辑配置文件调整。
窗口置顶保存 窗口置顶 菜单状态。菜单勾选会自动写入配置。
自动重启时间设置程序在指定时间执行自动启动/复位任务。默认包含早盘前后的时间点。通过编辑配置文件调整;不熟悉时保持默认。
关注股票代码前缀决定 Smart 默认关注哪些市场/代码段,例如深市、创业板、沪市、科创板。通过编辑配置文件调整;股票池异常时检查该项。
下载立即保存文件控制下载过程中是否更及时地保存文件。通过编辑配置文件调整;一般保持默认。
是否共享L1行情控制是否把 L1 行情写入共享内存,供其他组件读取。通过编辑配置文件调整;不需要共享行情时可关闭。
程序重启加载当日订阅控制程序重启后是否恢复当天订阅。通过编辑配置文件调整;需要盘中自动恢复订阅时开启。
LogLevel控制日志级别。级别越详细,日志越多。通过编辑配置文件调整;排错时提高日志级别,正常使用保持默认。
DataServerMode数据服务器模式。开启后很多本地客户端功能会受限。一般用户不要开启;只有专门做数据服务器时才配置。

3.4 配置顺序建议

首次安装或换机器时建议按这个顺序配置:

  1. 设置 kingwa账户设置,确认 Smart 授权账号正确。
  2. 设置 大智慧账户设置,保证行情和数据服务能登录。
  3. 设置 大智慧主程序,让 Smart 能安装 smart.dll 并定位大智慧目录。
  4. 安装或更新 smart.dll
  5. 确认 DLL通讯端口,默认 1088 不冲突就不要改。
  6. 设置各模块的数据目录,例如 SPR、L2A/L2D/L2W 的 选择数据目录
  7. 我的功能 确认已授权模块。
  8. 再配置子功能的自动下载、订阅和公式函数。

4. 子功能菜单共性

SPR、L2A/L2B、L2D、L2W 是独立功能,通常独立销售、独立授权、独立下载、独立订阅。理解这些共性后,切换模块时主要关注数据口径和函数名。

4.1 模块独立授权

SPR、L2A/L2B、L2D、L2W 是不同数据产品,买了其中一个模块不代表能使用其它模块。实际能看到哪些菜单、能调用哪些函数,以账号购买和服务端授权为准。

菜单类别用途什么时候用
模块独立菜单每类数据是独立功能,购买和授权也独立。查看自己购买了哪些模块、进入对应模块操作时。
手册/函数手册不同模块的数据口径和参数编码不同,必须给用户一个入口核对函数含义。不确定函数参数、返回值或模块口径时。
历史数据网盘部分 L2 历史数据体积大,不能只靠盘中订阅即时补齐。新装环境、换机器、缺历史数据、需要补较长历史区间时。
下载全部初次建库或批量补数据,避免逐只股票手工下载。新装、换目录、盘后批量维护、发现大面积缺数据时。
下载板块只维护自己的股票池,减少下载量和磁盘占用。只关心某个策略板块、自选板块、行业板块时。
下载单个修复单只股票缺数据,避免为了一个股票重跑全量任务。某只股票公式为空、查看数据发现缺文件时。
自动下载参数把重复的盘后下载自动化,避免每天手工点菜单。每天固定时间补 SPR/L2A/L2D/L2W 数据时。
选择数据目录数据量大,需要指定磁盘位置;各模块文件格式不同,需要分目录管理。初次配置、迁移磁盘、整理数据文件时。
打开数据目录快速检查文件是否存在、日期是否完整、路径是否设置错。公式无结果、下载后想确认文件、排查路径问题时。
查看/显示数据在写公式前确认 Smart 已经读到数据,区分“没数据”和“公式写错”。公式返回空值、结果异常、验证某天某股数据时。
跟踪函数调用公式调用发生在客户端,问题不一定能从界面看出来,需要日志记录参数和返回情况。公式慢、空值、结果不符合预期时临时开启。
保存函数历史结果有些历史公式计算很重,重复扫描逐笔数据成本高,需要缓存“计算结果”。大范围日线回看、同一函数同一参数反复使用时。
订阅/取消订阅让行情服务器先补当前交易日已发生的数据,再主动推送后续数据到 Smart。需要当天数据立即可用、并持续接收后续 L2A/L2W 数据时。
模块特有设置不同模块有不同数据结构、性能成本和统计口径,不能用一个全局设置代替。调整大单分级、下载并发、缓存范围、内存释放策略时。

4.2 手册和历史数据入口

每个子功能菜单通常都有两个帮助入口:

菜单项作用
手册 / 函数手册打开对应模块的在线说明。
历史数据网盘打开历史数据下载或共享位置。

不同模块的菜单文字略有差异,例如 SPR 是 精灵函数手册,L2D 是 L2D手册,L2A/L2B 是 L2B手册,L2W 是 L2W手册

为什么要有这两个入口:

  • 手册/函数手册 解决“怎么写公式、参数是什么、返回值是什么意思”的问题。
  • 历史数据网盘 解决“本地没有历史数据”的问题。
  • 手册不提供数据,网盘不解释函数;两者作用不同,所以分开。

4.3 数据下载

各模块都把下载分为“批量下载”和“单股下载”。L2A/L2B、L2W 还支持按板块下载。

功能SPRL2A/L2BL2DL2W说明
下载全部支持支持支持支持下载全部关心股票或模块定义范围内的数据。
下载单个支持支持支持支持通常下载当前股票或输入/选择的单只股票。
下载板块-支持-支持选择 .blk 板块文件后批量下载。

下载数据前应先确认模块权限、数据目录和关心股票范围。每类数据需要对应授权;没有购买或没有开通该模块时,菜单可能不出现,下载也不会执行。若下载时没有反应,先检查 我的功能、Smart 日志和模块菜单中的数据目录是否正确。

这里的“下载”指下载并保存模块原始数据或解析后的基础数据,例如 SPR 事件、L2A/L2B 逐笔/大单数据、L2D 分钟聚合数据、L2W 逐笔委托数据。它和后面的“保存函数历史结果”不是一回事。

为什么下载菜单要分成全部、板块、单个:

  • 下载全部 用于建库和大面积补齐,成本最高,但最省人工。
  • 下载板块 用于只维护关心股票池,适合策略用户,能控制下载时间和磁盘占用。
  • 下载单个 用于修复局部问题,避免因为一只股票缺数据而重跑全量。

下载菜单不直接放到公式函数里,是因为公式刷新可能非常频繁。如果公式每次刷新都自动下载,容易造成卡顿、重复请求和数据不一致。菜单下载把“准备数据”和“计算公式”分开,结果更可控。

4.4 自动下载设置

四个模块都提供 设置自动下载参数 菜单。打开后是统一的自动下载设置窗口,窗口标题格式为 自动下载设置 - 模块名

自动下载按模块分别保存:

模块配置分组
SPR短线精灵
L2A/L2BL2B
L2DL2D
L2WL2W

自动下载配置的核心含义:

  • 每行配置一个启动时间。
  • 可指定对应板块;板块为空表示下载全部关心股票。
  • 启动时间不能重复。
  • 保存后写入当前模块的 自动下载 配置项。

使用建议:

  • 盘后下载适合放在收盘后一段时间,避免盘中与订阅推送抢资源。
  • 板块数据量较大时,优先按模块拆分时间,避免多个模块同时下载。
  • L2W 数据量较大,必要时先调整下载并发数。

自动下载只负责到指定时间触发下载任务,不等于“打开公式自动算一遍”。公式结果是否保存,取决于是否开启 保存函数历史结果,以及该函数是否实现了结果缓存。

为什么要有自动下载:

  • L2 数据每天都会新增,手工下载容易漏。
  • 不同模块数据到齐时间不同,统一一个全局时间不合适。
  • 板块为空表示下载全部关心股票,适合全局维护;指定板块适合只维护策略股票池。
  • 自动下载把耗时任务放到盘后或空闲时间,避免盘中公式和界面被下载任务拖慢。

4.5 数据目录设置

四个模块都支持 选择数据目录打开数据目录

菜单项作用
选择数据目录弹出目录选择窗口,并把路径保存到模块配置。菜单文字会显示当前目录。
打开数据目录用系统文件管理器打开当前模块的数据目录。

数据目录按模块独立保存:

模块配置项
SPR短线精灵 -> 数据目录
L2A/L2BL2B -> 数据目录
L2DL2D -> 数据目录
L2WL2W -> 数据目录

设置数据目录时注意:

  • 不建议多个不同模块共用同一个目录,避免数据文件混杂。
  • 路径修改后,新下载的数据写入新目录;旧目录中的历史数据不会自动迁移。
  • 若公式函数返回空值,先用 打开数据目录 确认对应日期和股票的数据文件确实存在。

为什么要让用户设置数据目录:

  • SPR、L2A/L2B、L2D、L2W 文件格式不同,分目录便于维护和备份。
  • L2A/L2W 数据量可能较大,用户可能希望放在容量更大的磁盘。
  • 换机器、换盘、迁移历史数据时,不需要重新下载,只要把目录指向已有数据。
  • 排错时可以直接打开目录看文件,而不是只能依赖程序日志。

4.6 查看数据和诊断

模块菜单中通常有查看或测试入口,用来确认数据是否可读:

功能常见模块说明
查看数据SPR、L2A/L2B、L2W打开当前模块的数据查看窗口。
函数调用跟踪SPR、L2D、L2W 等记录公式函数调用参数、耗时和返回情况。
保存函数历史结果SPR、L2A/L2B、L2D、L2W通用开关;把部分公式函数的历史计算结果落盘,便于复用和排错。
测试工具L2W 等例如委托分位测试。

查看数据是什么意思

查看数据 / 显示数据 / 显示委托数据 打开的是 Smart 内部的数据查看窗口,用来检查当前模块是否已经有可用数据。

  • SPR 的 查看精灵数据 用于查看短线精灵事件。
  • L2A/L2B 的 显示数据 用于查看 L2A/L2B 大单、逐笔或解析后的数据。
  • L2W 的 显示委托数据 用于查看逐笔委托数据。
  • L2D 当前菜单主要提供目录和下载入口,排查时通常通过数据目录、日志和函数调用跟踪确认。

这个功能只负责“看当前已有数据”,不会主动下载,也不会改变公式计算结果。

跟踪函数调用是什么意思

跟踪函数调用 是排错开关。开启后,Smart 会记录公式函数调用的关键信息,例如:

  • 调用了哪个函数。
  • 当前股票代码。
  • 参数值,例如金额范围、时间范围、涨幅范围、K 线数。
  • 是否读取历史结果缓存。
  • 返回了多少条数据。
  • 耗时和失败原因。

它适合在公式返回空值、速度慢、结果不符合预期时临时开启。正常使用时可以关闭,减少日志量。

保存函数历史结果是什么意思

保存函数历史结果 保存的不是原始行情数据,而是“某个公式函数在某组参数下算出来的结果”。

例如公式:

text
smart@BuyAmount(100005, 9301000, 0, 20)

这个调用会用 L2A/L2B 数据计算“5 万到 100 万、09:30 到 10:00 的买入金额”。开启 保存函数历史结果 后,Smart 可以把已经算出的历史日线结果保存到自定义数据目录。以后同一股票、同一函数、同一参数再次调用时,已保存的历史日期可以直接读取结果,减少重复扫描历史 L2 数据。

它和几个容易混淆的功能区别如下:

功能保存什么主要用途
下载全部/下载单个/下载板块模块原始数据或基础解析数据让 Smart 拥有可计算的数据源。
自动下载参数下载计划配置到指定时间自动执行下载任务。
数据目录模块原始数据目录位置告诉 Smart 原始数据放在哪里。
保存函数历史结果公式函数的计算结果加速历史公式重复计算,便于复盘和排错。
Slfdata已保存的自定义数据序列在公式中读取自定义数据编号对应的结果。

当前代码里的主要行为:

  • L2A/L2B 的日线函数在开启该开关后,会按函数名、买卖方向、周期、金额范围、时间范围、涨幅范围、主动性等参数生成结果文件;下次同参数调用会先尝试读取。
  • L2W 的日线函数在开启该开关后,会按委托行为、计算口径、金额范围、时间范围、涨幅范围、天数等参数生成结果文件;下次同参数调用会先尝试读取。
  • SPR、L2D 菜单也有这个通用开关;是否实际落盘取决于具体函数实现。使用时应以函数调用跟踪和生成文件为准。

使用这个开关的注意事项:

  • 它只适合历史结果复用,不适合盘中尚未稳定的数据。当天数据通常要等市场收盘或数据完整后再保存才可靠。
  • 修改金额范围、时间范围、涨幅范围、天数等参数后,会被视为另一组结果,不会复用旧参数的缓存。
  • 如果底层原始数据后来被重新下载或修正,旧的函数结果可能已经过期,需要删除对应结果文件后重新计算。
  • 开启后会增加磁盘文件,但可以明显减少大范围日线历史公式的重复计算。

排查公式问题时,推荐顺序是:

  1. 调用 smart@online() 确认 DLL 与服务端连接。
  2. 在模块菜单中打开数据目录,确认有数据。
  3. 开启函数调用跟踪。
  4. 用最宽松参数调用函数,例如金额、时间、价格都传 0
  5. 再逐步加入过滤条件。

4.7 订阅和取消订阅

订阅的含义是:Smart 向行情服务器登记当前股票或板块后,行情服务器会先补发当天已经发生的历史数据,然后把后续新增数据主动推送到 Smart。这样公式或查看窗口需要数据时,Smart 本地通常已经有数据,不必临时等待服务器按请求返回。

不订阅时,Smart 一般不会持续接收该股票的后续 L2A/L2W 数据;只有下载、查看或公式函数请求到具体数据时,才向服务器请求所需范围。这样可以节省订阅名额、网络和内存,但盘中首次调用可能要等待数据返回。

功能模块菜单/DLL 函数
订阅当前股票 L2A/L2BL2A/L2Bsmart@SubL2B(1)
取消当前股票 L2A/L2BL2A/L2Bsmart@SubL2B(0)
订阅板块 L2AL2A/L2B订阅板块L2A
取消全部 L2A 订阅L2A/L2B取消全部L2A订阅
订阅当前股票 L2WL2Wsmart@SubOrder(1)
取消当前股票 L2WL2Wsmart@SubOrder(0)
订阅板块 L2WL2W订阅板块L2W
取消全部 ORD 订阅L2W取消全部Ord订阅

订阅需要对应权限。没有权限时,菜单或日志会提示无订阅权限。

为什么订阅和下载都要有:

  • 下载 面向已经发生过的历史数据,适合盘后补齐。
  • 订阅 面向当天盘中数据,先补当天已发生的数据,再持续推送后续数据。
  • 盘中只靠请求,首次公式调用可能要等待;订阅后 Smart 会提前收到数据。
  • 只靠订阅不能替代长期历史下载;订阅主要解决当天数据的连续性和实时性。
  • 取消全部订阅 用于释放订阅名额和减少实时消息压力,尤其是板块订阅过多时。

4.8 模块特有但操作方式相似的设置

以下不是全模块通用,但属于菜单中常见的功能型设置:

设置模块说明
资金分级L2A/L2B设置大单金额分级,影响大单统计和保存。
判断成交价等于委托价的主动L2A/L2B决定价格相等时主动买卖方向的判定。
数据缓存 K 线数L2A/L2B、L2D、L2W控制历史数据对象缓存容量。名称里叫 K 线数,但代码里实际用于 QCache::setMaxCost(),不是公式返回 K 线数量。
盘后下载后释放内存L2A/L2B、L2W控制盘后下载完成后是否释放内存。
下载并发数L2W控制 L2W 历史下载并发,数据量大时尤其重要。

这些设置存在的原因:

  • 资金分级 决定什么算大单。不同用户策略不同,不能写死在程序里。
  • 判断成交价等于委托价的主动 影响主动买卖方向,属于统计口径选择。
  • 数据缓存 K 线数 是速度和内存之间的平衡;缓存容量大,重复读取历史数据更快,但占用内存更大。它限制的是历史 L2B/L2D/L2W 数据对象缓存,不限制公式计算返回多少根 K 线。
  • 盘后下载后释放内存 是内存控制开关;盘后下载很多股票时,不释放缓存会占用较多内存。
  • 下载并发数 是速度和稳定性之间的平衡;并发高下载快,但更吃网络、服务器和本机资源。

5. 客户端 DLL 通用函数

以下函数来自客户端 smart.dll,可在大智慧公式中调用。

函数公式示例说明
onlinesmart@online()返回 DLL 与 Smart 服务端 RPC 状态。非 0 通常表示已连接或连接状态可用。
Versmart@Ver()返回当前 smart.dll 版本号。
Watchsmart@Watch()把当前公式所在股票通知给 Smart,设置为当前观察股票。服务端记录该股票 CID,用于当前分时图股票的订阅/请求协调,减少重复请求。
savelogsmart@savelog()刷新 DLL 日志。排查公式调用问题时使用。
Slfdatasmart@Slfdata(数据号)读取 Smart 自定义数据,按当前股票和 K 线时间返回序列。

说明:本文只写一种函数名,公式中按文档名称使用即可。

6. 周期概念

公式调用时,周期通常由当前大智慧公式环境提供,用户无需显式传入。Smart 内部使用如下周期编号:

编号周期
1分时
2分笔成交
31 分钟
45 分钟
515 分钟
630 分钟
760 分钟
8日线
9周线
10月线
11多日线

并非所有子功能都支持所有周期。L2A/L2B 常用分时、1 分钟和日线;L2D 以分钟聚合为基础;L2W 支持分时、分钟线、日线及部分汇总周期。

7. 返回值和失败处理

Smart DLL 函数大多返回一条时间序列,并填入大智慧的公式结果缓冲区。常见失败原因:

  • Smart 服务端未启动或 RPC 未连接。
  • 当前股票代码无法识别。
  • 模块未授权。
  • 对应交易日没有下载数据。
  • 当前周期不被该函数支持。
  • 参数编码错误。

失败时 DLL 函数通常返回 -1,公式结果可能为空或显示无效值。排查时建议先在公式中调用:

text
smart@online()
smart@Ver()
smart@savelog()

然后在 Smart 菜单中打开对应模块的数据目录、查看数据或开启函数调用跟踪。

8. 写公式的基本建议

  • 先用宽松参数确认有数据,例如金额、时间、价格都传 0
  • 再逐步增加金额范围、时间范围、涨幅范围。
  • 历史统计尽量控制 daysK线数,避免公式刷新时触发大量历史计算。
  • 对盘中实时函数,优先开启对应模块的订阅;对盘后和历史数据,优先配置自动下载。
  • 对同一类函数,按各子功能文档列出的函数名统一使用,不要在同一套公式里混用历史名称。

kingwa5 产品文档