通达信交易dll接口怎么实现程序化交易?
Posted Q_121463726
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了通达信交易dll接口怎么实现程序化交易?相关的知识,希望对你有一定的参考价值。
现在很多交易者选择量化投资与传统的股票交易之间,往往会选择自动化交易跟量化交易的比较多,毕竟现在很多可以开发出来的交易软件都具备了量化的特点,能够及时的把握更多的盈利的机会,就比如说常使用的到通达信交易dll接口就是一个例子,通过通达信接口来传输自己的交易策略,就可以在接口修改本身的dll来调用,实现程序化交易,那么,具体它是如何实现的呢?
具体来看:
将 MetaTrade.dll, MetaTrade.lic, MetaTrade.ini 三个文件放到应用程序同级目录
-
- 调用 LoadLibrary 加载 MetaTrade.dll 实例
- 调用 GetProcAddress 获取 API 函数地址
- 调用 Init 接口进行 API 初始化
- 调用 Logon 接口登录券商账户并获得与之对应的 ClientId, 一个应用程序实例可以同时登录多个账户
- 通过 ClientId 调用其它 API 接口进行查询或委托下单
- 调用 Logoff 接口登出券商账户
- 调用 Deinit 接口进行 API 清理
- 调用 FreeLibrary 卸载 MetaTrade.dll 实例
如果是通达信交易dll接口要想通过一段代码来自动委托下单,则需要股票api交易接口,运用接口的各个参数功能来自动下单:
名称 | 功能 | |
基本函数 | Init | |
Deinit | ||
Logon | ||
Logoff | ||
QueryData | ||
QueryHistoryData | ||
SendOrder | ||
CancelOrder | ||
GetQuote | ||
Repay | ||
GetExpireDate | ||
单账户批量函数 | 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?&fields1=f1%2Cf2%2Cf3%2Cf4%2Cf5%2Cf6%2Cf7%2Cf8%2Cf9" \\
"%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接口实现调用的参数功能能够将精准的执行交易者的量化策略,及时的自定委托下单,实现程序化交易。
以上是关于通达信交易dll接口怎么实现程序化交易?的主要内容,如果未能解决你的问题,请参考以下文章
自己做量化交易软件(45)小白量化实战18--直接使用通达信自编指标公式进行分析绘图和回测
自己做量化交易软件(45)小白量化实战18--直接使用通达信自编指标公式进行分析绘图和回测