错误、漏洞、问题 - 页 2456

 
Vladimir Karputov:
阅读帮助。阅读 "关于信号服务的常见问题"。观看关于信号服务的视频帮助。
而目前,我强烈建议在这个交易账户上关闭桌面本地终端的信号复制功能:你有一个VPS运行来复制信号。
不在手机上打开Metatrader是否更好?还是与之无关?
 
FidelM:
不在手机上打开Metatrader是不是更好?还是无关紧要?

你可以在你的本地电脑或手机上打开一个终端 - 你需要监控交易,不是吗?最主要的是不要出现在两个终端上同时开启信号订阅 的情况。

 
Ilyas:

关于交易、自动交易系统和交易策略测试的论坛

虫子,虫子,问题

Alexey Kozitsyn, 2019.05.03 11:24

不可能将名称中带有#的文件输入存储。这是正常的行为还是一个错误?

 
在ME中编译项目 时(build 2025),Win10崩溃了(没有minidump)。

重新启动电脑后,项目包括文件(*.mqh)完全是空的(所有的数据都被覆盖,所以是NUL(0x00))。
这到底是怎么回事?
做好备份,如果编译代码可以永远丢掉用户数据,那就不是这样了。
 
Alexey Kozitsyn:


名称中带有#的文件不能被添加到存储器中。这是正常的行为还是一个错误?

谢谢你的留言,我们会去看看的。
 
与本主题无关的评论已被移至 "MQL4 MT4 MetaTrader 4初学者的问题"。
 
Sergey Dzyublik:
在ME中编译项目时(build 2025),Win10崩溃了(没有迷你转储)。

重新启动电脑后,项目文件(*.mqh)变成了完全空的(所有数据被NUL(0x00)覆盖)。
这到底是怎么回事?
做好备份,如果编译代码会永远丢掉用户数据,那就不是重点了。

在BSOD上显示的是什么样的错误?
这种行为发生的频率如何?

从一个熟人那里听说的,在VS中工作时,在编译时(非常少,一个月不超过一次)出现了BSOD,之后源文件的内容似乎被填满了零。
我不记得细节了,但它是通过更换PC来解决的。

MQL编译器不使用任何 "棘手 "的技巧,以简单可靠的方式读取编译文件的内容。

  1. 打开文件供阅读
  2. 确定大小并分配缓冲区
  3. 阅读内容
  4. 关闭文件,只有在这之后你才能解析它
在开始编译之前,我会仔细检查文件是如何保存的。


如果错误经常发生,请尝试禁用杀毒软件。
 
Ilyas:

在BSOD上显示的错误是什么?

非常感谢您的详细答复。
BSOD是以PC重启的形式出现的,所以没有错误代码 或minidump文件。
事件日志中没有任何有趣的内容(标准的 "系统在没有干净地关闭的情况下重新启动...")。

擦除文件的问题并不新鲜,3年前就发生在Windwos 7上,mq4文件的源代码在BSOD期间的编译/调试中被擦除。
另外,大约2年前,一个用户在论坛上报告了这个问题,遗憾的是没有找到评论。


这种行为发生的频率如何?

大约9个月没有BSOD了,但这是上个星期的第3次(一次是在内核进程中出现内存损坏的BSOD,第二次是Windows冻结,今天在MT的编译/调试过程中重新启动)。
除了Skype之外,没有安装任何新的东西,删除它也没有帮助。

当非标准的Windows关闭时,擦拭问题就会发生在MT的编译/调试中。
今天,实际的工作被覆盖了,而不是像以前那样(几年前)的测试代码--所以对这个事件有了反应。

 
Ilyas:
如果错误经常发生,试着禁用杀毒软件,例如

问题是有这个问题,而不是找到一个解决方法。


在开始编译之前,我会仔细检查文件是如何保存的。

对我来说,自己查一查并不难。
不幸的是,我完全缺乏关于操作系统崩溃行为的知识,所以我们根据结果假设--所有的源*.mqh数据被覆盖到0x00。


当你在MT5(build 2025)中编译该项目时会发生什么?
1.吸引我注意的第一件事是,我通过ME中的所有标签,为每个打开的文件写NTFS流。

*.mqh:CursorPos:$DATA   // положение курсора (строка, столбец) + первая видимая строка при scroll-е.
*.mqh:LineFlags:$DATA   // не понятно для чего

我有超过50个标签打开,其中有8个项目文件。
结果,对于一个项目的编译,我们得到(8+50)*2=116个被覆盖的NTFS流文件,每个440字节。
在SSD上这需要0.2秒。

2.如果你发现一个有变化的文件,并且它存在于磁盘上,它就会被内存中的新数据覆盖。
对所有改变的文件进行覆盖,无论它们是否来自这个项目。

最有可能的是,由于崩溃的结果,Windows从ME分配给源*.mqh的内存中被清除了,但执行写文件 的线程继续工作。
结果是,当把修改保存到文件时,要写的字节数是正确的,但引用指向已经清空的内存,覆盖了 \x00 的源代码。

 

修改账户密码后,无法用新密码登录metaeditor并访问版本库

如果你找回了你的密码,你就可以再次登录了

这不是一个笑话,也不是一个生活故事,而是一个错误警报。只要试着通过网站修改密码,然后通过元编辑器登录到版本库。