程序库: MT4Orders - 页 6

 
Maxim Dmitrievsky:
是的,它就是这样工作的,谢谢......是的,挑选订单的速度变慢了......但到目前为止,我还没有发现任何其他错误....。很好,事实上,我认为加快订单搜索速度是有意义的。
历史订单枚举只对测试人员/优化人员有效。实际上 - 这是不可能的。

关于交易、自动交易系统和交易策略测试的论坛。

MetaEditor 1463 版本

Renat Fatkhullin, 2016.11.05 10:38 AM

交易历史会因为管理员的修正而改变。例如,修正峰值、取消错误交易或金融操作。

实际上,最好在 99% 的时间内使用缓存,每天/会话/清算完全更新一次,并添加新内容。如果您的工作是建立在大量和不断重新计算交易历史记录的基础上,那么就应该这样做。

如果您在交易所进行测试,请考虑以下因素

交易、自动交易系统和交易策略测试论坛

资料库: MT4Orders

fxsaber, 2016.11.07 08:31 pm.

我不建议通过 MT4Orders 处理证券交易所的历史记录。即 MODE_TRADE - 没问题,MODE_HISTORY - 在交易所 不需要。
历史记录在对冲平台上运行无误,但近端时刻除外,这需要大量空闲时间来整理和比较两个平台上的不同近端情况。
 
fxsaber:
历史订单的搜索仅对测试人员/优化人员有效。对于现实世界来说,这是不可能的。
实际上,在 99% 的情况下,最好使用缓存,每天/会话/清算时完全更新一次,然后再添加一个新缓存。如果您的工作是建立在对事务历史进行大量、持续的重新计算的基础上,那么就需要这样做。

根据 Renat 的说法,在我看来您可以(而且应该)而不是不可以。您可以每小时更新一次缓存,也可以按需更新。

 
Stanislav Korotky:

考虑到 Renat 所说的话,在我看来是可以(应该)而不是不可以。您可以每小时更新一次缓存,也可以按需更新。

在实际交易中缓存的意义何在?您在 MT4 中缓存过历史记录吗?如果性能很重要,就需要加速 - 测试人员。
 
fxsaber:
// 没有实现的东西:
//CloseBy 时刻--我还没有时间这样做。也许将来需要的时候会有时间。
// 确定平仓头寸的 TP 和 SL - 目前(构建 1368),MQL5 不知道如何做到这一点。

这个库是我自己写的,我不使用 CloseBy。所以我还没有实现它。也许等我熟悉了之后会尽快添加。

作为临时解决方案,请在启用库之前添加以下几行

#ifdef __MQL5__
  bool OrderCloseBy( const int Ticket, const int Opposite, const color Arrow_Color = clrNONE )
  {
    return(false);
  }  
#endif

事实上,我发现了一个错误

cPoza::closeBy 计数器关闭失败 ticketB=168 ticketA=2216 导致 error-4754

 
-Aleks-:

事实上,我发现一个错误

cPoza::closeBy Counter close failed ticketB=168 ticketA=2216 caused error-4754.

那么,既然最初说过这是唯一没有在实现中的东西,你为什么还要尝试做 closeBy 呢?

上面的 OrderCloseBy 对你的库编译来说是一片空白。

很难想象还有什么比编写一个可用的 OrderCloseBy 更简单的了。问题在于历史显示。在这两个平台上,事情都非常特殊。以至于开发人员自己都感到困惑。

我需要这样做,但现在还不行。我自己不会使用它,所以也不感兴趣。

 
fxsaber:

那么,为什么您要尝试 closeBy,而最初声明中说这是实现中唯一没有的内容!

上面的 OrderCloseBy 对你的程序库编译来说是一片空白。

很难想象还有什么比编写一个可用的 OrderCloseBy 更简单的了。问题在于历史显示。在这两个平台上,事情都非常特殊。以至于开发人员自己都感到困惑。

我需要这样做,但现在还不行。我自己用不上,所以也不感兴趣。

对不起,我没有注意你给我的代码--我太笨了。

 
另一个问题--如何在库中 正确计算SYMBOL_FILLING_MODE?比方说,我拥有的某个经纪商不支持当前模式,我能自动检查吗?
 
Maxim Dmitrievsky:
另一个问题 - 如何在您的库中 正确考虑SYMBOL_FILLING_MODE?假设我拥有的某个经纪商不支持当前模式,我可以自动检查吗?
为了更好地理解您的意思,请提供交易服务器的名称。我会看看那里出了什么问题。
 
fxsaber:
为了更好地理解我们在说什么,请提供交易服务器的名称。我看看有什么问题。
ORDER_FILLING_IOC,我检查过了,交易就是用这样的请求打开的。您需要在库中进行检查,因为订单也没有被修改,您需要检查所有地方
 
总的来说,我想明白了--服务器并不总是返回正确的值,所以会出现混杂,而且没有办法解决,只能手动更改填充类型,没错。论坛上也有人遇到过类似的问题。