错误、漏洞、问题 - 页 2244

 
Ilyas:

在一个未初始化的数组中包含什么数据并不重要,在任何时候,数据都可能发生变化,没有人保证它的价值。
这就是为什么使用未初始化的变量(读取内存)有时会导致一些情况,需要长时间寻找原因。

  1. 在一台电脑上工作,在另一台电脑上不工作
  2. 在终端工作,在测试器中不工作
  3. 升级 后的终端/操作系统 程序表现不同
  4. 我添加了打印,但它不再起作用了。
  5. 等。

我只能给出一些建议。
你应该养成总是初始化数据的习惯,这样将来你就不会浪费大量的时间去寻找与缺乏初始化有关的错误。

谢谢你的澄清和建议。

 
Ilyas:

ArrayResize没有清理内存,所以它包含了来自前一个 "消费者 "的垃圾。

这样做是为了提高速度,因为在为数组分配内存 后,在99.99(9)%的情况下,用户会用他们的数据来 "填充 "它。


这不是正确的解释,这可能会给新手带来麻烦;ArrayResize帮助文件中有正确的解释。

实质上,新手需要首先了解什么是数组,以及它是如何存储在内存中的,它是如何被创建的,以及如何为它分配内存,然后他们就不会有任何问题了。

ps.一般来说,MQL5中数组的实现比C++中的差,结构也是如此。

在简单的程序中,数组的实现是成功的,而在复杂的程序中,它成为一个问题。

 
Artyom Trishkin:

你说 "不 "是什么意思?没有人把内存条从主板插槽中取出。一旦内存出现并被释放(不是用一个值初始化,而是被释放),它将被用于其他程序的需要。

内存,是指存储的信息,而不是存储介质,也就是RAM吧。

我不知道内存没有清零,只是释放/分配了地址来存储,你必须自己组织清零。

谢谢。
 

我注意到很久了,通过终端开立模拟账户时,搜索经纪商/交易服务器的功能不能正常工作。

我输入经纪人的名字,但没有得到任何信息


如果我输入贸易服务器的全名,我就会得到想要的结果


 

安装MT5 1882,从网站下载的文件(https://download.mql5.com/cdn/web/metaquotes.software.corp/mt5/mt5setup.exe?utm_source=www.mql5.com&utm_campaign=download)。
启用了UAC,在授予管理员权限之前会发生错误。
以管理员身份运行并不能解决问题,只是隐藏了错误信息框。




 

有什么建议吗? 建立1881年的mt5。我正在运行正常的优化。结果是,优化被重新运行,但本地代理不启动--只有连接和断开连接。代理商日志中没有任何内容。

只有重新启动mt才有帮助。

 

在同一个构建中,我遇到了一个问题。Mt不想像以前那样追加到文件的末尾--它总是把它揉进去

int f = FileOpen(file,FILE_COMMON|FILE_READ|FILE_WRITE|FILE_TXT) 。

 

2018.07.26 19:23:56.269 核心01 测试员代理授权错误

怎么样)))。?",该怎么做呢?

 
Anton Ohmat:

2018.07.26 19:23:56.269 核心01 测试员代理授权错误

怎么样)))。?",该怎么做呢?

充其量,渲染器窗口没有关闭。在最坏的情况下,一个古老的已知问题。

 
Anton Ohmat:

在同一个构建中,我遇到了一个问题。Mt不想像以前那样追加到文件的末尾--它总是把它揉进去

int f = FileOpen(file,FILE_COMMON|FILE_READ|FILE_WRITE|FILE_TXT) 。

在写文件之前,你是否对文件的末端进行了FileSeek?