Новая версия платформы MetaTrader 5 build 1930: Плавающие окна графиков и .Net библиотеки в MQL5 - страница 89

 

К чему здесь все эти дискуссии на английском?

Лучше скажите - где русский язык в пустом выпадающем меню поля "Язык"?

Пустое меню "Язык"

 

Сортировка на вкладке Календарь работает, но только на вкладке. А на чарте - нет.

билд 1966 - 


Вот я поставил высокий приоритет, новости по США, текущая неделя.
На вкладке все нормально, а на чарте - все новости подряд так, как будто я и не сортировал.

--------------

Объяснение - 

Тут дело в том, что есть кастомные (есть и бесплатные) индикаторы для МТ4, которые постят на чарт календари (новостные события) с сортировкой.

Календари все - не от сюда, а индикаторы настолько популярны, что, например когда forex-factory форумный календарь начал подвисать из-за таких индикаторов (которые постят календари на чарт), то они в forex-factory забанили разработчиков таких новостных индикаторов и ограничили доступ к своему календарю из Метатрейдера.

Еще пример с календарем dailyfx - когда сделали бесплатный индикатор (который постит новости/события с их календаря на чарт МТ4), то они вынуждены раз в неделю менять формат календаря на своем сайте для того, чтобы остановить те индикаторы, которые постоянно обращаются к ним на календарную страницу (которая у них, наверное, тоже подвисает из-за большого числа одновременных обращений на их страницу из чартов Метатрейдера в связи с кастомными новостными индикаторами).
И так далее ...

То есть, если в Метатрейдере 5 будет отображение новостных событий на чарте с сортировкой, то про все остальные календарные сайты можно просто забыть (тем более, что у них виснут сайты от отображения их календарей в чарте Метатрейдера 4 посредством кастомных индикаторов).
Значит, их календари будут вообще не нужны.

 

Дорогие, Уважаемые Разработчики!

В канун Нового года сделайте нам подарок!

Добавьте в окно тестера две кнопки и одно поле ввода данных...

А именно добавьте отдельную кнопку для запуска процесса оптимизации

и отдельную кнопку для запуска процесса форвард тестирования с добавлением

поля ввода даты окончания форвард тестирования в пользовательском режиме, чтоб можно было запускать

форвард-тест в любое время на основе сохранённых результатов оптимизации и форвард тестов.
Я думаю все будут очень, очень вам признательны и благодарны...

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

Дорогие Разработчики!

В канун Нового года сделайте нам подарок!

Добавьте в окно тестера две кнопки и одно поле ввода данных...

А именно добавьте отдельную кнопку для запуска процесса оптимизации

Присоединяюсь. И opt-формат раскрыть, чтобы можно было считывать в Тестер сгенерированные opt-файлы (например, оставить там только интересные проходы или разместить там результаты проходов на разных интервалах и т.д.) и запускать оттуда соответствующие одиночные проходы.


Рсскрытие opt-формата точно никакой угрозы не несет, при этом серьезно расширяет возможности Тестера.

 
fxsaber:

Рсскрытие opt-формата точно никакой угрозы не несет, при этом серьезно расширяет возможности Тестера.

+++

 
xxz:

Дорогие, Уважаемые Разработчики!

В канун Нового года сделайте нам подарок!

Добавьте в окно тестера две кнопки и одно поле ввода данных...

А именно добавьте отдельную кнопку для запуска процесса оптимизации

и отдельную кнопку для запуска процесса форвард тестирования с добавлением

поля ввода даты окончания форвард тестирования в пользовательском режиме, чтоб можно было запускать

форвард-тест в любое время на основе сохранённых результатов оптимизации и форвард тестов.
Я думаю все будут очень, очень вам признательны и благодарны...

хотя бы эксклюзивный Новогодний бета релиз)...

думаю обоснования излишние, и всем понятные...

 

Терминал обновился на билд 1961. Время компилляции эксперта внезапно выросло до 8.5 секунд.

Кто понял жизнь, тот не спешит...

 

Есть боевой советник - релиз-версия и дебаг-версия. Релиз-версия когда-то была откомпилирована и ее mq5 содержит много всяких include-файлов, которые менялись далее для экспериментов на дебаг-версии (другой mq5).

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

 

Билд 1950.

При использовании режима оптимизации "Математические вычисления" столкнулся с существенной проблемой - теряются в большом объеме фреймы, получаемые от агентов. Теряются как от удаленных агентов, так и от локальных агентов.

В режиме "Только цены открытия" потери начались только на проходе в районе 280000.


