提示:如果您对本文有疑问可以在下方留言,博主会每天抽空回复一下

文章目录

  • 前言
  • 一、managerAPI是什么?
  • 二、serverAPI
  • 总结

前言

MT4开发官方提供的有managerAPI和serverAPI,本文将介绍一下二者的区别,以及什么情况下是使用mannagerAPI什么情况使用serverAPI,希望对你开发有所帮助,如有疑问可在下方留言


一、managerAPI是什么?

如下图,

MT4的管理软件你应该用过, 我们用managerAPI可以开发出像这种软件的功能。
managerAPI需要服务器的IP:端口 以及manager的用户名密码才能有权限去调用manager接口
使用managerAPI开发需要连接服务器 代码如下:

   if((res=manager->Connect("IP:端口"))!=RET_OK || (res=manager->Login(用户ID,"密码"))!=RET_OK){printf("%d (%s)\n",res,manager->ErrorDescription(res));return ;}

managerAPI所使用的函数都包含在一个动态库中,所以开发出来的程序会带有一个DLL文件
这种方式开发难度较低,一般我们没有服务器权限,有manager权限的情况下 比如白标 可以通过这种方式去开发相关的功能,比如市面上很多CRM就是通过managerAPI去开发的,基本常用功能都能找得到具体方法可以看我另一篇博文
[https://blog.csdn.net/asplh/article/details/127154191?spm=1001.2014.3001.5501]
需要c++DEMO的话可在下方留言索取

二、serverAPI

serverAPI需要有服务器的权限,因为这种方式开发出来的是一个dll插件,插件需要我们放入到服务器MT4主目录的plugin目录中。这样MT4在重启后就可以加在刚刚我们的插件了。
加在后我们可以再管理软件中看到我们刚刚的插件

MT4serverAPI不需要像managerAPI那样知道管理用户名和密码,而是只要放入服务器中就自动加在调用,serverAPI部分功能是managerAPI也能实现的,不过serverAPI核心功能managerAPI无法做到的。
serverAPI的核心是HOOK。也就是说他可以拦截用户的一些操作比如连接服务器,登录,下单等等功能 这里就不一一列举了,后面会挑一些常用的讲一下。
举例来说:
如果我们在插件中有MtSrvUserLogin,当用户有登录操作的时候,MtSrvUserLogin就会拦截到此操作,
并且获取到用户信息

struct UserInfo{//--- common settingsint               login;                      // loginchar              group[16];                  // groupchar              password[16];               // passwordchar              name[128];                  // namechar              ip[16];                     // IP address//--- access flagsint               enable;                     // enableint               enable_change_password;     // allow to change passwordint               enable_read_only;           // allow to open/positions (TRUE-may not trade)int               flags;                      // internal data//--- trade parametersint               leverage;                   // leverageint               agent_account;              // agent account//--- trade datadouble            balance;                    // balancedouble            credit;                     // creditdouble            prevbalance;                // previous day balanceConGroup          grp;                        // client group};


在比如比较火的跟单系统,我们可以拦截MtSrvTradesAdd,当有下单操作的时候服务端会第一时间拦截到此操作。我们可以根据需求编写后续代码


总结

不管使用哪种方式去开发适合自己需求的是最好的,并不是serverAPI一定比managerAPI要好,反之也一样,得根据自己需求去选择。后续会陆续更新一些MT4相关技术,想了解更多可以关注一下,有任何疑问可在下方留言交流

MT4插件开发简介(开发思路)相关推荐

  1. c#语言识别开发,CVE-2020-1938检测工具界面版开发思路(C#语言开发)

    本帖最后由 可爱的小雨淅淅 于 2020-3-12 13:48 编辑 直奔主题了 0x00  漏洞简介 说起tomcat  大家肯定不陌生  基本上 javaweb项目基本都用tomcat去部署 包括 ...

  2. halcon学习笔记——机器视觉工程应用的开发思路

    机器视觉工程应用主要可划分为硬件和软件两大部分. 硬件:工程应用的第一步就是硬件选型.硬件选型很关键,因为它是你后面工作的基础.主要是光源.工业相机和镜头选择. 软件:目前业内商业库主要有Halcon ...

  3. Halcon学习笔记——机器视觉应用工程开发思路及相机标定

    机器视觉应用工程开发思路 机器视觉应用工程主要可划分为两大部分,硬件部分和软件部分. 1.硬件部分,硬件的选型至关重要,决定了后续工作是否可以正常开展,其中关键硬件部分包括:光源,相机以及镜头. 2. ...

  4. php进阶面向对象及tp5,TP5实战技巧---开发思路 引路造桥

    ## TP5实战技巧实例---开发思路 > 子曰:"学而不思则罔,思而不学则殆." [TOC] ### 利用TP的MVC框架 做快速开发 >[success] 写在前面 ...

  5. STM32的学习记录--单个模块开发思路

    1. 前言 很久没写STM32的学习博客了,不是因为没在搞,而且因为STM32要学习的部分太多,而且代码量太大了,有些代码还涉及到版权问题,就一直没写,最近刚好在搞一个智能设备有关WiFi模块的开发, ...

  6. php制作的ios端 跳转url,ThinkPHP 简易开发思路 MVC和URL跳转

    本文作者:Twe1ve(贝塔安全实验室-核心成员) 这段时间在看PHP代码审计相关知识,国内有不少CMS都是基于ThinkPHP开发的,因此了解ThinkPHP的开发思路更容易理解这类CMS的代码 一 ...

  7. 二次开发 英文_Revit二次开发——异形柱翻模插件的开发思路

    BIM管线综合项目中,结构模型柱梁板搭建,属于最没有营养的 而结构模型的精确是后续开展的前提 结构主体自动化建模--人工校核梁尺寸标高.板厚等,是效率较高的工作流程 看市面上翻模插件的数量就知道需求有 ...

  8. Android-图像识别项目OpenCV(4):开发思路以及问题

    上一篇文章:Android-图像识别项目OpenCV(3):程序目标以及单独发布 六.开发思路 搭建好环境和做好各种准备功夫,接下来就开始我们的开发之路. 首先,我们先查看一下官方教程文档,看有没有我 ...

  9. 抖音矩阵号搭建及开发思路分享丨抖音矩阵源码丨抖音矩阵号运营

    矩阵就是一个内容在多个平台多个账号去做分发,以此去获得的更大的公域流量.通过单个账号带动其他账号分散形成流量,那矩阵通过多个单账号做内容分发,再引流到主账号才是矩阵号的核心思维. 比如我们有10个账号 ...

最新文章

  1. python自动化干什么-Python接口自动化测试(一)什么是接口?
  2. JavaWeb:上传下载文件
  3. 华科计算机考研2022年分数线,2022年华中科技大学软件工程考研分数线、参考书、上岸前辈初复试经验...
  4. format函数python是什么意思,python的format函数是什么意思
  5. vue菜鸟从业记:完成项目最后一公里之真机测试和打包上线
  6. Java实现点击导出excel页面遮罩屏蔽,下载完成后解除遮罩
  7. 清华美女学霸数学笔记曝光, 精美程度无与伦比
  8. linux删除默认路由
  9. 从云数据迁移服务看MySQL大表抽取模式
  10. web前端基础(13js语法基础)
  11. 推荐轻量高效无依赖的开源JS插件和库
  12. 190331每日一句
  13. internet信息服务器管理器,细述Win10系统上开启internet信息服务(iis)管理器的操作步骤...
  14. 关于通过图注意神经网络处理多元时间序列的错误预测论文的讨论
  15. 5G 第五代移动通信系统你知多少?
  16. android循环录制,按键精灵安卓版为什么我录制的脚本无法循环
  17. mac上使用dbeaver设置字体大小
  18. 在输入框加入搜索图标的问题
  19. 大数据常用同步工具(DataX/Sqoop/Nifi/Canal等)
  20. 灵隐寺招聘:没有KPI、佛系上班、一切随缘

热门文章

  1. 取经:学霸的作息时间是怎么样的?为什么不会困?
  2. 图书馆学毕业论文题目【最新】
  3. java游戏服务器开发之四--通讯框架netty
  4. 【Oracle问题】Oracle12c安装问题:INS-30014
  5. intrusive_ptr源码分析
  6. 安装Visual Studio 2015时,出现JavaScript_ProjectSystem.msi和JavaScript_LanguageService.msi安装包丢失或损坏的情况
  7. 如何确定自己适合软件测试还是开发
  8. orbslam2-基础理论(六)-g2o(常用的优化算法)
  9. mesh 协调器 路由器_关于zigbee协调器(单播方式)传输数据给网络中的多个路由器丢失数据包的问题?...
  10. 信工实验参考——《通信原理实验1——话音信号的PCM编译码综合实验》