Тестер стратегий MetaTrader 5: ошибки, баги, предложения по улучшению работы - страница 66

 
Sergey Golubev:
Он с китайского форума (он англ тоже не понимает).
В англ части мы (часто, но не всегда) нажимаем на edit на посте, делаем машинный перевод поста с его языка на англ встроенным переводчиком, потом жмем Update поста.

А вот этого делать категорически не нужно, это очень вредно для читающих. Проявление инициативы - часто наказуемо.

 
Sergey Golubev:


Спасибо за помощь!
Я попытаюсь перевести мой пост на русский язык с помощью встроенного переводчика на сайте mql5.com.
Будем надеяться, что его качество надёжно.
В конце концов, я немного понимаю английский, но совершенно не понимаю русский.
 
tickfenix :
Спасибо за помощь!
Я попытаюсь перевести мой пост на русский язык с помощью встроенного переводчика на сайте mql5.com.
Будем надеяться, что его качество надёжно.
В конце концов, я немного понимаю английский, но совершенно не понимаю русский.

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

Then advice: write in your native language and below - its translation into English. This will make it easier for the reader to correct machine translation errors.

 

2345 - сломали тестерные кеши. В названии соответствующих файлов перестало участвовать имя советника (на скрине перед выделенным точками).

По этой причине средствами GUI посмотреть результаты предыдущих оптимизаций не представляется возможным - отсутствуют в выпадающем списке выбора.


Внутри файлов так же нули вместо названия советника.

opt.


tst.


Строка для поиска: Oshibka 006.
 
fxsaber :



Диск Z?

Используете ли вы также средство Windows mklink, чтобы соединить папку тестера MT5 с папкой на оперативной памяти?

Может ли это быть причиной странных ошибок, которые преследуют нас так долго?


Drive Z?

Are you also using the Windows mklink tool to junction link the MT5 tester folder to a folder on a ram drive?

Could this be the reason for the weird errors that have plagued us for so long?

 
tickfenix:

Drive Z?

Are you also using the Windows mklink tool to junction link the MT5 tester folder to a folder on a ram drive?

Could this be the reason for the weird errors that have plagued us for so long?

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

Тестер стратегий MetaTrader 5: ошибки, баги, предложения по улучшению работы

fxsaber, 2019.09.16 14:11

Запускаю такой батник в папке Терминала один раз после перезагрузки компа.

rem Создали RAM-Drive для Тестера.
imdisk -a -o awe -s 3G -m Z: -p "/fs:ntfs /q /y /v:MT5Tester"

mkdir z:\Tester
mklink /j Tester z:\Tester

rem Кеш оптимизатора будет сохраняться на диске.
mkdir cache
mklink /j z:\Tester\cache cache

rem Временный RAM-Drive, чтобы на него можно было перенаправить log-папки.
imdisk -a -o awe -s 3M -m Y: -p "/fs:ntfs /q /y /v:MT5Tester_Logs"

mkdir y:\logs
mklink /j Tester\logs y:\logs

mkdir y:\logs0
mkdir Tester\Agent-127.0.0.1-3000
mklink /j Tester\Agent-127.0.0.1-3000\logs y:\logs0

mkdir y:\logs1
mkdir Tester\Agent-127.0.0.1-3001
mklink /j Tester\Agent-127.0.0.1-3001\logs y:\logs1

mkdir y:\logs2
mkdir Tester\Agent-127.0.0.1-3002
mklink /j Tester\Agent-127.0.0.1-3002\logs y:\logs2

mkdir y:\logs3
mkdir Tester\Agent-127.0.0.1-3003
mklink /j Tester\Agent-127.0.0.1-3003\logs y:\logs3

mkdir y:\logs4
mkdir Tester\Agent-127.0.0.1-3004
mklink /j Tester\Agent-127.0.0.1-3004\logs y:\logs4

mkdir y:\logs5
mkdir Tester\Agent-127.0.0.1-3005
mklink /j Tester\Agent-127.0.0.1-3005\logs y:\logs5

