MySQL 封装 - MetaTrader 4程序库
- 显示:
- 4635
- 等级:
- 已发布:
- 2016.03.29 13:36
- 已更新:
- 2016.11.22 07:33
- 需要基于此代码的EA交易或指标吗?请在自由职业者服务中订购 进入自由职业者服务
作者:
Russell
有几种解决方案用于读写MySQL数据库. 在MT4中写 MySQL 数据一般不是大的问题. 但是读取部分比较困难. MT4 不能很好地处理 C++ 结构, 只支持基本类型, 例如 int, double. 而 string 是不支持的. 其他的方案使用 SELECT 语句来连接所需的栏位. 我觉得此种方案不够稳定, 有很高的出错风险. 本封装把两个MySQL结构转换为MT4可以处理的类型. 所有libmysql中的原始函数也都在封装中输出. 完整源代码在zip文件中.
示例:
#include <mysql_v2.0.4.mqh> int init(){ Print(MT4_mysql_wrapper_version()); MySQL_Init(); getDB(); return(0); } int deinit(){ MySQL_DeInit(); return(0); } int start(){ return(0); } void getDB(){ //--------------v 这里设置您要select的栏位数量 string lsData[][2]; string lsQuery = "SELECT tableid,some_value FROM `mytable` INNER JOIN .... WHERE ... ORDER BY ..."; MySQL_FetchArray(lsQuery, lsData); for (int i = 0; i < ArrayRange(lsData,0); i++){ for (int j = 0; j < ArrayRange(lsData,1); j++){ Print(i+","+j+": "+lsData[i][j]); } } }
幕后:
https://www.mql5.com/en/users/gc1 指出了一些错误
安装:
mysql_v2.0.2.mqh - 放到您的include目录
mysql_wrapper_v1.0.2.zip
- 打开zip文件
- 把 mysql_wrapper_v1.0.2.zip\mysql_wrapper\Debug\mysql_wrapper.dll 解压到 C:\Windows\system32\
讨论:
https://www.mql5.com/en/forum/111508
更新:
mysql_v2.0.4.mqh - 增加了更多的错误检查
mysql_wrapper_v1.0.3.zip - VS2008 新包装
由MetaQuotes Ltd译自英文
原代码: https://www.mql5.com/en/code/8623
用于处理现货货币对, 现货黄金, 现货白银, 并含有错误处理的函数. OrderProcess() 已经加强. 增加了新的函数, Lots, OrderCloseByRetracement, OrderModifyTS 和 OrderSendI. 修改版 2 已经在EA中使用
烛形模式当烛形模式持续出现或反转时提供可视可听的提醒.