智能交易网,程序化交易,自动交易,量化交易

 找回密码
 注册

QQ登录

只需一步,快速开始

手机短信登录

参加MT4智能交易编程培训,7课免费在线试听MT4指标,EA代写,或EA指标加密账户远程验证服务 最完善商业MT4跟单系统(0.1秒极速响应不漏单)
为论坛做贡献有奖学金,奖学金可直接换真钱 扫本站微信公 众号部分视频课程指标EA免费得智能交易网MT4操盘神器,扫公众号免费得
查看: 326|回复: 2

C++怎样与MT4进行数据交互?用DLL的方式!

[复制链接]
发表于 2019-3-24 17:41:13 | 显示全部楼层 |阅读模式
MT4和C++怎样进行数据交互啊?有朋友知道吗?比如数组与结构的交互!
例如: 把MT4里的高开低收做为一个结构体数组怎样传入C++的DLL中,又怎样从C++的DLL中读取处理后的数组,比如C++里的vector里的数据传入到MT4里的指标可以进行读取数据!
回复

使用道具 举报

发表于 2019-3-25 08:51:08 | 显示全部楼层
第38课 dll动态链接库开发实现简单加密
http://www.zhinengjiaoyi.com/for ... hread&tid=18859
(出处: 智能交易网,程序化交易,自动交易,量化交易)
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-3-25 15:14:47 | 显示全部楼层
MT4MT5 发表于 2019-3-25 08:51
第38课 dll动态链接库开发实现简单加密
http://www.zhinengjiaoyi.com/forum.php?mod=viewthread&tid=1885 ...

老师MT4现在是不能直接把数组数据传入dll里了吗?下面是MT4里的自带的脚本DLL案例,有如下问题,获取不到函数:如图:
  1. //+------------------------------------------------------------------+
  2. //|                                           DLLSampleTester1.1.mq4 |
  3. //|                        Copyright 2017, MetaQuotes Software Corp. |
  4. //|                                             https://www.mql5.com |
  5. //+------------------------------------------------------------------+
  6. #property copyright "Copyright 2017, MetaQuotes Software Corp."
  7. #property link      "https://www.mql5.com"
  8. #property version   "1.00"
  9. #property strict

  10. #import "DLLSample.dll"
  11. int    GetIntValue(int);
  12. double GetDoubleValue(double);
  13. string GetStringValue(string);
  14. double GetArrayItemValue(double &arr[],int,int);
  15. bool   SetArrayItemValue(double &arr[],int,int,double);
  16. double GetRatesItemValue(MqlRates &rates[],int,int,int);
  17. #import

  18. #define TIME_INDEX   0
  19. #define OPEN_INDEX   1
  20. #define LOW_INDEX    2
  21. #define HIGH_INDEX   3
  22. #define CLOSE_INDEX  4
  23. #define VOLUME_INDEX 5
  24. //+------------------------------------------------------------------+
  25. //| Script program start function                                    |
  26. //+------------------------------------------------------------------+
  27. void OnStart()
  28.   {
  29.    double ret,some_value=10.5;
  30.    string sret;
  31.    int    cnt;
  32. //--- simple dll-functions call
  33.    cnt=GetIntValue(int(some_value));
  34.    Print("Returned value is ",cnt);

  35.    ret=GetDoubleValue(some_value);
  36.    Print("Returned value is ",ret);

  37.    sret=GetStringValue("some string");
  38.    Print("Returned value is ",sret);
  39. //---
  40.     double   price;
  41.     double   arr[5]={1.5,2.6,3.7,4.8,5.9 };
  42.     MqlRates rates[];
  43. //--- get first item from passed array
  44.     price=GetArrayItemValue(arr,5,0);
  45.     Print("Returned from arr[0] ",price);
  46. //--- change second item in the passed array
  47.     if(SetArrayItemValue(arr,5,1,1234.5)==true)
  48.     Print("Changed to ",arr[1]);
  49. //--- get current close
  50.     ArrayCopyRates(rates);
  51.     price=GetRatesItemValue(rates,Bars,0,CLOSE_INDEX);
  52.     Print("Returned from Close ",price);
  53.   }
  54. //+------------------------------------------------------------------+
复制代码

错误提示

错误提示
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|sitemap|智能交易网,程序化交易,自动交易,量化交易 ( 苏ICP备08108698号,苏州智德金网络科技股份有限公司版权所有 )

GMT+8, 2019-7-22 02:26 , Processed in 0.051066 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表