Новая версия платформы MetaTrader 5 build 4410: улучшения в работе - страница 22

 

Торговая панель почернела...


 
Alain Verleyen # :

Если возможно, подтвердите, пожалуйста, это нормально или нет?

@Ренат Фатхуллин

I am still hoping to get an official answer about the release/beta issue. It's a recurring problem on English forum where people are confused about using a beta WITHOUT even connecting to MetaQuotes-Demo server.

Can you clarify this please ?


Я все еще надеюсь получить официальный ответ по поводу проблемы релиза/беты. Это повторяющаяся проблема на английском форуме, где люди путаются в использовании бета-версии БЕЗ подключения к серверу MetaQuotes-Demo.

Можете ли вы прояснить это, пожалуйста?

See https://www.mql5.com/en/forum/472706#comment_54520170 and numerous others.

MT5 build 4524
MT5 build 4524
  • 2024.09.07
  • wroyager1
  • www.mql5.com
I installed MT5 build 4524, during optimization an error pops up and the program hangs...
 

Обнаружил, что на релизе 4410 не отрабатывает функция FileFlush. Никакой ошибки не диагностируется (_LastError = 0).  То есть нет эффекта физической дозаписи в файл. Все данные от вызовов FileWriteXYZ сбрасываются на диск только при закрытии файла, т.е. при остановке эксперта.

Файл открывается с флагами FILE_READ|FILE_WRITE|FILE_BIN|FILE_SHARE_READ, если что.

ЗЫ. FileSize возвращает правильный (увеличивающийся) размер, но на диске это не отображается.

ЗЫЫ. В коде делаю флеш каждые 10 секунд - оказалось, что на диск файл скидывается раз в несколько минут (возможно, дело не во времени, а в размере накопившегося буфера - что-то в районе мегабайта). Не знаю, куда копать. Windows 11, если что.

ЗЫЫЫ. Актуальная версия - буфер скидывается только в ответ на моё обращение к свойствам файла в Проводнике - пока не нажмешь в меню Свойства, данные не сохраняются.

Судя по описанию функции FlushFileBuffers WinAPI, она вообще мало что значит, т.к. система все равно поддерживает какой-то внутренний буфер, а для гарантированной записи без буфера рекомендуют флаги FILE_FLAG_NO_BUFFERING and FILE_FLAG_WRITE_THROUGH. Раньше (под Win 7) все работало, как задумано. Теперь значица нужно перезакрывать и переоткрывать файл вместо флеша?!

 

Планируется улучшать работу агентов?

На скрине каждый агент  завершил один проход, а проходов всего 3 засчитано....

 
Stanislav Korotky #:

Обнаружил, что не отрабатывает функция FileFlush. Никакой ошибки не диагностируется (_LastError = 0).  То есть нет эффекта физической дозаписи в файл. Все данные от вызовов FileWriteXYZ сбрасываются на диск только при закрытии файла, т.е. при остановке эксперта.

...

буфер скидывается только в ответ на моё обращение к свойствам файла в Проводнике - пока не нажмешь в меню Свойства, данные не сохраняются.

Нашел такое решение:

/* dummy = */FileGetInteger(<filename_of_handle>, FILE_SIZE);
FileFlush(handle);

Так кэш данных начинает сбрасываться на диск, но сама по себе функция FileFlush не работает как ожидается.

 

Не знаю, как под виндой, а под вайном MT5 вообще как-то очень медленно работает с файлами (думается, скорее даже с каталогами, с ФС), в частности - открытие, проверка существования, закрытие. Через поиск работа с множеством файлов быстрее, но всё равно не впечатляет.

Скрипт на баше работает в разы, если не на порядки, быстрее.

Возможно, дело в том, что код заточен под NTFS и с EXT4 отрабатывает сильно неоптимально.

 
JRandomTrader #:

Не знаю, как под виндой, а под вайном MT5 вообще как-то очень медленно работает с файлами (думается, скорее даже с каталогами, с ФС), в частности - открытие, проверка существования, закрытие. Через поиск работа с множеством файлов быстрее, но всё равно не впечатляет.

Скрипт на баше работает в разы, если не на порядки, быстрее.

Возможно, дело в том, что код заточен под NTFS и с EXT4 отрабатывает сильно неоптимально.

Недавно, после эпик фейла MS, решил "полностью перейти на линукс". Через 15 лет с последнего использования. Порадовался его прогрессу. Порадовался прогрессу wine. Понял, что всё, что работает с железом, работает в wine гораздо медленнее, чем в windows. Не постеснялся вернуться на win 10.

Линукс - прекрасный сервер. Но линукс + wine я не выберу даже ради низкой цены аренды.

 
Подскажите, может есть какой-то перечень платформ, к которым можно подключиться метатрейдер на территории РФ?

Я что-то не могу найти ни один сайт, который его поддерживает.

 
Почему нельзя контролировать потребление памяти агентами? Просто это опасно становится, продавать в клауд ресурсы, если на компьютере идут какие то вычисления свои, работают советники... всё может вылететь из-за нехватки памяти.
 
Возможно ли сделать так, что бы во время тестирования велся бы какой то файл сохранения  этапа тестирования? по разным причинам у многих людей процес тестирования может занимать не один день , неделю, месяц, очень очень нужна возможность востановить процесс тестирования с места, где оно по определенным причинам было прервано. Типо как авто созранение. Заранее благодарен.