
大智慧与券商接口对接的核心路径
大智慧作为行情与交易终端,本身不直接向个人用户开放底层交易接口。实现自动交易需要借助券商提供的开放API。券商接口通常以DLL动态链接库、COM组件或HTTP/WebSocket服务形式提供。大智慧支持通过公式系统或插件机制调用外部函数。用户需要先向券商申请量化交易权限,获取接口文档与授权文件。
券商接口的常见类型与选择
1. 券商原生API
多数国内券商提供基于C++的TradeApi.dll,封装了登录、下单、撤单、查询持仓与资金等功能。部分券商提供Python封装版本,如ctpmini、vnpy的柜台适配层。期货公司普遍使用CTP接口,股票则多用恒生、金证、华锐等柜台系统。
2. 第三方量化平台中转
若券商不直接开放接口,可通过PTrade、QMT、聚宽、米筐等平台间接对接。这些平台已与多家券商完成柜台连通,用户只需在平台内编写策略,平台负责报单。大智慧可作为行情源,将信号发送至第三方平台执行。
3. 模拟接口与实盘接口区别
模拟接口使用仿真环境,不产生真实资金变动。实盘接口需要券商开通并签署风险协议。大智慧对接时需区分两者,避免误操作。

大智慧端配置步骤
步骤一:获取券商接口文件
联系券商客户经理,申请量化交易接口。获取以下文件:
交易接口动态库(如tradeapi.dll)
接口说明文档(包含函数列表与参数)
授权码或证书文件
步骤二:配置大智慧插件目录
大智慧安装目录下通常有plugin或addon文件夹。将券商提供的DLL文件复制到该目录。部分券商要求使用特定版本的大智慧,需提前确认兼容性。
步骤三:注册接口函数
在大智慧的公式管理器中,使用EXTERNAL或CALLDLL函数声明外部接口。示例公式片段:
// 伪代码示例
EXTERNAL 'tradeapi.dll', 'Login', 'int', 'string, string, string';
EXTERNAL 'tradeapi.dll', 'Order', 'int', 'string, int, double, double, int';
具体函数名与参数类型以券商文档为准。
步骤四:编写策略信号
在公式中计算买卖条件,输出信号值。信号值通过接口函数传递给券商柜台。注意大智慧公式不支持直接网络通信,必须依赖DLL中转。
期货接口对接的特殊要求
期货交易使用CTP接口,与大智慧对接时需注意:
期货合约代码格式与股票不同,如
rb2310代表螺纹钢2310合约。期货支持双向交易与保证金制度,下单需指定开平仓标志。
期货有夜盘,接口需支持24小时运行。
期货交易所对报单频率有限制,超出会被拒绝。
大智慧期货版本(大智慧365)内置部分期货接口,但自动交易仍需券商或期货公司授权。
代码示例:Python调用券商接口发送订单
以下示例假设券商提供Python SDK,大智慧通过文件或内存传递信号。
import time
from broker_api import TradeApi
api = TradeApi()
api.login('账号', '密码', '服务器地址')
def send_order(symbol, direction, price, volume):
if direction == 'buy':
order_id = api.buy(symbol, price, volume)
elif direction == 'sell':
order_id = api.sell(symbol, price, volume)
return order_id
# 模拟从大智慧信号文件读取
with open('dzh_signal.txt', 'r') as f:
signal = f.read().strip().split(',')
symbol = signal[0]
direction = signal[1]
price = float(signal[2])
volume = int(signal[3])
send_order(symbol, direction, price, volume)
实际对接中,大智慧无法直接写文件,需借助中间件或内存映射。更可靠的方式是使用大智慧的DLL插件直接调用券商API。
风控与合规要点
券商接口通常有每秒报单次数限制,股票约2-5笔/秒,期货约1-2笔/秒。
需设置最大持仓、单笔最大手数、止损线。
接口登录后需保持心跳,避免断线。
自动交易需向交易所报备,部分券商要求资金门槛。
大智慧仅作为信号生成工具,最终交易责任由用户承担。
常见问题与解决
接口调用返回错误码
查阅券商文档,常见错误包括:未登录、资金不足、合约不存在、频率超限。
大智慧无法加载DLL
检查DLL位数(32位/64位)与大智慧版本是否匹配。使用依赖查看工具确认缺少的运行时库。
信号延迟
大智慧公式计算周期与行情刷新率相关。将公式设为逐笔触发或使用定时器,减少延迟。
替代方案:使用大智慧导出信号+外部程序执行
若无法直接调用DLL,可让大智慧将信号写入CSV文件,外部Python程序监控文件变化并调用券商接口。此方案延迟较高,适合中低频策略。
import pandas as pd
import time
from broker_api import TradeApi
api = TradeApi()
api.login('账号', '密码', '服务器')
last_line = 0
while True:
df = pd.read_csv('signals.csv')
if len(df) > last_line:
new_rows = df.iloc[last_line:]
for _, row in new_rows.iterrows():
api.order(row['symbol'], row['direction'], row['price'], row['volume'])
last_line = len(df)
time.sleep(1)
此方式需要大智慧支持定时导出数据,可通过公式的WRITE函数或第三方插件实现。
申请券商接口 -> 获取DLL与文档 -> 配置大智慧插件目录 -> 编写外部函数声明 -> 编写策略公式 -> 测试模拟环境 -> 切换实盘 -> 监控风控指标。每一步都需与券商技术人员确认,避免因版本不匹配导致失败。股票与期货接口差异较大,期货需额外处理开平仓与保证金。大智慧作为前端,核心交易逻辑仍由券商柜台执行。