企业微信

通达信量化交易基础架构

通达信软件内置了强大的公式系统作为量化交易策略的载体。公式编辑器允许用户使用特定语法编写技术指标、条件选股和交易系统公式。这些公式基于历史行情数据进行计算,能够输出买卖信号。公式语言支持变量定义、逻辑判断和复杂数学运算,为策略逻辑的初步实现提供了基础环境。交易策略的核心可以封装在条件选股公式或交易系统公式中,通过回溯测试功能验证历史表现。

公式系统的功能与限制

通达信公式系统擅长处理基于K线数据的分析。例如一个简单的双均线交叉策略可以通过以下逻辑实现:

通达信量化交易系统如何实现自动化策略


SHORT_MA := MA(CLOSE, 10)  // 计算10周期均线

LONG_MA := MA(CLOSE, 30)   // 计算30周期均线

CROSS_BUY := CROSS(SHORT_MA, LONG_MA)  // 短期均线上穿长期均线作为买入信号

CROSS_SELL := CROSS(LONG_MA, SHORT_MA) // 短期均线下穿长期均线作为卖出信号

该系统能够高效完成信号生成,但缺乏自动执行订单的能力。信号需要人工识别并手动下单,这构成了自动化交易的瓶颈。公式系统运行在通达信软件内部,是一个相对封闭的计算环境,难以直接连接券商交易柜台。

通过DLL插件扩展自动化能力

为实现更高程度的自动化,通达信支持使用动态链接库进行功能扩展。开发者可以使用C++、C#或Python等编程语言创建DLL文件。该DLL需导出特定函数供通达信公式调用。在公式中通过EXTDATACALLFUNCTION等函数引用DLL,将实时行情数据传递出去,或接收外部计算好的交易信号。

建立DLL桥梁后,外部程序可以获取通达信内部的计算结果。外部程序通常是一个独立的交易执行程序,负责接收信号、管理风险并连接券商API进行实盘下单。这种架构将信号生成与订单执行分离,信号生成模块仍在通达信环境中运行,保障了策略计算的稳定性和实时性。

构建完整的程序化交易接口

完整解决方案需要整合多个组件。外部执行程序通常使用Python或C++开发,它通过读取共享内存、网络套接字或文件方式与通达信DLL进行数据交互。执行程序需要实现资金管理、仓位计算、止盈止损逻辑以及订单路由功能。

与券商交易接口的连接是关键环节。执行程序需调用券商提供的程序化交易API,这些API通常支持FIX协议或特定的SDK。程序需要处理身份认证、订单提交、状态查询和成交回报等流程。一个健壮的接口应当具备断线重连、异常订单处理和日志记录能力。

策略开发与回测流程

在通达信量化体系中,策略开发始于公式编辑器。开发者将交易思想转化为指标公式,利用软件自带的数据进行历史回测。通达信回测功能提供收益率、胜率、最大回撤等基础统计指标。对于复杂策略,可以借助DLL将历史数据导出到外部专业回测平台进行更深入的分析,例如风险收益比评估或参数优化。

策略通过历史验证后进入仿真测试阶段。在通达信实时行情环境中运行策略,观察信号产生情况,同时由外部执行程序模拟下单,验证整个链路的稳定性。最后才过渡到实盘交易,初期通常采用小资金运行以检验策略在实盘环境中的适应性。

风险管理与系统监控

自动化交易系统必须包含严格的风险控制模块。外部执行程序需要实时监控账户权益、持仓比例和单笔亏损。可以设置每日最大亏损限额、持仓品种数量限制和黑名单机制。通达信公式侧也可以嵌入风控逻辑,例如在市场波动率异常放大时暂停发出交易信号。

系统运行状态需要持续监控。监控内容包括通达信软件的运行状态、DLL数据接口的连通性、执行程序的进程状态以及网络连接情况。可以设置告警机制,当信号异常中断或订单堆积时通过短信或邮件通知交易员。所有交易信号和订单操作都应详细记录到数据库,便于事后审计和策略改进。

通达信量化系统的适用场景

该系统适合已经熟悉通达信公式语言的交易者,能够快速将主观交易经验转化为初步的量化模型。它特别适用于股票市场的技术分析策略,依托通达信稳定的行情数据源和即时预警功能。对于期货或期权交易,由于涉及更多复杂的订单类型和风险参数,可能需要更强大的外部执行程序来配合。

这种混合架构平衡了便捷性与灵活性。交易者无需完全放弃通达信平台的操作习惯,又能引入自动化执行能力。随着外部程序功能的增强,可以逐步集成更多数据源、更复杂的算法交易逻辑,形成以通达信为信号前端、以自主程序为执行核心的个性化量化交易系统。