通达信程交易接口 以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;

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

  1. 通达信交易接口代码的执行过程分享

    股票软件一般都提供了接口,可以参考里面的公式,编写自己的公式,这样就可以得到相应的数据了.无论使用哪种语言,建议先了解文档,然后再阅读各编程语言的用户手册. 通达信交易接口代码的执行过程分享: // ...

  2. 通达信交易接口可以设定自动止盈止损吗?

    虽然现在的量化软件越来越多,实现的执行效果也是存在差异,但也为不少交易者提供了方便.虽然有不少的投资用户在问通达信交易接口可以设定自动止盈止损吗?在小编看来,目前还不支持.但如果是SNB股票自动交易的 ...

  3. 通达信交易接口API获取数据源码分享

    在通达信交易接口下单之前,如何去了解快速获取交易数据呢?要是即使下单了,也不知道如何去查询,然后不管不问,等到需要你去止损了,你才回想起来去操作,这是很容易吃亏的做法的.在股票量化交易过程中,我们不仅 ...

  4. 通达信交易接口怎么实现策略选股?

    可能大家也在问有哪些接口可以快速的实现交易通道,也就是说通达信交易接口实现自定选股策略应该怎么去做好优化,以便获取的股票池数据都是满足条件的,接下来就罗列一些筛选条件: 名称 功能 基本函数 Init ...

  5. 有源代码就可以自行开发通达信交易接口了吗?

    有源代码就可以自行开发通达信交易接口了吗?答案显然不是,如果你对编程一无所知,只是希望直接复制粘贴代码获得通信达接口,那其实是很不实际的,所有的操作都必须建立在了解的基础上,如果实在对代码不太了解,那 ...

  6. 通达信交易接口api的基本定义

    通达信交易接口api,接口是一种完全抽象的设计,不能实例化,即我们不能创建通达信交易接口api,接口类型的对象,因为这样的对象没有任何实现,是毫无意义的.可是,下面的程序怎么来解释呢? classMu ...

  7. 通达信交易接口api有什么用?

    通达信交易接口api是比较流行的快速a股自动交易接口,可以提供多家券商,包括a股自动交易接口,接口可快速上手,支持市面所有券商,通达信交易接口正规合法,无需担心接口失效安全等问题. 通达信交易接口ap ...

  8. 通达信交易接口:让交易更高效

    通达信是国内著名的股票交易软件,其交易接口可以让开发者通过编程的方式进行自动化交易.本文将介绍通达信交易接口的部分API参数和代码示例,并分享一个基于通达信交易接口实现的量化策略代码. 登录参数 登录 ...

  9. 通达信交易接口如何确保数据的完整性的?

    我们拿到通达信交易接口之后,首先肯定是要确定通过接口获得的数据是不是完整的,因为只有完整的数据,才能帮助我们更好的进行交易,那我们应该怎么做呢? 其实,只要我们的通达信交易接口是通过官方获取的,基本上 ...

最新文章

  1. 2018 CVPR GAN 相关论文调研 (自己分了下类,附地址哦)
  2. 【Android 逆向】函数拦截实例 ( ② 插桩操作 | 保存实际函数入口 6 字节数据 | 在插桩的函数入口写入跳转指令 | 构造拼接桩函数 )
  3. REST架构下,浏览器怎么发送put与delete请求?
  4. 【音视频安卓开发 (七)】安卓视频播放窗口去掉标题栏、全屏、横屏
  5. cocos2d-x的Android工程开启c++0x特性
  6. java 进程不关闭_java运行程序关不了窗口
  7. 运行npm install命令后的执行过程
  8. Codeforces 解题报告索引
  9. Win7登录时出现Group policy client 未启动无法登陆问题的解决方法
  10. 12c rman中输入sql命令
  11. Spring Cloud Bus消息总线(学习总结)
  12. Linux_USB2I2C驱动安装(以CH341驱动安装为例)
  13. InstallShield 取消特定安装步骤
  14. 货币的一种互联网体系架构
  15. html元素span,[转载]HTML元素 - span标签 使用介绍
  16. 基于四叉树分割和多分辨率相关的快速小波分形编码
  17. shell脚本批量处理ping IP测试
  18. 从零开始的数模(二十)变异系数法
  19. PuTTY 提示error错误 no supported authentication methods available (server sent: publickey)
  20. 那些做App启动页面应该要想到的地方(Android)

热门文章

  1. 2022劳务员-通用基础(劳务员)复训题库及在线模拟考试
  2. 计算机系统基础实验 pa1
  3. VR中多模式异步协作的挑战和设计考虑因素
  4. java excel 数据有效性_Excel设置数据有效性实现单元格下拉菜单的3种方法
  5. token 微信access 过期_微信开发ACCESS TOKEN 过期失效解决方案
  6. [Maven 基础]-- Dependency Scope
  7. 微信公众帐号——开发模式
  8. ASP与ASP .net
  9. Docker学习笔记1-初识Docker
  10. 关于安卓上pcm文件转wav全是噪音解决办法