MT5 и скорость в боевом исполнении - страница 33

 
Renat Fatkhullin:

Ваше рыночное/торговое состояние не изменится, пока вы на свой асинхронный запрос через некоторое время не получите пошаговую детализацию, которую можно отловить в OnTradeTransaction.

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

 
fxsaber:

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


Просьба попробовать на большой истории.


ЗЫ Предполагаю, что эта миллисекунда возникает на выделении памяти под обновление кеша. Вроде, больше нечему тормозить.

Переходите на учет микросекунд. Миллисекунды уже не подходят.

 
Renat Fatkhullin:

Переходите на учет микросекунд. Миллисекунды уже не подходят.

Перешел. Но от этого HistorySelect быстрее работать на стала, конечно.

Файлы:
Benchmark.mqh  3 kb
 
Andrey Khatimlianskii:

Конечно, объект-снепшот должен быть один.

Получилось.

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

Библиотеки: Virtual

fxsaber, 2020.09.24 12:25

снепшот превзошел в три раза скорость чистого MQL5. Например, в данном случае снепшот в три раза быстрее торговой СБ Trade\Trade.mqh.

 
fxsaber:

Получилось.

Для информации: в тестере ваша библиотека не поможет.

В тестере нет кешей истории сделок и там свой движок прямого доступа без единого копирования. Так как там однопотоковое исполнение, то не нужны ни кеши, ни синхронизаторы.

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

 
Renat Fatkhullin:

Для информации: в тестере ваша библиотека не поможет.

Замеры выше сделал для большого количества открытых позиций и ордеров в Терминале. История тоже попала в снепшот, но работу с ней не замерял.

К сожалению, производительность Тестера катастрофически падает при одновременном большом количестве позиций/ордеров. Поэтому даже не думал замерять. Но можно как-нибудь организовать такое.

В тестере нет кешей истории сделок и там свой движок прямого доступа без единого копирования. Так как там однопотоковое исполнение, то не нужны ни кеши, ни синхронизаторы.

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

Надо на форуме поискать. Помню, что показывал, как Generic-доступ к истории превосходит штатный механизм именно в Тестере.

 

Выборки истории в терминале еще ускорили, будет в следующей бете.

Как закончим с терминалом, приглашаю на битву за скорость в тестере.

 
Renat Fatkhullin:

Как закончим с терминалом, приглашаю на битву за скорость в тестере.

К сожалению, только в рамках MT5-style возможно побиться. Т.к. концепция MT4-style будет рвать MT5-тестер по производительности, но сравнение будет не совсем корректное тогда.

 
Попробуйте билд 2622, где еще улучшили скорость выборки.
 
Renat Fatkhullin:
Попробуйте билд 2622, где еще улучшили скорость выборки.

Спасибо, стало заметно лучше. К сожалению, на выходных невозможно менять историю, поэтому не проверить.

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