通达信交易dll接口怎么实现程序化交易?

现在很多交易者选择量化投资与传统的股票交易之间,往往会选择自动化交易跟量化交易的比较多,毕竟现在很多可以开发出来的交易软件都具备了量化的特点,能够及时的把握更多的盈利的机会,就比如说常使用的到通达信交易dll接口就是一个例子,通过通达信接口来传输自己的交易策略,就可以在接口修改本身的dll来调用,实现程序化交易,那么,具体它是如何实现的呢?

具体来看:

将 MetaTrade.dll, MetaTrade.lic, MetaTrade.ini三个文件放到应用程序同级目录

    1. 调用 LoadLibrary加载 MetaTrade.dll实例
    2. 调用 GetProcAddress获取 API函数地址
    3. 调用 Init接口进行 API初始化
    4. 调用 Logon接口登录券商账户并获得与之对应的 ClientId, 一个应用程序实例可以同时登录多个账户
    5. 通过 ClientId调用其它 API接口进行查询或委托下单
    6. 调用 Logoff接口登出券商账户
    7. 调用 Deinit接口进行 API清理
    8. 调用 FreeLibrary卸载 MetaTrade.dll实例

如果是通达信交易dll接口要想通过一段代码来自动委托下单,则需要股票api交易接口,运用接口的各个参数功能来自动下单:

名称

功能

基本函数

Init

API 初始化

Deinit

API 反初始化

Logon

登录交易账户

Logoff

登出交易账户

QueryData

查询各类交易数据

QueryHistoryData

查询各类历史数据

SendOrder

委托下单

CancelOrder

委托撤单

GetQuote

获取五档报价

Repay

融资融券账户直接还款

GetExpireDate

查询 API 授权到期日期

单账户批量函数

QueryDatas

单账户批量查询各类交易数据

SendOrders

单账户批量下单

CancelOrders

单账户批量撤单

GetQuotes

单账户批量获取五档报价

多账户批量函数

QueryMultiAccountsDatas

多账户批量查询各类交易数据

SendMultiAccountsOrders

多账户批量下单

CancelMultiAccountsOrders

多账户批量撤单

GetMultiAccountsQuotes

多账户批量获取五档报价

代码举例:

import requests;
import time;
import json;
import pandas as pd;
def fenshishuju_dfcf(daima);

//这里我们要定义数组来区分开来,让打印结果更加详细化,实现股票交易接口实时抓取的数据按时间详细化分割,精准的打印出来;
if daima[:2] == "sh":
lsbl = '1.'+daima[2:]
else:
lsbl = '0.' + daima[2:]
wangzhi = "http://push2his.eastmoney.com/api/qt/stock/trends2/get" /> "%2Cf10%2Cf11%2Cf12%2Cf13&fields2=f51%2Cf52%2Cf53%2Cf54%2Cf55%2Cf56%2Cf57%2Cf58&" \
"ut=7eea3edcaed734bea9cbfc24409ed989&ndays=1&iscr=0&secid="+lsbl+ \
"&_=1643253749790"+str(time.time)
resp = requests.get(wangzhi, timeout=6)
# print (resp)

#打印请求结果的状态码
data = json.loads(resp.text)
shuju = {'日期时间': [], '最新价': [], '均价': [], '成交额': []}
for k in data['data']['trends']:
lsbl = k.split(",")
shuju['日期时间'].append(lsbl[0])
shuju['最新价'].append(lsbl[2])
shuju['均价'].append(lsbl[-1])
shuju['成交额'].append(lsbl[-2])

shuju = pd.DataFrame(shuju)
print(shuju)
return shuju

if __name__ == '__main__':
while 1:
fenshishuju_dfcf('sh603102')
time.sleep(3)

return{
}

持仓数据显示:

因此,通达信交易dll接口实现调用的参数功能能够将精准的执行交易者的量化策略,及时的自定委托下单,实现程序化交易。

THE END
分享
二维码
< <上一篇
下一篇>>