当前位置: 首页 > news >正文

通达信交易接口以什么形式执行下单的?

通达信程交易接口 以API形式来执行下单接口,一般不再需要通过接口系统之间进行连接,通过直接调用通达信dll交易函数的方式直接进行交易,包括下单,撤单,查询资金股份、当日委托、当日成交等方面都能很快的执行出来。

以api的形式调用接口来办理执行下单,比如借用开发的api接口的开发文档:

一、api的调用结果:

相关函数

调用结果

Deinit

Logoff

Init

返回值为授权成功的交易账户数量

返回值< 1 时, 无需调用 Deinit 接口, 也不能调用其它接口, 否则会出错!

Logon

调用成功: 返回值为 客户端 Id

调用失败: 返回值 <= 0

参数ErrorInfo 保存错误信息, 需要分配 256 字节的空间

GetExpireDate

返回值为API 授权到期日期

格式为yyyymmdd 整数, 如 2018 年 5 月 1 日为 20180501

单项操作

调用成功: ErrorInfo 为空字符串

QueryData

调用失败: ErrorInfo 为错误信息

QueryHistoryData

参数Result 保存操作结果, 需要分配 1024*1024 字节的空间

SendOrder

Result 格式为表格数据, 每一行通过换行符\n 分割,每一列通过制表符\t 分割

CancelOrder

例子:

GetQuote

股东代码\t 股东名称\t 帐号类别\t 保留信息\n

Repay

12345678\t\t0\t 信息 1\n

87654321\t\t2\t 信息 2

注: 不同券商返回的字段会有所不同

参数ErrorInfo 保存错误信息, 需要分配 256 字节的空间

批量操作

批量操作的参数通过数组方式传入, 用下标区分每项操作

QueryDatas

第i 项操作调用成功: ErrorInfo[i]为空字符串

SendOrders

第i 项操作调用失败: ErrorInfo[i]为错误信息

CancelOrders

参数Result[]保存批量操作结果, Result[i]保存第 i 项操作结果

GetQuotes

每项操作结果需要分配1024*1024 字节的空间

QueryMultiAccountsDatas

每项操作结果的格式可参阅[Result 格式]

SendMultiAccountsOrders

参数ErrorInfo[]保存批量错误信息, ErrorInfo[i]保存第 i 项错误信息

CancelMultiAccountsOrders

每项错误信息需要分配256 字节的空间

GetMultiAccountsQuotes

二、通达信交易接口执行下单程序源码分享:

// 加载DLL

HINSTANCE hDLL = LoadLibraryA("MetaTrade.dll");

assert(hDLL);

// 初始化

typedef int (*InitProc)();

const auto Init = reinterpret_cast<InitProc>(GetProcAddress(hDLL, "Init"));

assert(Init);

const int authorizedCount = Init(); // 已授权账号数量

assert(authorizedCount > 0);

std::cout << "已授权账号数量: " << authorizedCount << std::endl;

std::cout << std::endl;

// 接收缓冲区, 用于接收返回结果和错误信息

auto resultBuf = std::make_unique<char[]>(1024 * 1024);

auto errinfoBuf = std::make_unique<char[]>(256);

char *const result = resultBuf.get();

char *const errinfo = errinfoBuf.get();

// 登录 接口支持普通交易和两融交易账号, 以下例子使用两融账号

typedef int (*LogonProc)(const char *ip, short port, const char *version,

short yybid, const char *account,

const char *tradeAccount, const char *jyPassword,

const char *txPassword, char *errinfo);

const auto Logon = reinterpret_cast<LogonProc>(GetProcAddress(hDLL, "Logon"));

assert(Logon);

std::string ip = "1.2.3.4"; // 券商IP(注意区分两融和普通)

short port = 5678; // 券商端口(注意区分两融和普通)

std::string version = ""; // 版本号: 一般填空

short yybid = 0; // 营业部ID: 一般填0

std::string account = "12345678.C"; // 登录账号: 两融账号需添加.C结尾

std::string tradeAccount = "12345678"; // 交易账号: 一般与登录账号相同, 但不需添加.C结尾

std::string jyPassword = "password"; // 交易密码

std::string txPassword = ""; // 通讯密码: 一般填空

const int clientId = Logon(ip.c_str(), port, version.c_str(), yybid,

account.c_str(), tradeAccount.c_str(),

jyPassword.c_str(), txPassword.c_str(), errinfo);

assert(clientId >= 0);

std::cout << "登录成功, client = " << clientId << std::endl;

std::cout << std::endl;

http://www.lryc.cn/news/8248.html

相关文章:

  • CobaltStrike上线微信通知
  • 喜茶、奈雪的茶“花式”寻生路
  • Xstream使用教程
  • 【正点原子FPGA连载】第十一章PL SYSMON测量输入模拟电压 摘自【正点原子】DFZU2EG_4EV MPSoC之嵌入式Vitis开发指南
  • 纷享销客百思特 | 数字化营销赋能企业新增长沙龙圆满落幕
  • oracle查看具体表占用空间 oracle查看表属于哪个用户
  • 2.Visual Studio下载和安装
  • 「4」线性代数(期末复习)
  • IDEA中使用tomcat8-maven-plugin插件
  • 2023年妇女节是哪一天 妇女节是2023年几月几日?
  • 如何运维多集群数据库?58 同城 NebulaGraph Database 运维实践
  • 尚医通(十四)Spring Cloud GateWay网关 | 跨域 | 权限认证
  • PO模式在Selenium中简单实践
  • KubeSphere
  • JAVA基础阶段面试题(关键点)必备
  • Shiro简介
  • cmu 445 poject 3笔记
  • CHAPTER 2 Zabbix界面操作
  • keep-alive的使用-及遇到的问题
  • 华为OD面试经验分享,尤其注意机试题部分
  • 【Java】String、StringBuffer、StringBuilder的区别
  • iOS开发:对Block使用的一次研究总结
  • Spark 3.1.1 shuffle fetch 导致shuffle错位的问题
  • 2月第2周榜单丨飞瓜数据B站UP主排行榜(哔哩哔哩平台)发布!
  • Jdk19 动态编译 Java源码为 Class 文件
  • 安装 GPU 版本的 tensorflow 完整版本
  • BOM编程-设置地址栏上的URL
  • 设计模式之原型模式与建造者模式详解和应用
  • C语言(函数和递归)
  • 快乐的shell命令行