mkdir y:\logs6
mkdir Tester\Agent-127.0.0.1-3006
mklink /j Tester\Agent-127.0.0.1-3006\logs y:\logs6

mkdir y:\logs7
mkdir Tester\Agent-127.0.0.1-3007
mklink /j Tester\Agent-127.0.0.1-3007\logs y:\logs7

rem Убили временный RAM-Drive
imdisk -D -m Y:


После этого log-файлы не создаются. На глаз пока не заметил тормозов со стороны Тестера. Вроде, рабочее решение.

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

Сервисы. Уже работают?

fxsaber, 2019.06.07 06:37

Написал полезный сервис
// Сервис проверяет наличие корректной папки Tester.
#property service

input string inFolderName = "Tester";

#include <WinAPI\fileapi.mqh>
#include <WinAPI\handleapi.mqh>

#define GENERIC_WRITE                    0x40000000
#define CREATE_ALWAYS                    2
#define FILE_ATTRIBUTE_NORMAL            0x00000080
#define FILE_FLAG_OVERLAPPED             0x40000000

bool FileIsInvalid_WinAPI( const string FileName )
{
  const HANDLE hFile = CreateFileW(FileName, GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL | FILE_FLAG_OVERLAPPED, NULL);      
  const bool Res = (hFile != INVALID_HANDLE);
  
  if (Res)
  {
    CloseHandle(hFile);
    
    DeleteFileW(FileName);
  }
    
  return(Res);
}

void OnStart()
{
  const string FileName = TerminalInfoString(TERMINAL_PATH) + "\\" + inFolderName;

  if (!FileIsInvalid_WinAPI(FileName + "\\" + __FILE__))
    MessageBox(FileName + " is invalid!");  
}


При запуске Терминала сразу появляется предупреждение, если папка Tester отсутствует.


Здорово помогает, если Tester на RAMDrive должен быть.

 

Возникает постоянно следующий баг. У кого так же?

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

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

После нескольких запусков одиночек из именно "результатов оптимизации", ломается одиночный прогон и помогает только перегрузка терминала То есть, прогон одиночный не запускается, кнопка старт не реагирует(нет действий при нажатии на неё). При этом в лог обычный пишет что то вроде - pass ( и тут "номер" например pass 14 ,pass 255 и тп.).КУже 3 года такое наблюдаю, до жути надоело когда иногда после 4-8 прогонов по 1 результату генетики уже приходится перезапускать терминал, загружать заново историю результата теста и опять запускать из нее прогоны.

Любой может воспроизвести судя по тому что у меня выходит- Сделать генетику, и потыкать одиночные прогоны в результатах генетики. Бывает что быстро отваливается тестер бывает что и десятки раз робит(но реже).
Тестирование стратегий - Алгоритмический трейдинг, торговые роботы - Справка по MetaTrader 5
Тестирование стратегий - Алгоритмический трейдинг, торговые роботы - Справка по MetaTrader 5
  • www.metatrader5.com
Тестер стратегий позволяет тестировать и оптимизировать торговые стратегии (советники) перед началом использования их в реальной торговле. При тестировании советника происходит его однократная прогонка с начальными параметрами на исторических данных. При оптимизации торговая стратегия прогоняется несколько раз с различным набором параметров...
 
Askr:

Любой может воспроизвести судя по тому что у меня выходит- Сделать генетику, и потыкать одиночные прогоны в результатах генетики. Бывает что быстро отваливается тестер бывает что и десятки раз робит(но реже).

Много работаю с Тестером. Но такого поведения не помню.

 
Askr :


Я также частый пользователь тестеров стратегий.

Я не сталкивался с ситуацией, которую вы упомянули.

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

Однако все отдельные тесты верны.

Это не имеет ничего общего с генетической оптимизацией или полной оптимизацией, большинство задач оптимизации просто возвращают нелепые результаты.

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



I am also a frequent user of strategy testers.

I haven't come across the situation you mentioned either.

The problem I ran into was that in most cases, I couldn't get the right test results from the optimization task.

However, all individual tests are correct.

