错误、漏洞、问题 - 页 593

 

决定看一下我的一个旧的开发项目和...你能告诉我这个错误是什么意思吗?

---

专家顾问的初始化是成功的。当我试图打开信息面板 时,我得到一个惊喜。到哪里去寻找原因?))

 
tol64:

决定看一下我的一个旧的开发项目和...你能告诉我这个错误是什么意思吗?

---

专家顾问的初始化是成功的。当我试图打开信息面板时,我得到了一个惊喜。到哪里去寻找原因?))

我们必须找到问题的所在。我也有类似的情况,把普林斯 和看它飞出去的地方。然后在服务台或论坛上。也可能你自己会发现错误。
 
Valmars:
我们必须将问题本地化。在类似的情况下,我把Prints和看它飞出的地方。然后要么到servicedesk,要么在论坛上。也可能你自己会发现错误。

我得在我没印过的地方印。))开发人员不能从这个图片代码中看出腿是从哪里长出来的吗?我们需要一个提示。虽然那里总是产生一个新的代码。下面是另一个例子。

 
tol64:

我们将不得不在没有印刷的地方进行印刷。))开发人员不能从这个图片代码中看出腿是从哪里长出来的吗?我们需要一个提示。虽然那里总是产生一个新的代码。下面是另一个例子。

开发商在任何情况下都会要求对一切进行本地化,在SD中创建一个应用程序,附上一个专家并尽可能详细地描述一切。

这就是为什么他们是开发者(你认识他们),心灵感应者今天正在休息。:)

 
在使用ArrayResize(some_ array_2, some_ array_2_quantity)将一个声明为some_ array_1[]的动态数组 复制到一个被分配了内存的动态数组some_ array_2[]后,ArrayCopy(some_ array_1, some_ array_2)操作者发现some_ array_1的元素数不是0,而是some_ array_2_quantity。这是一个严重的错误,因为数组some_ array_1[] 没有被分配内存。请修复它,使这种情况下的数组大小不会自行改变,编译器会产生错误。
Документация по MQL5: Основы языка / Типы данных / Объект динамического массива
Документация по MQL5: Основы языка / Типы данных / Объект динамического массива
  • www.mql5.com
Основы языка / Типы данных / Объект динамического массива - Документация по MQL5
 
Interesting:
对开发商而言。

在切换到新版本(555)后,终端已停止保存 "工具"、"市场观察"、"测试器 "和"数据窗口"的位置(正确的活动状态)。

在终端关闭并再次打开后(不是最小化,而是关闭),主窗体外的一切都消失了。据我所知,终端由于某种原因认为交易员没有这些东西。 我不得不进入菜单,重新打开一切(好在至少位置被记住了)。

导航器 "像往常一样,与主窗体中的图表一起位于主窗体中,它很好。

操作系统是Win XP32,Bild 555,我有两个显示器。在一个主窗口上(导航器和图表),在第二个窗口上所有上述("工具"、"市场观察"、"测试器 "和 "数据窗口")。

PS

我不能说x64和其他操作系统的情况,我没有可能在两个显示器上检查。

一台显示器上的7号机也是同样的废话。重新安装它有帮助。重新安装后,不同的终端在漫游时也会混淆文件夹。
 
-Alexey-:
将一个未分配内存的动态数组 some_ array_1声明为some_ array_1[],复制到一个动态数组some_ array_2[],该数组通过ArrayResize(some_ array_2, some_ array_2_quantity)分配了内存,通过ArrayCopy(some_ array_1, some_ array_2)操作符,结果发现some_ array_1的元素数不是0,而是一些_ array_2_quantity。这是一个严重的错误,因为数组some_ array_1[] 没有被分配内存。请修复它,使数组的大小在这种情况下不会自己改变,编译器会产生错误。

没有错误,ArrayCopy函数将自行分配动态数组的内存,达到被复制数据的大小。

这不是一个错误,而是一个特点。

 
Urain:

这不存在错误,ArrayCopy函数自己分配了动态 接收器阵列 的内存。

这不是一个错误,而是一个特点。

由于这一特点,你很容易因意外或因算法有问题而出现算法错误。然后你就永远找不到它,永远不知道什么时候有错误。我只有在把一个程序翻译成C++时才发现错误,因为编译器在那里是一个错误检测助手。所以我认为这更像是一个错误而不是一个特点。IMHO!
 
-Alexey-:
由于这一特点,很容易出现算法错误--无论是意外还是因为算法有缺陷。然后你就永远无法发现,也永远不知道有错误。我只有在把程序翻译成C++时才发现错误,因为编译器是那里的一个错误检测助手。所以我认为这更像是一个错误而不是一个特点。IMHO!
ArrayCopy 不是唯一分配内存的函数,所有的Copy函数都是照顾数组本身的,所以要小心并阅读手册。
 

TimeCurrent() 怎么会小于上一个时间序列值?

int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
  {

   Print("time[rates_total-1] = ",time[rates_total-1]); 
   Print("TimeCurrent()         = ",TimeCurrent());  

   return(rates_total);
  }
TimeCurrent()         = 2011.12.09 18:47:29
time[rates_total-1]  = 2011.12.09 23:00:00