Как добавить фильтр в отображение результатов оптимизации

 

Подскажите как решить задачу. Есть необходимость добавить фильтр "Максимальная просадка по средствам" в отображение результатов ОПТИМИЗАЦИИ, в MT5.

Хочу заметить что в MT4 он был, для чего убрали в MT5 непонятно. И можно сделать что бы значение отображалось не в процентах?

 

неужели ни кто не знает?

 
Vyacheslav Prokhorov #:

неужели ни кто не знает?

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

 
Aleksey Vyazmikin #:

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

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

 

Подскажите как решить задачу. Есть необходимость заменить столбец (фильтр) ""просадка%"" на "Максимальная просадка по средствам" в отображение результатов ОПТИМИЗАЦИИ, в MT5. или добавить новый фильтр

Для понимания прилогаю скриншоты

Файлы:
 
Vyacheslav Prokhorov #:

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

Код советника у Вас есть? Если есть, то надо внести правки будет. Как вариант почитать про фреймы можно тут. Да и поиск по сайту хорошо работает.

 
Vyacheslav Prokhorov #:

Подскажите как решить задачу. Есть необходимость заменить столбец (фильтр) ""просадка%"" на "Максимальная просадка по средствам" в отображение результатов ОПТИМИЗАЦИИ

Запустите этот скрипт на соответствующем opt-файле.

// Меняет местами стат. данные оптимизационных проходов.
#property script_show_inputs

input string inFileName = "Tester.opt"; // opt-FileName

input ENUM_STATISTICS inStat1 = STAT_EQUITYDD_PERCENT;
input ENUM_STATISTICS inStat2 = STAT_EQUITY_DD;

#include <fxsaber\TesterCache\TesterCache.mqh> // https://www.mql5.com/ru/code/26223

void SwapStat( ExpTradeSummary &Stat, const ENUM_STATISTICS Stat1, const ENUM_STATISTICS Stat2 )
{
  const double Value = Stat.TesterStatistics(Stat1);
  
  Stat.TesterStatistics(Stat1, Stat.TesterStatistics(Stat2));
  Stat.TesterStatistics(Stat2, Value);
  
  return;
}

void OnStart()
{
  TESTERCACHE<ExpTradeSummary> Cache; 

  if (Cache.Load(inFileName)) // Прочитали оптимизационный кеш.
  {    
    for (uint i = Cache.GetAmount(); (bool)i--;)
      SwapStat(Cache.Record[i].Result, inStat1, inStat2);

    Cache.Save(inFileName); // Сохранили в opt-файл.
  }
}

И откройте его в Тестере.

 
fxsaber #:
Запустите этот скрипт на соответствующем opt-файле

чуть подробнее етот момент пожалуйста 

 
Vyacheslav Prokhorov #:

чуть подробнее етот момент пожалуйста 

  1. Самая последняя оптимизация записывается в виде свежего opt-файла в папке MT5\Tester\cache.
  2. Копируете его в MT5\MQL5\Files.
  3. Запускаете в Терминале скрипт, прописывая название этого opt-файла (можете его предварительно переименовать в более короткий вид).
  4. Скрипт поменяет нужным образом данный opt-файл.
  5. В Тестере открываете этот opt-файл и видите нужные данные в колонках.
 
fxsaber #:

  1. Самая последняя оптимизация записывается в виде свежего opt-файла в папке MT5\Tester\cache.
  2. Копируете его в MT5\MQL5\Files.
  3. Запускаете в Терминале скрипт, прописывая название этого opt-файла (можете его предварительно переименовать в более короткий вид).
  4. Скрипт поменяет нужным образом данный opt-файл.
  5. В Тестере открываете этот opt-файл и видите нужные данные в колонках.

Спасибо огромное, все получилось

 
fxsaber #:

Запустите этот скрипт на соответствующем opt-файле.

У меня после этого скрипта в просадке значения более 100%. Что я сделал не так?

Файлы: