错误、漏洞、问题 - 页 2542

 
为什么当我关掉电脑,第二天进入MT4时,水平线没有被保存?
 

开发人员,你好。

CArrayList 中,来自gineric的容量被错误地使用。如果它是一个储备尺寸,应该像这样在构造函数中调用。

ArrayResize(m_items,0,m_default_capacity);

现在的情况是这样的。

ArrayResize(m_items,m_default_capacity);

如果你想为自己分配和核算,那就开始定位,到处使用,包括bsearch什么的,虽然这不是一个好主意。


PS。在研究代码时,我发现你毕竟传递了m_size。当数组为空时,BinarySearch 返回 0,而不是 -1。

而且,既然我们在ArrayResize层面上有容量,为什么还要自己组织容量呢?

PPS。是否有计划创建一个LowerBound?
 

关于CArrayList 有三个要点。

1.要考虑删除容量的额外实现,因为它已经存在于ArrayResize中了

2) 修复空数组的BinarySearch。默认情况下,数组中有4个元素,第0个索引先被传递,当数组的大小为0时被返回。

3.最好能增加LowerBound。奇怪的是,以前没有人问过

 
Yevhenii8370:
为什么当我关掉电脑,第二天进入MT4时,水平线没有被保存?

这里有两个选择--要么有一个指标/顾问在初始化过程中清理所有级别,要么这套设备没有时间保存。 我遇到了这两个问题,第一个问题可以通过编辑代码来解决,第二个问题是将这套程序保存两次,在终端启动 时加载保存的版本。

 
Sergey Dzyublik:

MT5(build 2118),我们还能等多久来修复类型化 功能中的错误?
一些无稽之谈--在使用typedef 的原始例子上向左走了一步,就这样--一堆 错误阻碍了进一步发展。

谢谢你的代码。

错误修正。

MT4 1192的演示版今天已经发布,尝试使用MT4自带的MetaEditor 2121来编译MQ5文件。

 

拿出了指标,留在这里的图表(附后)。

如何删除?

我在对象列表中搜索了一下--没有找到。取出所有的指标和EA--没有帮助。

附加的文件:
 
barashka:

拿出了指标,留在这里的图表(附后)。

如何删除?

我在对象列表中搜索了一下--没有找到。

对象列表中有一个按钮可以显示隐藏的对象,在那里删除它们...

 
Vladimir Pastushak:

在对象列表中,有一个显示隐藏对象 的按钮,因此在那里删除它们...

:)
 
Sergey Dzyublik:

https://www.mql5.com/ru/docs/basis/types/classes

起初我很惊讶,因为我不知道有抵消的存在。
但现实把一切都放在了它的位置上。

struct Parent{ 
      char              c;    // sizeof(char)=1 
};
     
struct Children pack(2) : Parent{ 
      short             s;   // sizeof(short)=2 
};

void OnStart(){ 
//--- объявим переменную типа Children 
   Children child;   
//--- узнаем смещения от начала структуры  
   Print("offsetof(child.c)=",offsetof(child.c)); 
   Print("offsetof(child.s)=",offsetof(child.s));
}   



'offsetof' - 函数未定义

谢谢你的留言。

帮助中存在复制粘贴错误,让我们来解决它。

而不是变量名child应该是类的类型Children,而不是''。(字段访问)应该是一个逗号(offsetof是一个(有条件的)内置宏)。

struct Parent{ 
      char              c;    // sizeof(char)=1 
};
     
struct Children pack(2) : Parent{ 
      short             s;   // sizeof(short)=2 
};

void OnStart(){ 
//--- узнаем смещения от начала структуры  
   Print("offsetof(Children,c)=",offsetof(Children,c); 
   Print("offsetof(Children,s)=",offsetof(Children,s));
}   

 

.NET的问题,当库访问其他自定义模块时,程序崩溃,说找不到文件。

System.Reflection.TargetInvocationException: Адресат вызова создал исключение. ---> System.TypeInitializationException: Инициализатор типа "MDD.IQFeedAPI" выдал исключение. ---> System.IO.FileNotFoundException: Не удалось загрузить файл или сборку "NLog, Version=2.1.0.0, Culture=neutral, PublicKeyToken=5120e14c03d0593c" либо одну из их зависимостей. Не удается найти указанный файл.

所有使用的dll(包括提到的NLog.dll)都在同一个文件夹里,但由于某些原因,当从MT启动时,系统看不到它们。 只有在常规的框架下才能正常工作。如果有人知道如何解决这个问题,我将不胜感激。