分类
安全和简单的方法赚钱

MT4API跟单

python

MT4行情交易API接口开发手记

1、用C++编写一个动态库文件,在里面实现行情和交易数据调用接口,将报价数据和K线数据写入数据库中,并从数据库中获取外汇量化系统发出的交易指令。
2、在MT4中编写EA文件,在MT4上不间断运行,从MT4平台实时获取报价和K线数据,并调用动态库写入数据库中,于此同时,不断从数据库中获取交易指令,再调用MT4的交易指令完成交易。
采用此种方法的好处就是兼容性强,只要打开MT4软件运行EA,就可以完成行情和交易接口的获取,也不用管是哪个外汇平台,即使MT4软件升级了也能继续用。缺点就是必须打开一个MT4软件专门获取行情和报价数据,同时每个交易的账户也必须要运行一个MT4软件,比如有10个外汇账户,就必须运行10个MT4软件。交易账户不多的话,运行速度和各方面指标也尚可接受,周末都不用重启或关闭,基本上实现7X24小时不间断运行。
一晃自己的量化系统就运行了几年了,中间也不断进行各种优化,但随着交易账户的不断增加,对软硬件的考验就越来越高了,一台普通的服务器,同时运行10多个账户就感觉有点吃力了,毕竟MT4本身就是一个大型的行情和交易软件,要占用不少软硬件资源,还要加上数据库服务器,现在感觉3、4台服务器都不够用了,网络带宽也开始吃紧,已经到了非改不可的时候了。
对于MT4行情和交易的API接口,自己一直都有耳闻,据说这种API接口,可以直接连接MT4行情和交易服务器,而且可以不用管是哪家外汇平台,只要该平台支持MT4软件即可使用。现在市面上很多跟单系统和跟单平台,就是通过该API接口来实现跟单服务的,但感觉这种API接口应该不是MT4软件开发商推出的,属于第三方软件,甚至有可能就是通过对MT4软件进行逆向分析提取出来的东西,一旦MT4软件升级了,就有可能导致API接口失效。记得以前网上就有通达信的行情和交易接口,可以获取国内A股行情并实现交易,自己当时还付费买了一套回来并使用了一段时间,据说也是逆向分析通达信系统得来的,但用了一段时间后,随着通达信软件和券商后台系统的升级,就无法使用了。
去年初的时候,自己就获取了一套MT4行情和交易接口及相关调用资料,但一直未去深入研究,因为该接口就仅仅是一个DLL文件,需要在Window 的.Net 平台下用C#开发和调用,自己对C#并不熟悉,这种托管DLL用其它的开发语言也不好调用,最主要是当时的重心和精力都放在量化系统和缠论策略的开发和优化上,对这种可有可无非要不可的东西实在无暇兼顾。但想着以后随着账户的不断增加,这种API调用接口肯定要用到,毕竟同时打开几十个MT4软件来实现交易接口太费资源了!自己也曾想到花点钱请别人开发,但想着要和自己的量化系统深度融合在一起,沟通和开发起来也挺麻烦,再加上自己本身就是程序员出身,还是适当的时候自己开发吧!从那时起,闲暇时间自己翻看一下C#的编程书籍,了解一下C#的语言和用法,先为以后的使用打点基础。
上周,将自己几个要完成的开发工作按重要性和紧急性排列出来各种比较后,终于决定将MT4API接口的开发提上日程了,说干就干,在电脑上安装好VS2019后,这个星期就忙着搞开发了。整个接口的需求和流程其实自己已经非常清晰,唯一不足的地方是对VS2019和C#还不熟悉,但开发语言都是相通的,不懂不会的地方就查查书,或者百度及CSDN上搜索一下就好了。
花了两天时间,完成了大致的软件界面,并实现了行情和交易接口的简单调用,成功返回了想要的各项数据,开发工作挺顺利,各项功能正慢慢实现。自己是用真实的交易账户来测试的,想着这样频繁的测试,不断登录和退出,途中还会有不少出错和非法调用,会不会引起外汇平台的警觉,如果把自己的账户封禁掉,那可就麻烦大了,因此马上申请了个模拟账户来测试,结果悲剧了,接口竟然无法登录了,返回Old Version,看来平台的模拟账户后台服务器已经升级了,不再支持这个接口,而真实账户的后台服务器,可能考虑到兼容性的缘故,还没有进行更新,或者还兼容这个接口版本,因此还能使用。记得去年底有一段时间,听说很多跟单系统或跟单平台都无法使用了,就因为MT4软件商强制升级了一次,有的MT4后台服务器已经不再支持这个接口了。想着这样下去也不是办法,因此又开始想办法去找这个接口的最新版本,皇天不负有心人,仅半天时间就找到了一个新的API接口版本,不过这个接口有一点点限制。在这里不得不鄙视一下C#,像C#,JAVA这种开发语言开发出来的托管代码,真的很容易被反编译,简直就和真正的源码看起来没有什么差别,因此很快就被我把限制解除了。
正好这两个星期新冠疫情吃紧,有的小区还被封了,羽毛球馆也不让打球了,因此整个星期几乎没有出门过,就窝在家里辛辛苦苦搞开发了,老骥伏枥,像我这种老程序员了,想不到开发效率还挺高,到了今天周五,就把整套接口完成了。现在回想过来,难点上除了本身对C#进行各种熟悉外,怎么优化速度和算法也花了不少时间,这里就通过缓冲区来实现数据的存储和传递,还有各种多线程的运行来实现了。首先建立一个行情获取后台线程,通过API接口实时读取行情数据不断放入行情缓冲区中,再建立一个行情写库后台线程,读取行情缓冲区数据并写入数据库中。每个交易账户也通过建立专门的后台线程来实现登录和交易,1个交易账户占用一个单独的后台线程,10个账户就建立10个单独的后台线程,在接收指令也进行了优化,每个交易线程并不直接从数据库中读取自己的交易指令,这样会非常占用数据库资源,而是建立一个专门的交易指令读取线程,从数据库中读取指令后,再转发到各个交易线程上。MT4软件在断线断网后,会自动进行重连,这个非常重要,自己也专门创建了一个守护线程监测各个交易账户,如果有账户断线了就自动重连。创建了两个模拟账户进行测试,效果真的非常好,速度非常快,毫秒级开单和平仓,比原来通过MT4的EA来实现开单和平仓要快得多了。高兴之余,下周再优化和测试一下,下个月应该就可以实际部署和运行了,而且这套接口和原来的EA调用接口是兼容的,两套接口可以随时进行切换,相当于双重保险了。废话不多说,附上软件截图。



