mql5语言的特点、微妙之处以及技巧 - 页 172

 
Alexey Viktorov:

如果你拍一张照片,会更清楚。

以上更新。

 
fxsaber:

现场买入限价。

好吧,它显示的是体积--已填充和剩余的体积。它显示了部分执行。还是我不明白这个问题?
 
Artyom Trishkin:
那么,它显示的是体积--已填充的和剩余的体积。你可以看到,这是一个部分执行。或者是我不理解这个问题?

订单的 时间已经变成了部分执行的时间。

也许,我们必须关注开发商。也许我们应该再引入一个订单的属性。

 
Alexey Viktorov:

订单的 时间已经变成了部分执行的时间。

这里可以清楚地看到它。



我不知道当订单再次被部分执行时会发生什么。

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

图书馆: MT4Orders

fxsaber, 2020.04.07 18:47

在MT5中很容易发现部分执行。
// true - сделка в результате частичного исполнения.
bool IsPartial( const ulong TicketDeal )
{
  const ulong TicketOrder = HistoryDealGetInteger(TicketDeal, DEAL_ORDER);
  
  return((HistoryDealGetInteger(TicketDeal, DEAL_TYPE) <= DEAL_TYPE_SELL) &&
         (!TicketOrder ||
          (HistoryDealGetDouble(TicketDeal, DEAL_VOLUME) != HistoryOrderGetDouble(TicketOrder, ORDER_VOLUME_INITIAL))));
}


// Вывод всех частично-исполненных сделок.

input datetime inFrom = D'2020.01.01';

void OnStart()
{
  if (HistorySelect(inFrom, INT_MAX))
  {
    for (int i = HistoryDealsTotal() - 1; i >= 0; i--)
    {
      const ulong TicketDeal = HistoryDealGetTicket(i);
      
      if (IsPartial(TicketDeal))
        Print(TicketDeal);
    }
  }
}
 
fxsaber:

你可以在这里看到很好。


这在某些情况下可能是不好的。这肯定应该报告给开发者。

 
fxsaber:

你可以在这里看到很好。



第二次部分演出会发生什么--我不知道。

而且你把历史记录设置为显示订单和交易。如果你把它改成只有订单?

 
Alexey Viktorov:

这在某些情况下可能根本就不好。这肯定应该报告给开发者。

很难说这是否是一件坏事。另外,CloseBy的崩溃似乎失去了majicas。你需要去看看。

 
Alexey Viktorov:

而你的历史记录被设置为显示订单和交易。如果你把它改成只有订单?

这就是交易模式。在其他模式下,它将不可见,因为订单仍然是活的。

 
fxsaber:

这就是交易模式。在其他模式下,它将不可见,因为该订单仍然有效。

我仔细研究了一下,发现这些都是交易。但在这种情况下,显示的是交易的时间,而不是订单。这就是为什么在秩序模式下,它很有趣。

 
Alexey Viktorov:

我仔细研究了一下,发现这些都是交易。但在这种情况下,它显示的是交易的时间,而不是订单。这就是为什么在订单模式下,它很有趣。

在秩序模式中,当它是活的时,不可能有秩序。死了之后--会有一个第一次执行的时间,正如最初所说的那样。