MT5直接调用C++ Dll库

一、 MT5简介
MT5本身应该不需要过多介绍了,就是强大。
二、获取MT5安装程序
https://www.metatrader5.com/,直接下载并安装
在这里插入图片描述
打开MT5界面,看到导航窗口,右击服务,创建一个新服务
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
填上相关信息,点击完成即可。
在这里插入图片描述
现在一行代码没有写,点击MetaEditor菜单上的编写,编译这个服务,然后在MT5l中导航窗口刷新一下,就看到新建的服务程序了。也可以看到MT5的安装目录下,MQL5下面的Services目录下已经生成可执行程序。
在这里插入图片描述
然后我们回到VS2015上面来,新建一个Win32 DLL项目,创建一个空的工程,添加头文件
demo.h:
extern “C” int __declspec(dllexport) AddInt(const int Num1,const int Num2 );
demo.cpp:
#include “demo.h”
int AddInt(const int Num1,const int Num2 )
{
return Num1 + Num2;
}
在这里插入图片描述
必须选择x64的,因为MT5不支持32位。
生成的DLL文件复制到MT5安装目录下的MQL5\Libraries目录下
然后回到MetaEdit中
在代码中添加:
#import “demo.dll” //导入demo库
int AddInt(int,int); //声明库函数
#import

然后在OnStart函数中调用库函数:
void OnStart()
{
int a = AddInt(3,4);
printf(“AddInt(3,4) = %d”,a);
}
由于这个库只演示,所以简单一点。再点击编写来编译一下,然后回到MT5 导航窗口,双击新建的服务,把允许DLL导入勾选上。
在这里插入图片描述
然后右击服务,全部启动,结果就会在工具箱窗口中,专家页面显示:
在这里插入图片描述
由于代码简单,只有一行的输出,代码就跑到了函数结尾,服务就结束了。但是如果需要服务不间断或定时完成一些功能的话,就从代码中添加自己需要的功能,这里只演示MT5调用DLL的流程和设置。

猜你喜欢

转载自blog.csdn.net/griffin041702/article/details/120935560