另外再附上MT4API接口资料,官网:http://www.mtapi.online

一套接口要3000美金呢,带源码的接口要6000美金哦。
其实新版本接口和旧版本接口在调用方法上已经更改了不少,还好可以从这个网站里获取最新资料帮助。

MT4API跟单

在这里插入图片描述

1、MT4 API交易接口是什么?
Api接口是跨平台多账号交易接口,是将MT4交易通道以API的方式聚合在一起,帮助开发商在各经纪商不提供manager后台账号、无须EA插件的情况下,也能轻松接入不同的MT4交易平台,完成登录、交易和订单查询的功能,真正实现跨平台交易,减少巨额的人工成本和硬件成本。适合开发行情展示或者订单管理,交易策略等,如果可以,你甚至可以用他开发一个MT4客户端!该API比使用MT4终端进行报价和交易要快得多;提供实时开仓、平仓等多种功能。

2、MT4 API的协议传输方式
MT4 API接口是基于MT4的底层通讯格式,进行模拟信息传输的方式实现了实时通信,这不仅摆脱了MT4系统的限制,能够通过搭建第三方环境来实现和券商服务器通信,还摆脱了券商Manager API接口权限的限制,真正实现了全MT4券商的支持。

3、MT4 API交易接口提供实时价格行情和交易业务:
允许用户 C ++, C#, Python Java 等语言进行分析 交易策略及以及其他应用类业务 二次 MT4API跟单 开发。相对 M T4 本身的交易客户端, MT4 API 提供更快速的访问实时价格行情和交易访问连接。

