Особенности языка mql5, тонкости и приёмы работы - страница 172

 
Alexey Viktorov:

Было-бы намного понятней если сделаете снимок.

Выше обновил.

 
fxsaber:

Живой BuyLimit.

Ну так а в нём-то объемы указаны - залитый и оставшийся. По нему и понятно что частичное исполнение. Или я не понял проблемы?
 
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, вроде, теряются мэджики. Нужно проверять.

 
Alexey Viktorov:

А у вас в истории поставлено отображать ордера и сделки. Если поменять на только ордера?

Это режим Сделки. В остальных режимах не будет видно, т.к. ордер еще живой.

 
fxsaber:

Это режим Сделки. В остальных режимах не будет видно, т.к. ордер еще живой.

Я потыкал и понял что это сделки. Но в этом случае показано время сделки, а не ордера. Вот поэтому и интересно увидеть в режиме ордера.

 
Alexey Viktorov:

Я потыкал и понял что это сделки. Но в этом случае показано время сделки, а не ордера. Вот поэтому и интересно увидеть в режиме ордера.

В режиме ордера не может быть ордера, когда он живой. Когда будет мертвый - там будет время первого исполнения, как сказал изначально.

Причина обращения: