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

 
A100 #:

Пробовал так, но остановился на варианте целиком слева:

Совсем не наглядный вариант

 
A100 #:

Есть и существенное более искусственные ограничения сомнительной полезности

Не нашел их существеннее. В моем случае речь про возможность писать template-функции без ограничений.
 
fxsaber #:
Не нашел их существеннее. В моем случае речь про возможность писать template-функции без ограничений.

Не существенно более весомые, а

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Ошибки, баги, вопросы

A100, 2023.06.01 10:38

Есть и существенное более искусственные ограничения сомнительной полезности, например:

И у Вас ограничение не с потолка взято, а из классического C++, а тут взять и цифру поменять с 8 на 16 и на 64

 

Билд 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.

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