Скажите, для каждого следующего форвард прогона, Validate берёт самый лучший результат оптимизации?
То есть? если я запускаю оптимизацию с пользовательским критерием оптимизации, для форварда будет браться лучший результат пользовательского критерия, а не результат с максимальным балансом?
Учитывает тот критерий, который выбрал пользователь. Поэтому если выбрали OnTester, то лучший проход будет определяться по максимальному значению OnTester.
ЗЫ Сам не помнил, посмотрел в исходник.
staticint GetMaxFitnessPos( const TESTERCACHE<ExpTradeSummary> &Cache, int Criterion = -1 )
{
int Pos = 0;
double MaxFitness = -DBL_MAX;
if (Criterion < 0)
Criterion = Cache.Header.last_criterion;for (int i = Cache.GetAmount() - 1; i >= 0; i--)
{
constdouble Res = Cache[i].GetCriterionResult(Criterion);
if (Res > MaxFitness)
{
MaxFitness = Res;
Pos = i;
}
}
return(Pos);
}
Validate должен заниматься автооптимизацией на интервалах длиной inSampleDays и применять их результат (лучший проход у каждого) к следующим OutSampleDays:
Записывается Init.ini - настройки Тестера при запуске Validate. X = data_from.
Генерируется и применяется *_opt.ini файл настроек: на интервале [X - inSampleDays; X] проводится Оптимизация.
После окончания оптимизация берется лучший проход, из него генерируется set-файл (просто, чтобы посмотреть).
Из лучшего прохода генерируется и применяется *_tst.ini файл настроек: на интервале [X; X + OutSampeDays] проводится одиночный проход в Тестере.
Формируется gif-картинка автооптимизационного баланса (сумма всех одиночных прогонов из п.4).
Возврат на п.2 в случае, если X < data_to из п.1.
Формируется портфельный ini-файл: на интервале [data_from; data_to] идет запуск Validate (Validate из Терминала запускает себя же в Тестере), которые берет все tst-файлы из п.5, объединяет их в одну единую хронологическую цепь торговых приказов и создает их в одиночном проходе. Получив объединение всех одиночных прогонов. Этому пункту все равно, как были получены tst-файлы, поэтому Validate умеет объединять любые (хоть мультивалютные) одиночные проходы, показывая влияние друг на друга по реальным тикам, в отличие от сторонних популярных решений объединения. В общем, в конце этого пункта получается одиночный проход - агрегация всего, что было посчитано. График баланса в Тестере должен совпадать с последней gif-картинкой (записываются для каждого шага) от Validate.
На самом деле в п.2. формируются разом все *_opt.ini. Поэтому Validate должен уметь продолжать работу, если было до этого снят.
Плюс Validate умеет подхватывать любые ini-файлы (скормить ему папку с ними) - кастомный MultiTester.
И также объединять любые tst-файлы, как описано в п.9.
Каждый пункт в сценарии выше - это море отладки, написание/правка выложенных в КБ библиотек и т.д. Чтобы все пахало, как задумано и было удобно пользоваться. Трачу слишком много времени на объяснение "багов". Наверное, по Validate больше не буду ничего комментировать, т.к. этот пост исчерпывающий.
Сам использую Validate в режиме кастомного MultiTester, где беру сгенерированные ini-файлы из TesterDashboard. Walk-Forward (п.2-9) очень редко использую - за прошедший год один раз. Так редко, потому что понимаю, какой будет результат у ТС, что пишу.
zevs1980 #: Этот тоже слетает. При этом скачанный в прошлом году работает.
Добрый день. Не могли бы Вы выложить скомпилированную версию Vаlidte с прошлого года, которая работает? Хотелось бы потестировать, но не успел на раздачу.
Добрый день. Не могли бы Вы выложить скомпилированную версию Vаlidte с прошлого года, которая работает? Хотелось бы потестировать, но не успел на раздачу.
Для авторизации и пользования сайтом MQL5.com необходимо разрешить использование файлов Сookie.
Пожалуйста, включите в вашем браузере данную настройку, иначе вы не сможете авторизоваться.
Вы вошли в аккаунт. Двухфакторная аутентификация отключена. Настройте её заново и отсканируйте новый QR-код или продолжите с отключённой двухфакторной аутентификацией.
Скажите, для каждого следующего форвард прогона, Validate берёт самый лучший результат оптимизации?
То есть? если я запускаю оптимизацию с пользовательским критерием оптимизации, для форварда будет браться лучший результат пользовательского критерия, а не результат с максимальным балансом?
Учитывает тот критерий, который выбрал пользователь. Поэтому если выбрали OnTester, то лучший проход будет определяться по максимальному значению OnTester.
ЗЫ Сам не помнил, посмотрел в исходник.
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Так какой все же результат выбирать после форвард-тестирования?
fxsaber, 2021.10.26 11:59
Validate должен заниматься автооптимизацией на интервалах длиной inSampleDays и применять их результат (лучший проход у каждого) к следующим OutSampleDays:
На самом деле в п.2. формируются разом все *_opt.ini. Поэтому Validate должен уметь продолжать работу, если было до этого снят.
Плюс Validate умеет подхватывать любые ini-файлы (скормить ему папку с ними) - кастомный MultiTester.
И также объединять любые tst-файлы, как описано в п.9.
Каждый пункт в сценарии выше - это море отладки, написание/правка выложенных в КБ библиотек и т.д. Чтобы все пахало, как задумано и было удобно пользоваться. Трачу слишком много времени на объяснение "багов". Наверное, по Validate больше не буду ничего комментировать, т.к. этот пост исчерпывающий.
Сам использую Validate в режиме кастомного MultiTester, где беру сгенерированные ini-файлы из TesterDashboard. Walk-Forward (п.2-9) очень редко использую - за прошедший год один раз. Так редко, потому что понимаю, какой будет результат у ТС, что пишу.
Этот тоже слетает. При этом скачанный в прошлом году работает.
Добрый день. Не могли бы Вы выложить скомпилированную версию Vаlidte с прошлого года, которая работает? Хотелось бы потестировать, но не успел на раздачу.
Добрый день. Не могли бы Вы выложить скомпилированную версию Vаlidte с прошлого года, которая работает? Хотелось бы потестировать, но не успел на раздачу.
Здесь.
Помогло, спасибо!
Что именно помогло? Попытался повторить, везде заменил на 2, всеравно как у вас с 4 _tst.ini стартует. Что именно помогло поделитесь.
При компиляции
'Parameters' - wrong parameters count ValidateTasks.mqh 29 17
Что мешает взять готовый EX5?
Что мешает взять готовый EX5?
То что она выдает
MQL5 'Validate.ex5' has newer unsupported version, please update your client terminal
Терминал последней версии.
Терминал последней версии.
Убедитесь, что у вас, действительно, свежая версия.