4、MT4 API提供了哪些业务功能?
实时报价
直连mt4服务器获取品种信息,订阅关注的品种,获取实时报价行情。 MT4API跟单
历史行情
获取指定时间段内历史报价,分析历史走势,制定合理交易策略。
交易处理 MT4API跟单
直连mt4服务器进行交易,不需要mt4终端客户端,响应更快更及时。
订单反馈
实时的平仓,开仓信息反馈!让你对订单变化一目了然。
历史订单
获取历史订单,用于分析历史交易盈亏,绘制报表等。
实时盈亏
提供账户的实时资金信息和盈亏状态,做好风控处理。

5、MT4 API的开发适用场景可用于开发以下系统或工具
交易平台
算法平台
套利系统
风控系统
信号系统
竞赛程序
多账户管理系统
性能统计
二进制插件

6、MT4 API交易接口更新情况
MT4 API交易接口跟随迈达克的更新而更新的,一年在约有一到两次的更新频率,一旦更新,所有上述的系统工具及MT4 跨平台跟单软件都需要同步更新才可以使用,最近的一次MT4 API交易接口更新为2021年7月10日更新。

很多没有使用过这个交易所功能的学生可能会问:什么是API接口。API接口是交易所系统给出的允许程序操作的接口。简单来说,交易所给出了一个通道,允许(实盘脚本)程序在交易所系统(交易所网站上的某个交易对面下订单、撤单、查单、查账户资产、查仓位等。
交易所API分为多种类型的接口,通常包括REST协议接口和WebSocket协议接口。很少有交易所也提供FIX协议接口。这些只是为了理解,我们使用的最多的是REST协议接口,通常可以在交易所官方网站底部的API字样链接中找到。有时你需要在这些文档中查看一些接口错误的信息。每个交易所的API系统不同,差异化很大。对于具体问题,需要查看文档。如果你不是战略开发者,那么这些内容只能作为理解。

python

MT4接口API,VC++调用范例MT4 API

MT4 外汇交易语言 API

外汇API跟单软件-MT4PAI跟单系统-都富外汇跟单.zip

1、 无需EA插件 . 3、 无需平台API接口 4、 支持跨平台跟单(不支持EA的平台也可以跟) 5、 无掉单漏单 6、 毫秒级跟单 7、 一键强制补仓 8、 每个跟单账号可以独立风控 9、可以正向和反向跟单 10、支持分笔平仓

MT4API跟单、外汇API跟单接口详解

1、MT4API交易接口是什么?

2、MT4API的协议传输方式

MT4 API接口是基于MT4的底层通讯格式,进行模拟信息传输的方式实现了实时通信,这不仅摆脱了MT4系统的限制,能够通过搭建第三方环境来实现和券商服务器通信,还摆脱了券商Manager API接口权限的限制,真正实现了所有MT4券商的支持。

3、MT4 API交易接口提供实时价格行情和交易业务:

允许用户 C ++, C#, Python Java 等语言进行分析 交易策略及以及其他应用类业务 二次 开发。相对 MT4 MT4API跟单 本身的交易客户端, MT4API 提供更快速的访问实时价格行情和交易访问连接。

4、MT4 API提供了哪些业务功能?

实时报价
直连mt4服务器获取品种信息,订阅关注的品种,获取实时报价行情。
历史行情
获取指定时间段内历史报价,分析历史走势,制定合理交易策略。
交易处理
直连mt4服务器进行交易,不需要mt4终端客户端,响应更快更及时。
订单反馈
实时的平仓,开仓信息反馈!让你对订单变化一目了然。
历史订单
获取历史订单,用于分析历史交易盈亏,绘制报表等。
实时盈亏
提供账户的实时资金信息和盈亏状态,做好风控处理。

5、MT4 API的开发适用场景可用于开发以下系统或工具

交易平台
算法平台
套利系统
风控系统
信号系统
竞赛程序
多账户管理系统
性能统计
二进制插件

6、MT4 API交易接口更新情况

c# windows wpf

免费实时汇率查询Api接口

https://api.it120.cc/gooking/forex/rate?fromCode=CNY&toCode=USD 接口说明 本接口使用 GET 方式请求即可,你可以直接将地址复制到浏览器中打开查看效果 如上面的例子,查询的是人民币(CNY)和美元(USD).

本接口使用 GET 方式请求即可,你可以直接将地址复制到浏览器中打开查看效果
如上面的例子,查询的是人民币(CNY)和美元(USD)之间的汇率关系,也就是1美元(USD)等于多少人民币(CNY)
接口返回

USD:美元
CNY:人民币
GBP:英镑
EUR:欧元
HKD:港币
MOP:澳门元
JPY:日元
CAD:加拿大元
AUD:澳大利亚元
SGD:新加坡元
KRW:韩元
PHP:菲律宾比索
THB:泰国铢
CHF:瑞士法郎
NZD:新西兰元
DKK:丹麦克朗
NOK:挪威克朗
SEK:瑞典克朗
RUB:卢布
MYR:林吉特
ZAR:MT4API跟单 南非兰特

谈谈MT4API外汇交易接口

MT4API外汇交易接口

MT4API交易接口到底是什么东东?

这个外汇的交易接口,就是提供外汇, CFD 及期货等产品程序化接口服务, 是 直连 M T4 的行情服务器和交易服务器的 A PI 接口。

有哪些特点?

MT4API外汇交易接口业务示意

  1. 提供实时价格行情和交易业务;
  2. 允许用户 C ++, C#, Python Java 等语言进行分析 交易策略及以及其他
  3. 应用类业务 二次 开发。相对 M T4 本身的交易客户端, MT4API 提供更快速的访问实时价格行情和交易访问连
    接。

提供了哪些业务功能?

  1. 实时报价:提供直连MT4行情服务器获取证券信息,并订阅希望关注的的证券代码,获取实时报价行情!
  2. 历史行情:获取指定时间段内的证券历史报价行情,分析历史走势,制定合理的交易策略。
  3. 交易处理:直连交易服务器进行交易处理,无中转,响应更快更及时!
  4. 订单反馈:实时的平仓,开仓信息反馈!让你对订单变化一目了然!
  5. 历史订单:获取历史订单,用于分析历史交易盈亏,绘制报表等。
  6. 实时盈亏:提供账户的实时资金信息和盈亏状态,做好风控处理!

MT4API的开发适用场景

交易接口

MT4五 EA邮件通知ftp http

在这里插入图片描述

一、发送邮件
1、设置邮箱信息

2、使用SendMail发送邮件
SendMail(const string subject,const string text);

在这里插入图片描述

二、发送通知
1、手机端安装MT4,并获取MetaQuates ID

2、使用SendNotification发送通知到手机端MT4
SendNotification(const string message);

三、上传文件
1、设置ftp服务器

2、将要上传的文件保存到file文件夹中

3、通过SendFTP上传文件
SendFTP(const string file_name,const string ftp_path=NULL);

在这里插入图片描述

四、访问网站
1、添加允许访问的站点

2、通过WebRequest请求网站
int WebRequest(
const string method, // HTTP method
const string url, // URL
const string cookie, // MT4API跟单 cookie
const string referer, // referer
int timeout, // timeout
const char &data[], // the array of the HTTP message body
int data_size, // data[] array size in bytes
char &result[], // an array containing server response data
string &result_headers // headers of server response
);