Новая версия платформы MetaTrader 5 build 2007: Экономический календарь, MQL5-программы в виде сервисов - страница 72

 

На всех тиках - тест проходит успешно! 



еще такая штука: 


выбираю МА с периодом 2000 например

ставлю тест за последний год и мне пишет следующее:


EN      2       12:26:41.875    History EURAUD: history data load error
JE      0       12:26:41.875    History EURAUD: symbol tick base found
LN      2       12:26:43.947    History base file G:\ROBO MT5\Tester\Agent-127.0.0.1-3000\..\bases\MetaQuotes-Demo\history\EURAUD\2018.hcs open error [3]



а если поставить тест с 15 января, то все ок :-) все тестируется 1 раз. а потом снова ошибки :-) 


при этом пара EURUSD тестируется без каких либо проблем. 




и оптимизация по всем символам не работает.




 
Konstantin:

расчеты коинтеграции, корреляции и других статзадачь, кроме того удобно запустить в отдельном потоке thread.detach() весь алгоритм расчетов сигнальной модели, а GUI как и принято в основном потоке пусть крутится, таким образом две ресурсоемкие задачи будут работать в разных потоках и не грузить слабые VPS ресурсы

OpenCV в этом явно не поможет т.к. на VPS ресурсы GPU если и доступны по отдельным заявкам, то они явно дорогие

как пример у меня 4-5 копий роботов крутилось на одном терминале на VPS 2 ядра Xeon, 2 гиг ОЗУ, учитывая, что на VPS ресурсы делятся между клиентами в очереди, терминал грузил ЦПУ под 100%, пришлось использовать другой терминал как коннектор, а алгоритм уже на собственной сборке запускать, в итоге нагрузка на всю систему снизилась до 10-15%, в пиках до 25% и то из-за другого терминала

ps. дабы не было офтопом из-за упоминаний другого терминала - остановился не на МТ5 в то время, т.к. когда все писал, вы там со структурами и union мудрили и все периодически сыпалось, сейчас вот задумываюсь написать коннектор под МТ5, тем более сокеты вы там уже реализовали 

С GUI, согласен, это как раз та задача, где использование многопоточности желательно, но это порождает некоторые усложнения в реализации, например, синхронизация.

Разделение ресурсоёмкой задачи по потокам никак не снижает нагрузку с CPU в целом, и даже повышает, если исключить возможность использования HyperThreading в разделённых потоках (решаемая задача просто полностью займёт все ядра CPU).
4-5 копий роботов, о которых вы упоминали (возможно работающие не самым оптимиальным образом), работают каждый в своём потоке, именно поэтому, нагрузка на CPU была 100%

Вполне возможно, что снижение нагрузки на 10-15% (25%), произошло из-за падения производительности алгоритма в целом, например из-за синхронизации.

Выделить сигнальную модель в отдельный поток, возможно и при существующих возможностях в MQL (в виде отдельной MQL программы)

 
Vladislav Andruschenko:


перезапустил компьютер

поставил тест по EURAUD 

вижу такое в истории: 


 

Запускаю тест по MACD SAMPLE


тоже самое:


в логах агента следующее:



при этом на всех тиках (без реальных) - все проходит нормально. Вроде бы

Посмотрите в папке тестера закачанную историю. В Вашем случае G:\ROBO_MT5\Tester\bases\<имя торгового сервера>\history. Есть там EURAUD и в каком объёме?

 
Vladislav Andruschenko:

History base file G:\ROBO MT5\Tester\Agent-127.0.0.1-3000\..\bases\MetaQuotes-Demo\history\EURAUD\2018.hcs open error [3]



Вот оно. open error[3] означает, что файла 2018.hcs не существует

https://docs.microsoft.com/en-us/windows/desktop/Debug/system-error-codes--0-499-

ERROR_PATH_NOT_FOUND

3 (0x3)

The system cannot find the path specified.

System Error Codes (0-499) - Windows applications
  • 2018.05.31
  • GrantMeStrength
  • docs.microsoft.com
The System Error Codes are very broad.
 
Slava:

Вот оно. open error[3] означает, что файла 2018.hcs не существует

https://docs.microsoft.com/en-us/windows/desktop/Debug/system-error-codes--0-499-


но она есть :-)


 
Slava:

Вот оно. open error[3] означает, что файла 2018.hcs не существует

https://docs.microsoft.com/en-us/windows/desktop/Debug/system-error-codes--0-499-


почему то в тестере пишет разрешение hcs 

а по факту файлы hcc 


напомню, что такая проблема появилась только с 2007 билда..

 
Slava:

Посмотрите в папке тестера закачанную историю. В Вашем случае G:\ROBO_MT5\Tester\bases\<имя торгового сервера>\history. Есть там EURAUD и в каком объёме?

G:\ROBO_MT5\Tester\bases\

вообще папки bases не существует в подпапке Tester 

 
Slava:

Вот оно. open error[3] означает, что файла 2018.hcs не существует

https://docs.microsoft.com/en-us/windows/desktop/Debug/system-error-codes--0-499-



@Slava


ради интереса переименовал в папке истории EURAUD файлы 


провел тот же тест



и все прошло успешно :-)




УРАААА


что то с разрешением файлов! HCC и HCS 

 
Vladislav Andruschenko:


но она есть :-)


Это не та папка. Это база терминала. Откуда в базе терминала HCS-файлы?

Я говорил про базу тестера

 
Slava:

Это не та папка. Это база терминала. Откуда в базе терминала HCS-файлы?

Я говорил про базу тестера


я ни нашел ни одного файла с разрешением hcs у себя на компьютере. 

но после копирования двух файлов 2018 и 2019 года в папке EURAUD в расширение hcs - тест прошел успешно. 


Теперь проблема такая же и на других парах, даже на USDCHF