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

news/2024/10/18 16:50:03/

现在很多交易者选择量化投资与传统的股票交易之间,往往会选择自动化交易跟量化交易的比较多,毕竟现在很多可以开发出来的交易软件都具备了量化的特点,能够及时的把握更多的盈利的机会,就比如说常使用的到通达信交易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?&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接口实现调用的参数功能能够将精准的执行交易者的量化策略,及时的自定委托下单,实现程序化交易。


http://www.ppmy.cn/news/794228.html

相关文章

实验五 函数文件(matlab)

实验五 函数文件 目录 实验五 函数文件 1.1实验目的 1.2实验内容 1.3流程图 1.4程序清单 1.5运行结果及分析 1.6实验的收获与体会 1.1实验目的 理解函数文件的概念。掌握matlab中定义和调用函数的方法。 1.2实验内容 1.3流程图 1.4程序清单 %第一题函数 fun…

8F51单片机IC芯片MCU资料规格书8位PWM单片机 集成电路芯片

丝印8F51单片机IC芯片MCU资料规格书8位PWM单片机 集成电路芯片 1.1 功能 &﹟61548; 宽广的工作电压:(指令时钟为 4 个CPU时钟,亦即 4T模式) &﹟61656; 2.0V ~ 5.5V 系统时钟≦8MHz。 &﹟61656; 2.2V ~ 5.5V 系统时钟…

FineReport—快捷键

自己整理一些常用的吧,备用。 插入富文本 Alt r 插入公式 Alt f 插入图表 Alt c 插入图片 Alt l 插入斜线 Alt x 插入子报表 Alt s 合并单元格 Alt m 撤销合并单元格 Alt g 格式刷 Ctrl b 插入数据列 Alt d 撤销 Ctrl z 反撤销 C…

pycharm快速整齐代码格式快捷键

在写程序的过程中常常会有代码不整齐不规范的警告这时候用 pycharn快速规整代码的快捷键为CtrlAltL即可解决

【Excel】178个常用快捷键

想提升一下办公效率吗?这篇Excel快捷键说明或许能够为你带来不少的帮助。本文包含的快捷键使用说明,基本适用于各个版本的Excel。收藏一下吧,有空看看,肯定会提升你的工作效率! 一、Excel常用快捷键 关闭工作簿&…

mac 设置mysql登录快捷键_史上最详细的苹果Macbook快捷键使用

电脑快捷键可以帮助你提高工作效率,是使用电脑过程中经常用到的,苹果电脑的快捷键和普通PC不太一样,对于新手来说,经常找不到或不知道快捷键是什么,经常要去查,所以这边系统城小编跟大家介绍macbook快捷键的…

WPS文字常用排版快捷键

【左对齐】左对齐快捷键为“CtrlL”组合键,按下组合键可快速调整选中文段对齐方式; 【右对齐】右对齐快捷键为“CtrlR”组合键,按下组合键可快速调整选中文段对齐方式; 【居中对齐】居中对齐快捷键为“CtrlE”组合键&#xff…

excel表格快捷键分享

Ctrl 组合快捷键: Ctrl( 取消隐藏选定范围内所有隐藏的行。 Ctrl) 取消隐藏选定范围内所有隐藏的列。 Ctrl& 将外框应用于选定单元格。 Ctrl_ 从选定单元格删除外框。 Ctrl~ 应用“常规”数字格式。 Ctrl$ 应用带有两位小数的“货币”格式(负数放在括号中&…