文章 "如何从 MQL5 (MQL4) 访问 MySQL 数据库" - 页 4

 
ingvar_e:

32 位 M5 的安装和编译都很正常,但我无法通过以下方法获得 tickvalue

SymbolInfoDouble(对,SYMBOL_TRADE_TICK_VALUE)

返回 0;

也许在 Windows 64 位机器上运行 32 位 MT5 不是个好主意。还有其他故障迹象。下一次尝试是在我的 64 位计算机上安装 32 位操作系统。

这些弯路总是让你偏离主航线很远:-(

看来我不得不放弃这个工具,转而使用 MySQL。安装新的 Windows XP 太麻烦了,而且没有 W7 密钥。

我正在与服务台讨论这个问题,希望能尽快得到好消息。

关于 TICK_VALUE,我在 MT4 中也遇到了同样的问题。以下是我使用的解决方法:

tick_value = 0;
while (tick_value<=0) { tick_value = SymbolInfoDouble(symbol, SYMBOL_TRADE_TICK_VALUE);}

tick_value = SymbolInfoDouble(symbol, SYMBOL_TRADE_TICK_VALUE);
while (!MathIsValidNumber(tick_value))
      {
       Sleep(50);
       tick_value = SymbolInfoDouble(symbol, SYMBOL_TRADE_TICK_VALUE); 
      }
 
elugovoy:

我正在与服务台讨论这个问题,希望能尽快得到好消息。

关于 TICK_VALUE,我在 MT4 中也遇到了同样的问题。以下是我正在使用的解决方法:

我试试 :-)

不起作用。陷入循环。

 

关于刻度值问题,我有一个想法。我正在运行一个多币种的 EA,一开始会为每个货币对获取大量信息。因此有点像 "锤击"。我将改变这种情况

只有在需要时才会询问 tickvalue。(并保存)

- 已更新 --

尚未完全恢复。已做出上述更改。优化仍然有效。启动 EA 时没有错误信息,当 EA 完成交易后才会有确定信息。必须等待。

这是在 Windows 7 64 位环境中运行 32 位版本的 EA。如果它能运行,至少能暂时解决问题。

我只在第一个订单即将到达时获取 Tickvalue 并将其保存。

 

通过在MT5 安装程序 中添加"/32 "来安装 32 版本,在 Windows 7 64 位计算机上运行正常,mysql 工具也运行正常。

回到基本的设计问题和 EA 测试、

 
mat.twg:

感谢您的文章!有多少解决方案没有尝试过同样的事情无处不在,如果你不打扰请看看日志,我不能理解什么....

MySQL 服务器:

  • 服务器: localhost via TCP/IP
  • 服务器版本:5.6.10
  • 协议版本:10
  • 用户:root@localhost
  • MySQL 编码:UTF-8 Unicode (utf8 )
  • InnoDB 数据库,UTF8-General-Ci

MT5 版本 1035

操作系统:Win8.1 x64

这是一个 MT5 build 1035, x64 错误。已通知服务台,他们保证在下一个版本中修复。

问题在于 MQL 程序从动态库中接受字符串值。

在 MT5 版本 1035 x32 中,它可以正常工作,不会出现此错误。

 
ingvar_e:

通过在 MT5 安装程序中添加"/32",在 Windows 7 64 位计算机上运行 32 版本的安装程序,mysql 工具也能正常工作。

回到基本的设计问题和 EA 测试、

你好 Ingvar、

MetaQuotes 服务台承诺将在下一个 MT5 版本中修复该问题。

因此,我们只需等待下一个 MT5 版本的发布。

谢谢

 
elugovoy:

你好 Ingvar、

MetaQuotes 服务台承诺在下一个 MT5 版本中修复该问题。

因此,我们只需等待下一个 MT5 版本的发布。

谢谢

感谢您提供信息。同时,我运行的是 32 位版本。使用 /32 选项安装,运行正常。

这个软件不错。用脚本从文件中存储交易参数,然后在 EA 中检索。MySQL 在我的服务器上运行,因此我

MySQL 在我的服务器上运行,因此我可以在另一台服务器上运行的 EA 和本地开发计算机上检索参数

 

又见面了。

新版 1060 已经发布。你测试过他们是否修复了吗?

 
ingvar_e:

又见面了。

新版 1060 已经发布。你测试过他们是否修复了吗?

是的,现在运行正常(已测试过版本 1062)
 

好的,我现在测试了 1060,它也能正常工作。

很好,简化了我的测试。去掉 32 位