错误、漏洞、问题 - 页 2558

 
Aleksey Vyazmikin:

我将给你一些关于环境的信息。

-指标16,渲染并不复杂,没有画布、工具栏和其他装饰物--棍棒/条纹--截图附后。

- 图表上没有程序,我在优化器后打开窗口,这只是作为一个例子--工作图表也很慢,但较少(指标较少)。

- 不,事件不被处理。

- 选择了无限制的条形显示模式,即分页被某种程度上排除在外。

- 没有任何图形对象,或者说我已经删除了所有的箭头和破折号。只剩下一个标签--它来自指标。我今天休息一天,应该不会影响到它。

我上面的截图显示,显卡没有工作,我可以检查一下,当负载接近零时,核心繁忙时,显卡是否在工作,或者是否正常?


在这里,它是一个表面上已知的问题,在一个线程中的指标的操作!
一条线程无法处理负荷!
我们需要多线程,以前已经写过很多次了。

 

结果更简单,我在优化后保存了模板,打开一个新的图表并加载了模板--没有刹车,这意味着刹车恰恰是在优化器调用图表的时候!

没有注意到H1是默认打开的,M1上有刹车。内置的指标仍然工作良好,但我的一些指标在渲染时很慢。

我已经找到了一个指标,即使在1个实例中也能加载处理器(只需用鼠标滚轮在图表上来回滚动)--如果你想要一个详细的分析--我可以亲自发给你。
 
 
Renat Fatkhullin:

1)你需要在这里用INT_MAX(2 bn)来截断鲟鱼。

这一点,我们也可以纠正

2)所有的内存都必须以最严格的方式进行管理,这里没有GC。

3) 时间框架变化时的指标重新初始化是温暖的,没有从头开始的物理重新初始化,所以你需要自己释放内存,特别是全局层面的资源

4)使用OOP,它至少会提供正确描述和控制资源的可能性。

明白了,谢谢。
事实上,如果没有INT_MAX,崩溃就无法重现。我从来没有想到过这一点。从现在开始,我将更加谨慎地使用极端值。我经常使用它们。
有时你想在代码中做一个傻瓜,以再现和检查傻瓜式的保护。

 
 

MQ5和MQL4之间的性能差异非常大,但我想完成多平台代码,所以我有一个问题。

1.在对源代码进行修改后,使用哪种分析器(MQ5或MQL4)来评估优化效果更好?

2.把所有的Print()调用变成if( MQLInfoInteger(MQL_OPTIMIZATION))检查或Print()调用将被自动排除而没有性能损失是否有意义?

 

优化器

2019.09.14 20:24:18.638 Core 2  genetic pass (2, 504) tested with error "no memory in OnTick function (cannot get 5376 Kb, used 1943 Mb)" in 0:00:21.536
2019.09.14 20:24:33.884 Core 1  genetic pass (2, 432) tested with error "no memory in OnTick function (cannot get 5088 Kb, used 2130 Mb)" in 0:00:26.018
2019.09.14 20:24:40.079 Core 2  genetic pass (2, 504) tested with error "no memory in OnTick function (cannot get 5376 Kb, used 1943 Mb)" in 0:00:21.439
2019.09.14 20:25:00.011 Core 1  genetic pass (2, 432) tested with error "no memory in OnTick function (cannot get 5088 Kb, used 2130 Mb)" in 0:00:26.125
2019.09.14 20:25:00.024 Core 1  genetic pass (2, 432) tested with error "no memory" in 0:00:00.000
2019.09.14 20:25:00.037 Core 1  genetic pass (2, 432) tested with error "no memory" in 0:00:00.000
2019.09.14 20:25:01.671 Core 2  genetic pass (2, 504) tested with error "no memory in OnTick function (cannot get 5376 Kb, used 1943 Mb)" in 0:00:21.589
2019.09.14 20:25:01.680 Core 1  genetic pass (2, 504) tested with error "no memory" in 0:00:00.000
2019.09.14 20:25:01.693 Core 1  genetic pass (2, 504) tested with error "no memory" in 0:00:00.000
2019.09.14 20:25:10.181 Core 3  genetic pass (2, 432) tested with error "no memory in OnTick function (cannot get 5088 Kb, used 1659 Mb)" in 0:00:10.142
2019.09.14 20:25:10.190 Core 1  genetic pass (2, 432) tested with error "no memory" in 0:00:00.000
2019.09.14 20:25:10.203 Core 1  genetic pass (2, 432) tested with error "no memory" in 0:00:00.000
2019.09.14 20:25:10.215 Core 1  genetic pass (2, 432) tested with error "no memory" in 0:00:00.000
2019.09.14 20:25:10.228 Core 1  genetic pass (2, 432) tested with error "no memory" in 0:00:00.000
2019.09.14 20:25:20.343 Core 3  genetic pass (2, 432) tested with error "no memory in OnTick function (cannot get 5088 Kb, used 1659 Mb)" in 0:00:10.114

起初,所有的核心都运行了大约一个小时,没有任何错误。EA中没有数组。然后,这样的错误开始出现了。

我的电脑上只有一个终端在运行。16Gb,涉及7个核心。


SZY 该专家顾问与其他顾问不同的是,它有更多的交易数量。


那么贸易历史会吃掉多少呢?


ZZZY 偶尔会弹出 "没有磁盘空间",尽管有几十GB的空闲。

 
我脑海中的问题是:如何将源文件与bmp格式的图形资源(例如放在OBJ_BITMAP_LABEL 中)一起放入kodobase? 标准库 的res文件夹里只有bmp文件(也就是说,我不知道资源可以是png/jpg)。 如果以压缩包的形式附上,在检查时,代码将不会被编译,是吗?
 
Stanislav Korotky:
我脑海中的问题是:如何将源文件与bmp格式的图形资源(例如放在OBJ_BITMAP_LABEL 中)一起放入kodobase? 标准库 的res文件夹里只有bmp文件(也就是说,我不知道资源可以是png/jpg)。如果以压缩包的形式附上,在检查时,代码将不会被编译,是吗?
Библиотека для простого и быстрого создания программ для MetaTrader (Часть XX): Создание и хранение ресурсов программы
Библиотека для простого и быстрого создания программ для MetaTrader (Часть XX): Создание и хранение ресурсов программы
  • www.mql5.com
Часто при создании программы, нам требуется использовать звуки и изображения. В языке MQL есть несколько возможностей использования таких данных, и все они связаны с необходимостью загружать файлы из файловой песочницы терминала. Если в конечном результате предполагается скомпилированный файл, то достаточно подключить файл как ресурс и...
 
Artyom Trishkin:

这是不是在某种程度上应该回答关于codobase的问题?