Библиотеки: MT4Orders - страница 49

 

Наблюдаю следующие моменты в собранном MT4 советнике с помощью библиотеки этой.

В тестере ордера открываются, закрываются вроде нормально.

В логах только подобное, группами по несколько сотен строк

  • 2020.04.21 00:52:00   failed to allocate an order 108! Error №: 4754 - Несуществующий номер ошибки

В среднем каждый 10й ордер. При этом, по логам, 110й ордер успешно открыт, а со 108 проблема после 110го.

Скажите, наблюдал ли кто такую проблему с библиотекой этой, или что-то с конкретным MQL4 советником?


 
vrubzov1957:

Наблюдаю следующие моменты в собранном MT4 советнике с помощью библиотеки этой.

В тестере ордера открываются, закрываются вроде нормально.

В логах только подобное, группами по несколько сотен строк

  • 2020.04.21 00:52:00   failed to allocate an order 108! Error №: 4754 - Несуществующий номер ошибки

В среднем каждый 10й ордер. При этом, по логам, 110й ордер успешно открыт, а со 108 проблема после 110го.

Скажите, наблюдал ли кто такую проблему с библиотекой этой, или что-то с конкретным MQL4 советником?

Скорее всего, некорректные цены в торговом приказе.

 

static bool MT4OrderSelect( const long &Index, const int &Select, const int &Pool )

А зачем тут передача по ссылке? Это мешает вызвать конструкцию типа MT4ORDERS::MT4OrderSelect(Orders[i],SELECT_BY_TICKET,MODE_TRADES)

 
traveller00:

static bool MT4OrderSelect( const long &Index, const int &Select, const int &Pool )

А зачем тут передача по ссылке? Это мешает вызвать конструкцию типа MT4ORDERS::MT4OrderSelect(Orders[i],SELECT_BY_TICKET,MODE_TRADES)

bool OrderSelect( const long Index, const int Select, const int Pool = MODE_TRADES )
{
  return(MT4ORDERS::MT4OrderSelect(Index, Select, Pool));
}
 
Да для себя я вопрос уже решил. Хотел скорее уточнить, может это остатки старого кода и больше уже не нужно.
 
traveller00:
Да для себя я вопрос уже решил. Хотел скорее уточнить, может это остатки старого кода и больше уже не нужно.

Это последствия теоретической борьбы за скорость.

 
fxsaber:

Это последствия теоретической борьбы за скорость.

А есть в этом смысл? На 32-битной архитектуре int быстрее передавать по значению, меньше обращений к памяти+возможна оптимизация, если передача константы. С long вопрос спорный. Но сейчас MT5 перешёл на 64 бита. И для всех этих параметров будет быстрее передача по значению. Или я что упускаю?

 
traveller00:

А есть в этом смысл? На 32-битной архитектуре int быстрее передавать по значению, меньше обращений к памяти+возможна оптимизация, если передача константы. С long вопрос спорный. Но сейчас MT5 перешёл на 64 бита. И для всех этих параметров будет быстрее передача по значению. Или я что упускаю?

Я в этом ноль. Поэтому делал из своих, вполне возможно, ошибочных представлений. Эксперименты по замеру производительности с разными вариантами не делал.

Если решитесь на такое, поделитесь результатами.

 

Не опубликована пока версия библиотеки, которая может замерять производительность некоторых своих отдельных модулей. Может пригодиться, кто хочет поближе к HFT и ЛЧИ...

Однако, результаты есть с боевого активного применения.

Подтормаживания имеются только со стороны MT5. Вроде, узких мест в самой реализации библы не наблюдается.

Почти все лаги MT5 проявляются в OrderSelect. На втором месте с большим отставанием - OrdersTotal.


ЗЫ С историей торгов, похоже, активно не работаю, т.к. логов по работе HistorySelect-функций внутри библиотеки ноль.

MT5 и скорость в боевом исполнении
MT5 и скорость в боевом исполнении
  • 2020.06.12
  • www.mql5.com
MT5 - шустрая платформа. Но есть узкие горлышки, которые сводят на нет все старания быстрой торговли...
 
Отличная новость, спасибо за обновление!