错误、漏洞、问题 - 页 821

 
IgorM:

这正是我在寻找的东西。

有谁解决了这个问题?

问题是,我想把代码移植到mql5 c++中,但我又一次被mql5中的动态数组 绊倒了。

PS:我想发起一个话题,希望我们能集体克服这个问题......

我已经失去了在这个非常表述中解决问题的动力。运动的兴趣已经消失了,对于实践来说,这个结构会非常慢(经过测试),因为我必须通过指针来做所有的事情,而它们在mql5中工作得很慢,因为它们根本就不是指针,而是指向真正指针的隐藏系统表的句柄。

但这只涉及到 "通用实现",对于事先未知的任意维度的数组。 至于固定维度的数组的特殊情况(2x、3x、4x、5x等维度),对它们来说,高速实现是可能的,而且要对元素进行严格包装。 我做了一个二维的,我还不需要 维度。对于市场来说,也许我会,但只要ex5类库没有实施,就不能隐藏实施。因此,你必须要么自己动手,要么下订单。有很多工匠能够做到这一点,而且我不是唯一的一个。但原则上,我可以用一个好的价格来做这件事。

 
MetaDriver: 我还不想为公众免费做这件事。
我明白了,谢谢你,但我想在几个月内再次放弃MT5,所以我将像以前一样使用C++的.dll。
[删除]  

对我之前的帖子=增编...

看起来所有的内存都是在编译后出来的...旧的EA实例 - 没有被删除?

图表和日志在不需要的时候会被清理掉......

这个机器人只有480字节的缓冲区和十几个变量。


 
IgorM:
我明白了,谢谢你,但我想在几个月内放弃MT5,所以我将像以前一样使用С++的.dll。

是什么阻碍了我自己做这件事?缺少技能?如果你不接受新的任务,你怎么能建立起你的资格?

这并不复杂。坐下来,想一想,做一做。

--

至于DLL--多维掩码的情况下,弄乱DLL是没有意义的。但是,如果你惹上了DotNET,你可能会使用它,它有很棒的容器库,可以用于各种无法想象的情况。

 
MetaDriver:

是什么阻碍了你自己去做?缺少技能?如果你不打算接受新的挑战,你如何积累你的技能呢?

没有什么难做的。坐下来,想一想,做一做。

没有什么能阻止我,我知道我可以做到,我必须有意识地降低我的资格))))。- 这个夏天我变懒了,现在是时候重新开始编程了

谢谢你的及时提醒!:)

SZZ: 我刚刚注意到mql5有一个新的函数重载,而我记得Rashid特别说过 没有函数重载,也永远不会有。

Документация по MQL5: Основы языка / Функции / Перегрузка операций
Документация по MQL5: Основы языка / Функции / Перегрузка операций
  • www.mql5.com
Основы языка / Функции / Перегрузка операций - Документация по MQL5
 
OrderSendAsync--在策略测试器中,是否计划将其提升到新的水平?
 
IgorM:

SZZ: 我刚刚注意到mql5现在有一个操作的重载,而我记得Rashid明确说过 没有操作的重载,也不会有任何重载。

如果同样的事情发生在异常处理上,那将是非常好的。

我已经有三个多月没有抓到EA中的一个没有明显来源的错误了--大约每周有一到两次弹出信息说 "阵列超出范围"。

我已经尝试了这方面所有可能的检查--毫无用处,当专家顾问被删除时,有这样的信息,我怎么能知道为什么会发生呢!?

他妈的知道如何处理!没有例外,给出一些其他的机制!

让它停止EA,以便我可以看到变量的状态。

伙计,这已经够疯狂的了,固执得像......。

 
falkov:

三个多月以来,我一直无法捕捉到EA中一个来历不明的错误--大约每周一到两次,它就会弹出 "阵列超出范围 "的信息。

这个错误不是显示了它发生的行号和位置吗?

 
marketeer:

这个错误不是显示了它发生的行号和位置吗?

是的,当然,但那又怎样。我在这个地方放了各种各样的支票。

我知道这个地方,我不明白为什么会发生这种情况!我不知道。

我在这一行之前检查了数组的大小 和其他变量的异常值。

但专家顾问每周仍会崩溃几次。

这很可能是我的错误,我也不反对。我反对的是,我没有任何机制去寻找狗的埋葬地点。

同时,还有一个简单而方便的排除机制。它们就是为这种情况而推出的。

雷纳特回答我说,如果他们引入这种机制,不明智的程序员会立即开始犯错,他们将不得不进行清理。

在我看来,这是一个可笑的说法。

 
妈的......进入森林越远,木柴越大。问题是,在策略测试器中,OrderSendAsync与OrderSend一样工作。此外,OnTrade和OnTradeTransaction都没有对重新报价作出反应。在实时服务器上,OnTradeTransaction返回一个重新报价。