Сравнение скорости тестирования в MetaTrader 4 и MetaTrader 5 - страница 4

 
О, хорошая идея, надо добавить в либку открытие с этими двумя флагами, чтобы необходимости в принудительном сохранении вообще не было.
 
MetaDriver:

Не ферштейн WinAPI (ну почти), но с FileFlush() надо чё-то делать.  Я в прошлом году на эти грабли наступал - тормоз запредельный.

Причём если мне не изменяет память  - в чётвёрке всё летает.

Учитывая, что в MT5 никаких средств для обмена данных между потоками не предусмотрены (кроме событий, куда пихать не всегда уместно), хорошо бы, чтоб файловый обмен не тормозил. И FileFlush при таком обмене необходим, чтоб данные реально на диск сбрасывались, а не зависали в буфере.  Map-файлы это здорово, но это не штатное средство и требует усилий для освоения и использования, для простых экспериментальных систем желательно иметь вариант штатный и  попроще.

вот и я про то же - в четверке не было такой напасти. Понятно что притормаживало - но не так же
 

Комрады, приветствую.

 

В контексте обсуждения работы с файлами.

Я использую эти файлы, что бы после перезагрузки сервера и авто запуска МТ понимал в каком он состоянии сейчас и что делать с открытыми/не открытыми ордерами.

Есть ли альтернатива FileFlush? //Предполагается несколько стратегий/советников на одной валюте

 
St.Vitaliy:

В контексте обсуждения работы с файлами.

Я использую эти файлы, что бы после перезагрузки сервера и авто запуска МТ понимал в каком он состоянии сейчас и что делать с открытыми/не открытыми ордерами.

Для такой задачки быстродействия FileFlush() вполне достаточно.  Можно даже не париться.  Главное - регулярно скидывать инфу на диск, и отслеживать достаточность информации для восстановления работоспособности после перезагруза.

Тормоза заметны на более требовательных к скоростям задачках, я например напоролся при попытке создания протокола обмена данными между советниками (с подтверждениями приёма данных) путём "чиста файлообмена" (чтоб не было привязки к конкретному терминалу). 

Альтернатива есть, только требует вникания-освоения: https://www.mql5.com/ru/code/816

Memory Mapping
Memory Mapping
  • голосов: 7
  • 2012.01.13
  • o_O
  • www.mql5.com
DLL (проект VC++ 2010) для работы с Memory Mapping.
 

Аггрегировал десяток MT4-фидов (в каждом десятки символов) через именнованные каналы. Все укладывается в < 10 ms. Проще реализации соединения не встречал.

 
hrenfx:

Аггрегировал десяток MT4-фидов (в каждом десятки символов) через именнованные каналы. Все укладывается в < 10 ms. Проще реализации соединения не встречал.

Тоже дело.  Чего-то я этот вариант забросил когда-то, даже до тестирования скорости не дошло.  Надо пощупать на досуге.

По локальной сети не пробовал через pip'ы пересылать?  У меня чего-то не завелось (пробовал года три назад), хотя по идее должно работать.

И как дела с надёжностью?

 

По локале за ненадобностью никогда не обменивался. Поэтому опыта нет.

Надежность PipeNames неплохая - месяцы без сбоев. Однако, не анализировал, теряются ли данные при пересылке, т.к. при аггрегировании просто слал с частотой около 1КГц сообщения. И если что-то и терялось, то повторное его восполняло.

 
hrenfx:

По локале за ненадобностью никогда не обменивался. Поэтому опыта нет.

Надежность PipeNames неплохая - месяцы без сбоев. Однако, не анализировал, теряются ли данные при пересылке, т.к. при аггрегировании просто слал с частотой около 1КГц сообщения. И если что-то и терялось, то повторное его восполняло.

Примерно понял, буду щупать.  Спасибо за напоминание.
 
For the sake of information to the MQL5 community, I've elaborated more on this topic. Please check https://www.mql5.com/en/forum/144617 if you are interested in an optimization speed comparison between MT4 and MT5!
Comparing optimization speed between MT4 and MT5 - MQL4 forum
  • www.mql5.com
Comparing optimization speed between MT4 and MT5 - MQL4 forum
Причина обращения: