错误、漏洞、问题 - 页 1516

 
zaskok3:

不要再假装你什么都不懂了:背景可以从U盘上拖走。还有很多其他方法。最主要的是要把它拖出来。你甚至不需要在别人的电脑上自己做。

你转移了你的密码,在别人的电脑上启用了密码保存功能,并称这是一个漏洞。你一直在隐藏你启用了密码保存的事实,直到最后一刻。

结论是合乎逻辑的--你的一打克隆人已经因累犯而被释放。

 
Renat Fatkhullin:
是否有计划对MetaEditor功能进行修改,以突出变量,在调试器中自动创建所有使用的变量?如同在Qt Creator IDE或VS.NET中一样。
 
coderex:
是否有计划对MetaEditor功能进行修改,突出显示变量,在调试器中自动创建所有使用的变量?如同在Qt Creator IDE或VS.NET中一样。
是的,当然。
 
Renat Fatkhullin:
是的,我会的。
我想知道多长时间?
 
Slawa:
请查看关于初始化全局/静态变量 的应用程序#1416121!
 
Alexey Kozitsyn:
请查看关于全局/静态变量的初始化 的请求#1416121!

在队列中。该申请仅有两个小时的时间。

一般来说,这种问题应该在论坛上提出。因为它可以影响很多人。我冒昧地引用你的话,然后回答。

你好。如果我说错了,请纠正我。静态变量和全局变量在你启动程序之前被初始化一次(即OnInit()函数)。因此,如果程序被取消初始化(OnDeinit()函数被调用),程序必须 "忘记 "全局/静态变量的值,并在下次运行OnInit()之前用初始值将它们初始化。

我在mql4专家顾问中发现一个有趣的事实。如果你声明了全局/静态变量,那么,例如,当改变输入参数时,即在OnDeinit()之后,这些变量的值不会被重置。但在指标上--它们是。该怎么做?这看起来像是一个错误。

我在mql5(build 1241 x64)上检查了它--类似。在专家顾问系统中 - 不重置,在指标中 - 重置。

这是一种有计划的行为。此外,它在文件中也有明确描述

指标的加载和卸载

指标在以下情况下被加载。

-将指标附加到图表上。

-终端的开始(如果一个指标在终端的前一次关闭之前被连接到一个图表 上)

-加载一个模板(如果该模板包含一个附属于图表的指标)

-改变剖面图(如果指标被附加到其中一个剖面图上)

-改变指标所连接的图表的符号和/或周期

-成功地重新编译一个指标,如果该指标已被连接到一个图表

-改变指标 输入参数

在以下情况下,指标被卸载。

-从图表中分离出一个指标

-终端的收盘(如果指标附在图表上)。

-如果一个指标被附在一个图表 上,则加载一个模板

关闭 连接有指标的图表; - 关闭终端(如果指标已连接到图表上)

-改变概况,如果指标附在要改变的概况中的一个图表 上。

-改变指标 所连接的图表的符号和/或周期

-改变指标输入参数

卸载和加载涉及到所有东西的完全重新初始化。

在五国,正如你正确指出的那样,情况是类似的。

这是真的,在历史上是这样的,所以在MQL4中,我们首先改变了这种行为(使它像专家一样,即你所期望的行为)。但旧的指标出现了很多问题,这些指标是基于这种初始化的。我们被迫返回

在五人组中,由于架构的原因,立即出现了这种情况。当你改变参数时,具有旧参数的旧指标被销毁,具有改变后的新指标被创建。

Input переменные
Input переменные
  • docs.mql4.com
Input переменные
 
Slawa:
在队列中。该申请仅有两个小时的时间。

为了以防万一,我在这里复制了它。

这是有计划的行为。此外,它在文件中也有明确的描述

我刚刚看了这里这里。而且我认为这是符合逻辑的,因为我正在使用一个静态内存类。而且,同样有意义的是,如果有一个与不同类型的程序有关的既定技术形式的 "陷阱",那么在静态内存类(静态变量和全局变量)的文档中也描述它是好的。

请补充说明。

 
Alexey Kozitsyn:

我把它复制到这里,以备不时之需。

只是我看了这里这里。而且我认为这是符合逻辑的,因为我正在使用一个静态内存类。而且,同样有意义的是,如果有一个与不同类型的程序有关的既定技术形式的 "陷阱",那么在静态内存类(静态变量和全局变量)的文档中也描述它是好的。

请补充说明。

什么评论?关于程序加载/卸载?
 
Slawa:
什么评论?关于程序加载/卸载?
关于静态变量和全局变量的初始化是由指标和专家顾问的不同事件引起的。因此,在关于全局变量和静态变量 的段落中,在 "备注 "小节中添加。
 

MT5的帮助。

IsStopped
 
Проверяет принудительное завершение работы mql5-программы.
 
bool  IsStopped();
 
Возвращаемое значение
 
Возвращает true, если в системной переменной _StopFlag содержится значение, отличное от 0. Ненулевое значение записывается в переменную _StopFlag, если поступила команда завершить выполнение mql5-программы. 
В этом случае необходимо как можно быстрее завершить работу программы, в противном случае программа будет завершена принудительно извне через 3 секунды.

刚刚检查了一下--指标从图表中被移除,但继续运行3秒、10秒、3分钟......。(IsStopped 在那里没有被检查,这不是问题)

1)为什么说 "强制终止3秒",但实际上并没有这样的效果?

2) 为什么进程(脚本、指标、专家顾问、测试员代理)在被从图表中删除、用户停止测试等情况下不强行终止?