程序库: MT4Orders - 页 95

 
fxsaber #:

它完全符合时间轴。再次强调。MT5 会生成交易历史记录。它是平仓头寸的歪曲表示。

您不应以 MT5 显示的内容为指导,而应以常识为指导。

好吧,我明白了。您关注的是历史订单的平仓过程。

我想说的是,或者更准确地说,获取账户中在两个指定时间点之间存在的仓位(仓位订单)列表。

当然,由于使用了 CloseBy 操作,某些订单的价格和平仓时间可能不准确。但对于我(作为用户)来说,这并不重要,因为利润计算是正确的。如果您需要详细信息,可以随时查看 "订单和交易 "部分。
 
hini #:
账户在两个指定时间点之间的仓位(仓单)列表。
这显示的是无快照模式下的 MT4Orders。即一次显示。
 
#define  MT4ORDERS_BYPASS_MAXTIME 1000000

启用该宏后,由于某些原因,有时会在日志中打印出一行包含两张或三张票的内容:"18521123 22323214".

注释掉这个宏后,这种情况再也没有发生过。我试图在代码中找到Print,但没有找到。

 
hini Print,但没有找到。
Include\fxsaber\TradesID\ByPass.mqh

前段时间,MQ 将历史订单表的形成搞得一团糟,而且不想修复它。因此,该宏无法保证其功能,而在 MQ 执行不当之前,该宏是具有这种功能的。
 
fxsaber #:

前段时间,MQ 将历史订单表的形成搞得一团糟,而且不想修复它。因此,该宏无法保证其功能,而在 MQ 执行不当之前,该宏是具有这种功能的。
您在说什么?
 
fxsaber # :
因此,这个宏无法保证它在 MQ 实施不良之前的功能。
所以我们必须放弃这个宏吗?
 
Alain Verleyen #:
你在说什么?
这里 有非常详细的重现。简而言之--新删除的挂单可能无法进入交易历史的末尾,因为它会被强行按票据排序。
Зашивается в Ex5 или задается терминалом при загрузке платформы MetaTrader 5 build 2940
Зашивается в Ex5 или задается терминалом при загрузке платформы MetaTrader 5 build 2940
  • 2021.06.19
  • www.mql5.com
Это как с транзакциями в OnTradeTransaction - очередность прихода транзакций не гарантируется. Одни транзакции фактически приходят после других хотя в теории должно быть наоборот. Супер-оптимизированная разработчиками HistorySelect дозаписывает в конец все новые ордера
 
hini #:
所以我们必须放弃这个宏?

该宏使用了这一功能。

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

新版 MetaTrader 5 第 2940 版:MQL5 服务展示移至工作区并更新设计

fxsaber, 2021.06.11 09:47 PM

如果从零开始使用 HistorySelect,当 Expert Advisor 运行时,新订单 会正确进入表尾

  • 如果只使用 HistorySelect(0,INT_MAX),新订单(在 EA 运行期间进入历史记录)将被添加到末尾- 按ORDER_TIME_DONE_MSC 排序

这一点被破坏了。因此宏无法保证其功能。


ZY 在 Virtual 中,删除挂单时,挂单总是被写入历史订单表的末尾。MT5-tester 也是如此。问题只出现在终端中。