Ошибки, баги, вопросы - страница 3327

 

Билд 3754

MetaQuotes ID не зарегистрирован. Как побороть? В мобильном MT4 всё хорошо с ID и пуши приходят.

 

Просьба высказаться по решению простой торговой задачи в MT5.


  • Есть советник без OnTrade-функций. Он должен просто сообщать тикет любого отложенного ордера в OnTick, следующим за его удалением.
  • При этом не должно быть громоздких вычислений. Это очень важный пункт, т.к. история удаленных ордеров может быть в сотни тысяч отложек.


Для тех, кто знает MT4, нужен аналог такого кода на MQL5.

void DeleteOrders()
{
  static int PrevTotal = OrdersHistoryTotal();
  
  const int Total = OrdersHistoryTotal();
  
  while (PrevTotal < Total)
    if (OrderSelect(PrevTotal++, SELECT_BY_POS, MODE_HISTORY) && (OrderType() > OP_SELL))
      Alert(OrderTicket());
}
 

Прошу объяснить странное поведение выборки ордеров с истории


--

По какой причине при выборе лимитник идёт не первым в списке, если он закрыт самым последним?


  HistorySelect(0,TimeCurrent());
  ulong ticket;
  int total=HistoryOrdersTotal();
  for(int i=total-1; i>=total-10; i--) {
    ticket=HistoryOrderGetTicket(i);
    Print(i,"=",GetType((int)HistoryOrderGetInteger(ticket,ORDER_TYPE)));
    Sleep(1000);
  }
  Print("");

--

Задача: забрать последние 10 ордеров с истории в том порядке, в каком происходила торговля, а не рандомно, как получится.

 
Vitaly Muzichenko # :

Прошу объяснить странное поведение выборки ордеров с истории


--

По какой причине при выборе лимитник идёт не первым в списке, если он закрыт самым последним?


--

Задача: забрать последние 10 ордеров с истории в том порядке , в каком происходила торговля, а не рандомно , как получится.

Это не случайно, это упорядочено в соответствии с открытой датой и временем.
 
Andrey Dik #:
MetaQuotes ID не зарегистрирован. Как побороть? В мобильном MT4 всё хорошо с ID и пуши приходят.
Сейчас в редких случаях есть баг с регистрацией устройств. В MT4 проблема тоже может воспроизвестись. Вам нужно либо переустановить терминал, либо дождаться обновления до новой версии.
 
Alain Verleyen #:
Это не случайно, это упорядочено в соответствии с открытой датой и временем.

Это ошибочный вывод

 
fxsaber #:

Просьба высказаться по решению простой торговой задачи в MT5.


  • Есть советник без OnTrade-функций. Он должен просто сообщать тикет любого отложенного ордера в OnTick, следующим за его удалением.
  • При этом не должно быть громоздких вычислений. Это очень важный пункт, т.к. история удаленных ордеров может быть в сотни тысяч отложек.


Для тех, кто знает MT4, нужен аналог такого кода на MQL5.

Без запоминания в какие-то внешние переменные или файл ничего в голову не приходит. Чтобы просто было.
 
fxsaber #:

Просьба высказаться по решению простой торговой задачи в MT5.

  • Есть советник без OnTrade-функций. Он должен просто сообщать тикет любого отложенного ордера в OnTick, следующим за его удалением.
  • При этом не должно быть громоздких вычислений. Это очень важный пункт, т.к. история удаленных ордеров может быть в сотни тысяч отложек.

Завести массив учета открытых отложенников (их обычно немного) и на каждом тике анализировать?

 
Mikola_2 #:

Завести массив учета открытых отложенников (их обычно немного) и на каждом тике анализировать?

  1. С любым количеством отложек должно работать.
  2. Если между соседними OnTick несколько секунд, то в этом интервале могут быть выставлены и затем удалены некоторые отложки.
 
Alain Verleyen #:
Это не случайно, это упорядочено в соответствии с открытой датой и временем.

Точнее - по тикету.

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