使用Python和 通达信期货行情api 写一个保存行情的程序
时间: 2024-05-12 18:21:12 浏览: 11
以下是一个基本的Python程序,使用通达信期货行情API来保存行情数据:
```python
import ctypes
import datetime
import time
# 加载通达信行情API动态链接库
tdxapi = ctypes.windll.LoadLibrary("tdxapi.dll")
# 登录通达信行情服务器
tdxapi.OpenTdx(2)
tdxapi.Logon("服务器IP", 7709, "账号", "密码", "版本号")
# 设置保存行情数据的文件路径
filepath = "D:/tdxhq_data/"
# 循环获取行情数据,并保存到文件
while True:
# 获取当前时间
now = datetime.datetime.now()
# 获取当前时间的字符串
now_str = now.strftime("%Y%m%d")
# 创建保存行情数据的文件
filename = filepath + now_str + ".csv"
f = open(filename, "a")
# 获取当前时间的分钟数
minute = now.minute
# 获取当前期货合约的行情数据
data = tdxapi.GetFutureData("合约代码", minute)
# 将行情数据写入文件
for d in data:
line = ",".join(d) + "\n"
f.write(line)
# 关闭文件
f.close()
# 等待1分钟
time.sleep(60)
# 关闭通达信行情服务器的连接
tdxapi.Logoff()
tdxapi.CloseTdx()
```
在上面的代码中,我们首先使用ctypes库加载通达信期货行情API的动态链接库tdxapi.dll。然后,我们通过调用OpenTdx()和Logon()函数,登录到通达信期货行情服务器。
接下来,我们设置保存行情数据的文件路径,并在一个无限循环中获取当前时间和当前分钟数,然后调用GetFutureData()函数来获取当前期货合约的行情数据。最后,我们将行情数据写入文件,并等待1分钟。
当我们想要停止保存行情数据时,只需要中断程序的运行即可。最后,我们通过调用Logoff()和CloseTdx()函数来关闭和释放通达信期货行情服务器的连接。