Обсуждение статьи "Визуализируем оптимизацию торговой стратегии в MetaTrader 5" - страница 5

 
fxsaber:

Это Маркет-уязвимость в первую очередь.

Возможно, что можно авто-тестами выявить и не пропустить, пока автор не внесёт исправление.

 

В общем сделал для целей тестирования вот как. Прошу оценить, может мои выводы неточны...

Создал примитивный советник:

//--- Подключение класса приложения
#include "Program.mqh"
CProgram program;
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---
   program.OnTesterInitEvent();
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
   program.OnTesterDeinitEvent();
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---

  }
//+------------------------------------------------------------------+


Т.о. пытаюсь проследить этап инициализации Панели, как бы это происходило в теле обработчика OnTesterInit().

Панель появилась. Т.е. насколько понимаю, все ресурсы у меня есть и загружаются. Скорее всего дело во фрейм-режиме.



Panel

 
Dennis Kirichenko:

В общем сделал для целей тестирования вот как. Прошу оценить, может мои выводы неточны...

Создал примитивный советник:

...

Т.о. пытаюсь проследить этап инициализации Панели, как бы это происходило в теле обработчика OnTesterInit().

Панель появилась. Т.е. насколько понимаю, все ресурсы у меня есть и загружаются. Скорее всего дело во фрейм-режиме.

...

Тогда всё ещё запутанней стало. Получается дело не в ресурсах. 

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

 
Anatoli Kazharski:

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

Для начала - пусть Денис выдаст все свои файлы Анатолию, а Анатолий все установит в пустой терминал. Если воспроизведется - можно будет сравнить файлы.

Я тоже проверю чуть позже

 
Rashid Umarov:

Для начала - пусть Денис выдаст все свои файлы Анатолию, а Анатолий все установит в пустой терминал. Если воспроизведется - можно будет сравнить файлы.

Я тоже проверю чуть позже

Для начала я попробовал вот так.

1. Скачал установщик MetaTrader 5 и установил терминал в директорию по умолчанию:


//---

2. После установки открыл каталог данных терминала:



//---

3. Скопировал из рабочего каталога в этот каталог эксперта с уже скомпилированным файлом.

//---

4. Запустил оптимизацию и вот результат. Всё получилось.


//---

В архиве ниже скомпилированная версия эксперта из статьи. Пусть Денис попоробует для начала так протестировать и сообщит, что получилось.

Файлы:
 

1. Далее я скопировал из своего рабочего каталога изображения и файлы библиотеки:

//---

2. Затем скомпилировал эксперта MacdSampleWithFrames и снова запустил оптимизацию. Всё получилось:


 
Anatoli Kazharski:

1. Далее я скопировал из своего рабочего каталога изображения и файлы библиотеки:

Тут нужно либо из статьи, либо из Codebase. А так конечно все будет хорошо

 
Rashid Umarov:

Тут нужно либо из статьи, либо из Codebase. А так конечно все будет хорошо

Уже попробовал.

Удалил версии, которые копировал из своего рабочего каталога. Скачал эксперта из статьи и версию библиотеки из Codebase. 

Всё получается. 

 

Получилось!!!

И вот как.

Установил в чистом поле новый МТ5. Путь к советнику MovingAverageWithFrames был такой: %MQL5\Experts\MacdSampleWithFrames\MovingAverageWithFrames.mq5.

Оказалось, что робот некорректно работал в первом МТ5, потому как исходник располагался изначально вот тут: %MQL5\Shared Projects\Testing\Frames\MovingAverageWithFrames\MovingAverageWithFrames.mq5.

Видимо, из папки расшаренных проектов ресурсы подключаются проблематично, если вообще  подключаются.

 
Dennis Kirichenko:

...

Оказалось, что робот некорректно работал в первом МТ5, потому как исходник располагался изначально вот тут: %MQL5\Shared Projects\Testing\Frames\MovingAverageWithFrames\MovingAverageWithFrames.mq5.

Видимо, из папки расшаренных проектов ресурсы подключаются проблематично, если вообще  подключаются.

О таких нюансах нужно сразу сообщать. В приложенном к статье архиве файлы расположены не в директории расшаренных проектов, а в \MQL5\Experts. Вот так и нужно было сначала их тестировать перед тем, как пробовать, что-то другое.

Поэтому похоже, что да, Вы правы:

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

Обсуждение статьи "Визуализируем оптимизацию торговой стратегии в MetaTrader 5"

Dennis Kirichenko, 2018.02.25 22:10

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

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