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

 

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 - шустрая платформа. Но есть узкие горлышки, которые сводят на нет все старания быстрой торговли...
 
Отличная новость, спасибо за обновление!
 
// Список изменений:
// 10.06.2020
//   Add: Добавлены миллисекунды и убрано округление цен, объемов в OrderPrint().
// 13.08.2020
//   Add: Добавлена возможность проверки производительности частей библиотеки через макрос MT4ORDERS_BENCHMARK_MINTIME.
 

У меня зашкаливает количество лагов, поэтому делаю так.

sinput int inMT4OrdersMinTimeAlert = 0; // Алерт-порог в миллисекундах
  
#define MT4ORDERS_BENCHMARK_MINTIME inMT4OrdersMinTimeAlert // Минимальное время сратабывания Алерта-производительности.

Фильтрую срабатывание алерта на мелкие лаги.

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