通达信交易接口api_全市场股票量化交易

本文介绍了如何利用通达信交易接口实现全市场的股票量化交易。通过通达信股票池功能结合dll公式扩展,动态筛选并执行交易策略。此外,还讲述了使用c#开发的交易信号处理软件,通过socket通信与证券委托软件交互,实现自动化交易。这套低成本系统具有广泛的应用潜力。
摘要由CSDN通过智能技术生成

前言

目前,国内针对股票的量化系统中,比如金字塔、掘金等,其策略在运行时都是针对某一个或者一些已预先定义的股票,没办法实现全市场动态筛选股票。multicharts系统中的sanner也只是在一批股票中选,性能比较低下。即使万得或者东方财富的choice系统,不仅费用昂贵,还不好用。找来找去,最后发现通达信股票池这一神器,零费用完成了全市场动态筛选股票,量化交易。

顺便再吹一下通达信,目前大多股民使用的免费炒股软件如同花顺、东方财富、大智慧等,只有通达信有股票池功能,也只有通达信支持加载dll公式扩展(就是可以通过公式函数调用第三方用c++写的公式。)

好了,下面开始说如何实现我们的系统。一图值万言,先上整个系统的架构图。

07af8fd247ffac0c0a9fd92ce87f1d8d.png

现在来看看各个组件是如何实现的。

一、通达信

去官方网站下载通达信金融终端, 免费版也可以用,其中专业版以上可以在公式中使用资金流函数,本人是比较喜欢的,实战效果也满意。下载并安装完成后,点击进去通达信功能菜单下的策略股票池即进入股票池功能。在这里,笔者就不详细说明如何使用股票池功能了,迟点有时间再专门写一篇文章介绍。在股票池这里设置好我们的公式筛选目标股票,再在最后一步通过引用dll公式扩展函数发出信号到外面。下图就是我目前使用的股票池,截图是今天运行一天的效

以下是使用Python编写通达信API接口交易代码的示例: ```python import win32api,win32con import time import os import struct import win32gui import win32process import pywintypes # 获取通达信主窗口句柄 hwnd = win32gui.FindWindow("TdxW_MainFrame_Class", None) # 获取通达信客户端路径 tdx_path = r"C:\new_tdx\TdxW.exe" # 打开通达信客户端 os.startfile(tdx_path) while True: if hwnd > 0: break time.sleep(1) # 获取通达信客户端进程ID _, pid = win32process.GetWindowThreadProcessId(hwnd) # 通过进程ID获取通达信客户端进程句柄 handle = win32api.OpenProcess(win32con.PROCESS_ALL_ACCESS, False, pid) # 定义通达信客户端API函数 def tdx_call(func_name, param): func_addr = win32api.GetProcAddress(win32api.GetModuleHandle("Trade.dll"), func_name) if not func_addr: raise Exception("函数{}不存在".format(func_name)) param = bytes(param, "GBK") code, result = win32api.WinExecMemory(func_addr, handle.handle, param) if code != 0: raise Exception("函数{}执行失败".format(func_name)) return result.decode("GBK") # 登录通达信客户端 tdx_call("Logon", 'htqh123,123456,123.123.123.123:7708') # 获取账户资金信息 response = tdx_call("GetQuote", "查询资产,") print(response) # 下单交易(以买入股票为例) response = tdx_call("SendOrder", "买入,0,600000,100,10.0,0,0,") print(response) # 退出通达信客户端 win32gui.PostMessage(hwnd, win32con.WM_CLOSE, 0, 0) ``` 需要注意的是,以上代码仅供参考,具体实现需要根据自己的实际情况进行调整。同时,使用通达信API进行交易需要在通达信软件中开启自动登录和交易密码验证等功能,否则可能无法正常交易
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值