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

 
Доступна бета 1966 билда
 
Carl Schreiber:

I finally got it by appending line by line to a file in the Common folder:

The percent values are provided from 0 to 100.

But pass is always 0 (?) and TimeLocal always 23:59:59:

Why do you use FrameNext in OnTester()? It should be called just in OnTesterPass.

Download source codes framegenerator.mqh and moving_average_with_frames.mq5 from the article https://www.mql5.com/ru/articles/403 and learn how to use it.

It is simple - just add two three lines into your EA code

#include <FrameGenerator.mqh>
//--- генератором фреймов
CFrameGenerator fg;

and 

//+------------------------------------------------------------------+
//| Tester function                                                  |
//+------------------------------------------------------------------+
double OnTester()
  {
//--- тут нужно вставить свою функцию для вычисления критерия оптимизации
   double TesterCritetia=MathAbs(TesterStatistics(STAT_SHARPE_RATIO)*TesterStatistics(STAT_PROFIT));
   TesterCritetia=TesterStatistics(STAT_PROFIT)>0?TesterCritetia:(-TesterCritetia);
//--- вызываем на каждом окончании тестирования и передаем в качестве параметра критерий оптимизации
   fg.OnTester(TesterCritetia);
//---
   return(TesterCritetia);
  }

and four functios

//+------------------------------------------------------------------+
//| TesterInit function                                              |
//+------------------------------------------------------------------+
void OnTesterInit()
  {
//--- подготавливаем график для отображения нескольких линий баланса
   fg.OnTesterInit(3); //параметр задает количество линий баланса на графике
  }
//+------------------------------------------------------------------+
//| TesterPass function                                              |
//+------------------------------------------------------------------+
void OnTesterPass()
  {
//--- обрабатываем полученные результаты тестирования и выводим графику
   fg.OnTesterPass();
  }
//+------------------------------------------------------------------+
//| TesterDeinit function                                            |
//+------------------------------------------------------------------+
void OnTesterDeinit()
  {
//--- завершение оптимизации
   fg.OnTesterDeinit();
  }
//+------------------------------------------------------------------+
//|  Обработка событий на графике                                    |
//+------------------------------------------------------------------+
void OnChartEvent(const int id,const long &lparam,const double &dparam,const string &sparam)
  {
//--- запускает воспроизведение фреймов по окончании оптимизации при нажатии на шапке
   fg.OnChartEvent(id,lparam,dparam,sparam,100); // 100 - это пауза в ms между кадрами
  }
Визуализируй стратегию в тестере MetaTrader 5
Визуализируй стратегию в тестере MetaTrader 5
  • www.mql5.com
Каждому из нас давно знакома поговорка "Лучше один раз увидеть, чем сто раз услышать". Вы можете прочитать десятки книг о Париже или Венеции, но мысленные образы не позволят вам испытать те же ощущения, как от прогулки по их вечерним улицам. Преимущество визуализации, или наглядного представления, может быть легко спроецировано на любой аспект...
 
Renat Fatkhullin:
Доступна бета 1966 билда

Изменений не заметил. Наверное, это хорошо.

 
Rashid Umarov :

Why do you use FrameNext in OnTester()? It should be called just in OnTesterPass.

Download source codes framegenerator.mqh and moving_average_with_frames.mq5 from the article https://www.mql5.com/ru/articles/403 and learn how to use it.

It is simple - just add two three lines into your EA code

and 

and four functios

Я действительно удивлен всей этой дискуссией на английском языке на этом форуме, о чем-то, что не по теме.

Разве это не тема о сообщениях об ошибках MT5? Каждый раз, когда я делаю это, мне приходится изо всех сил пытаться получить подтверждение получения, и если Metaquotes распознает и решит проблему. И теперь я могу прочитать все не по теме обсуждения о вещах, которые уже даны ответы на английском форуме.

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

 
Carl Schreiber :

I finally got it by appending line by line to a file in the Common folder:

The percent values are provided from 0 to 100.

But pass is always 0 (?) and TimeLocal always 23:59:59:

This is the corresponding table of the optimization:


Interesting to see the table shows 15 lines my file only 14. The first entry is missing. But the counter shows 13:


The empty line of the table corresponds to this log-entry:

And this shows that - I guess - the 'non-passes' due to "return(INIT_PARAMETERS_INCORRECT)" or "return(INIT_FAILED)" still is counted by the Tester and the genetic Algorithm:

Вы должны использовать OnTesterInit (), OnTesterPass (), OnTesterDeinit (), и из этих функций вы можете распечатать их в журнале «Эксперты терминала». Посмотрите на английском форуме, там хотя бы одна ветка, где все продемонстрировано, как это работает.

In this case it should be mentioned in the reference as normally nobody would expect this - I guess.

В документации совершенно ясно, что STAT_BALANCE_DDREL_PERCENT представляет собой значение в процентах . Значение в процентах находится между 0 и 100 (в конечном счете выше 100), а не между 0 и 1. Возможно, перевод на немецкий язык не очень хорош (?).

Максимальная просадка баланса в процентах . В процессе торговли баланс может иметь многочисленные просадки, для каждой из которых рассчитывается относительная величина просадки в процентах. Наибольшее значение возвращается

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

 
Renat Fatkhullin :
Доступна бета 1966 билда
Не было 1964/1965 или я его пропустил?
 
Alain Verleyen:
Не было 1964/1965 или я его пропустил?

Билды не всегда идут по порядку

Builds don't always go in order.

 
Vladimir Pastushak :

Билды не всегда идут по порядку

Спасибо, просто хочу быть уверен.

 
Комментарии, не относящиеся к этой теме, были перенесены в "Вопросы от начинающих MQL5 MT5 MetaTrader 5".
 

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

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

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