2018.12.23 21:00:13.905 Tester  register MQL5.community account and use MQL5 Cloud Network to speed up optimizations
2018.12.23 21:00:13.950 Tester  set "Custom max" as optimization criterion for mathematical calculations
2018.12.23 21:00:14.042 Tester  cache file 'tester\cache\Tree_Brut_v_02_test.30.8A71EF8757716BE8343093D64A016A52.opt' contains 1001 records
2018.12.23 21:00:14.042 Tester  Experts\Tree_Brut_v_02_test.ex5 math calculations test means no history and no symbol info for FORTS-USDRUB
2018.12.23 21:00:14.042 Tester  complete optimization started
2018.12.23 21:00:14.042 Tester  optimization already processed, total passes 1001
2018.12.23 21:00:14.042 Tester  reading of 1001 result records from cache...
2018.12.23 21:00:14.042 Tester  1 blocks of results read from cache in 0 ms
2018.12.23 21:00:14.052 Statistics      optimization done in 0 minutes 00 seconds
2018.12.23 21:01:02.534 Tester  register MQL5.community account and use MQL5 Cloud Network to speed up optimizations
2018.12.23 21:01:02.581 Tester  set "Custom max" as optimization criterion for mathematical calculations
2018.12.23 21:01:02.750 Tester  Experts\Tree_Brut_v_02_test.ex5 math calculations test means no history and no symbol info for FORTS-USDRUB
2018.12.23 21:01:02.751 Tester  complete optimization started
2018.12.23 21:01:02.751 Tester  size of initial task batch is 83
2018.12.23 21:01:02.769 Core 1  connecting to 127.0.0.1:3000
2018.12.23 21:01:02.769 Core 2  connecting to 127.0.0.1:3001
2018.12.23 21:01:02.769 Core 1  connected
2018.12.23 21:01:02.769 Core 3  connecting to 127.0.0.1:3002
2018.12.23 21:01:02.769 Core 4  connecting to 127.0.0.1:3003
2018.12.23 21:01:02.769 Core 3  connected
2018.12.23 21:01:02.769 Core 2  connected
2018.12.23 21:01:02.770 Core 5  connecting to 127.0.0.1:3004
2018.12.23 21:01:02.770 Core 4  connected
2018.12.23 21:01:02.770 Core 5  connected
2018.12.23 21:01:02.771 Core 6  connecting to 127.0.0.1:3005
2018.12.23 21:01:02.771 Core 6  connected
2018.12.23 21:01:02.772 Core 2  authorized (agent build 1950)
2018.12.23 21:01:02.772 Core 1  authorized (agent build 1950)
2018.12.23 21:01:02.772 Core 4  authorized (agent build 1950)
2018.12.23 21:01:02.774 Core 3  authorized (agent build 1950)
2018.12.23 21:01:02.774 Core 1  common synchronization completed
2018.12.23 21:01:02.775 Core 6  authorized (agent build 1950)
2018.12.23 21:01:02.775 Core 2  common synchronization completed
2018.12.23 21:01:02.775 Core 4  common synchronization completed
2018.12.23 21:01:02.775 Core 6  common synchronization completed
2018.12.23 21:01:02.776 Core 5  authorized (agent build 1950)
2018.12.23 21:01:02.789 Core 3  common synchronization completed
2018.12.23 21:01:02.859 Core 5  common synchronization completed
2018.12.23 21:01:03.237 Tester  optimization finished, total passes 501
2018.12.23 21:01:03.247 Statistics      optimization done in 0 minutes 01 seconds
2018.12.23 21:01:03.247 Statistics      shortest pass 0:00:00.000, longest pass 0:00:00.047, average pass 0:00:00.002
2018.12.23 21:01:03.247 Statistics      local 501 tasks (100%), remote 0 tasks (0%), cloud 0 tasks (0%)
2018.12.23 21:01:03.247 Core 1  connection closed
2018.12.23 21:01:03.247 Core 2  connection closed
2018.12.23 21:01:03.247 Core 3  connection closed
2018.12.23 21:01:03.248 Core 4  connection closed
2018.12.23 21:01:03.248 Core 5  connection closed
2018.12.23 21:01:03.248 Core 6  connection closed
2018.12.23 21:01:03.503 Tester  501 new records saved to cache file 'tester\cache\Tree_Brut_v_02_test.30.6E842AE54A7AD0D02AF68A79923BD437.opt'

Думал у меня в коде беда, но нет, всё вырезал, вот код для воспроизведения.

input int Test_P=1;

double stat_values[30];
int Calc_Prohod=0;
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {

   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {

  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {

  }
//+------------------------------------------------------------------+
//| Tester function                                                  |
//+------------------------------------------------------------------+
double OnTester()
  {
   FrameAdd("Statistics",1,0,stat_values);
//---
   return(Test_P);
  }
//+------------------------------------------------------------------+
//| TesterInit function                                              |
//+------------------------------------------------------------------+
void OnTesterInit()
  {

  }
//+------------------------------------------------------------------+
//| TesterPass function                                              |
//+------------------------------------------------------------------+
void OnTesterPass()
  {

   string name ="";  // Публичное имя/метка фрейма
   ulong  pass =0;   // Номер прохода в оптимизации, на котором добавлен фрейм
   long   id   =0;   // Публичный id фрейма
   double val  =0.0; // Одиночное числовое значение фрейма
//---
   FrameNext(pass,name,id,val,stat_values);

   Calc_Prohod++;
   Comment(Calc_Prohod);
  }
//+------------------------------------------------------------------+
//| TesterDeinit function                                            |
//+------------------------------------------------------------------+
void OnTesterDeinit()
  {
   Print("Calc_Prohod=",Calc_Prohod);

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

Или нужно что-то дополнительно прописывать?

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