It has nothing to do with genetic optimization or full optimization,  most optimization tasks just return ridiculous results.

Possibly related to some sort of cache management mechanism or memory management mechanism, starting with a version before 2280, the strategy tester had one or more serious bugs in the optimization feature.

 

Повторно проверяю сейчас на скорую руку и отпишу чуть подробнее. Сам достаточно давно не тестировал большие объёмы.

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

Повторюсь это не совсем та проблема о которой писал выше, но как вариант.

Вот например на 2085 билде выдывало так/

Может кто может расшифровать что пишет в журнал агента?

Я так понял проблема может с агентами была.

1 попытка

2020.03.02 21:37:50.947 Core 1  connection closed
2020.03.02 21:37:53.773 Tester  single pass 7043 started
2020.03.02 21:37:53.799 Core 1  connecting to 127.0.0.1:3002
2020.03.02 21:37:53.800 Core 1  connected
2020.03.02 21:37:53.803 Core 1  disconnected
2020.03.02 21:37:53.803 Core 1  connection closed

журнал агента

2020.03.02 21:37:53.802 Network additional connect from 127.0.0.1
2020.03.02 21:37:53.910 Network previous connect context not freed
2020.03.02 21:37:53.910 127.0.0.1       cannot accept connect, agent is busy
2020.03.02 21:37:55.524 127.0.0.1       prepare for shutdown

2 попытка


то же что и в 1 попыткен/убралось/.

журнал агента

2020.03.02 21:40:07.936 Network additional connect from 127.0.0.1
2020.03.02 21:40:08.044 Network previous connect context not freed
2020.03.02 21:40:08.044 127.0.0.1       cannot accept connect, agent is busy
2020.03.02 21:40:09.925 127.0.0.1       prepare for shutdown

да вот тот случай по логам

    2020.03.02 21:58:24.589	Core 1	connection closed
2020.03.02 21:58:28.488	Core 1	connecting to 127.0.0.1:3000
2020.03.02 21:58:28.489	Core 1	connected
2020.03.02 21:58:28.491	Core 1	disconnected
2020.03.02 21:58:28.492	Core 1	connection closed
2020.03.02 21:58:30.090	Core 1	connecting to 127.0.0.1:3000
2020.03.02 21:58:30.091	Core 1	connected
2020.03.02 21:58:30.095	Core 1	disconnected
2020.03.02 21:58:30.095	Core 1	connection closed

2020.03.02 21:58:24.503 Tester  EURUSD,H1: 24313 ticks, 6171 bars generated. Test passed in 0:00:00.112.
2020.03.02 21:58:24.503 Tester  242 Mb memory used including 1.41 Mb of history data, 64 Mb of tick data
2020.03.02 21:58:24.503 Tester  log file "C:\***************\20200302.log" written
2020.03.02 21:58:24.503         test Experts\***************.ex5 on EURUSD,H1 thread finished
2020.03.02 21:58:28.491 Network additional connect from 127.0.0.1
2020.03.02 21:58:28.599 Network previous connect context not freed
2020.03.02 21:58:28.599 127.0.0.1       cannot accept connect, agent is busy
2020.03.02 21:58:30.095 Network additional connect from 127.0.0.1
2020.03.02 21:58:30.203 Network previous connect context not freed
2020.03.02 21:58:30.203 127.0.0.1       cannot accept connect, agent is busy
2020.03.02 21:58:30.493 127.0.0.1       prepare for shutdown

Вот писал тут ранее о проблеме:

https://www.mql5.com/ru/forum/1111/page2485#comment_12092720

https://www.mql5.com/ru/forum/1111/page2486#comment_12118579

https://www.mql5.com/ru/forum/315556/page3#comment_12072667

https://www.mql5.com/ru/forum/1111/page2483#comment_12072438

https://www.mql5.com/ru/forum/315556/page12#comment_12342692 по 2093 билду

Ошибки, баги, вопросы
Ошибки, баги, вопросы
  • 2019.06.17
  • www.mql5.com
Общее обсуждение: Ошибки, баги, вопросы