АвторСообщение
постоянный участник




Сообщение: 2258
Зарегистрирован: 04.03.13
Откуда: Москва
Репутация: 3
ссылка на сообщение  Отправлено: 05.03.16 12:10. Заголовок: Тестер Стратегий, повторная оптимизация.


Уважаемые, Коллеги!

Все мы, и программисты и трейдеры, оставили годы жизни в ожидании результатов оптимизации.
Думаю пришло время предложить Разработчику MQL расширить возможности Тестера стратегий и
вырвать "души трейдеров из лап Тестера Стратегий"

Я открыл тему " Тестер стратегий, повторная оптимизация" на Форуме MQL5. Думаю, мнение
пользователей MT4\MT5 по этому вопросу должно быть учтено.

https://www.mql5.com/ru/forum/75050

С уважением! Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 7 [только новые]


постоянный участник




Сообщение: 2259
Зарегистрирован: 04.03.13
Откуда: Москва
Репутация: 3
ссылка на сообщение  Отправлено: 05.03.16 12:11. Заголовок: Суть моих предложени..


Суть моих предложений изложена в пока в двух постах, вот они:

1. Genry 2016.03.03 16:09 RU

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

Хочу предложить дополнительный функционал для Тестера Стратегий. Суть предложения такова: добавить возможность выбора повторной оптимизации

на ранее полученных результатах тестирования.

Т.е. последовательность подбора параметров такова:

1. определяем параметры оптимизации и интервал для оптимизации, например: с 1 января 2015 года по 31 декабря 2015 года;

2. проводим оптимизацию и получаем результаты которые видим в разделе "Результаты оптимизации" , например: 10 496 вариантов. Сохраняем

результаты тестирования в файл при необходимости.

3. устанавливаем флаг <Повторной оптимизации на "Результатах оптимизации">

4. выбираем новый интервал для тестирования, например: с 1 июня 2008 года по 3 марта 2016 года;

5. запускаем тестирование на новом интервале, но параметры для тестирования берутся из ранее полученных результатов, т.е. 10 496 вариантов.

При необходимости, загружаем параметры из ранее сохраненного файла.

Данный подход позволит достаточно быстро оценивать ранее полученные результаты оптимизации и существенно сократит человеко-часы затрачиваемые на этот процесс.

С уважением, Genry.
----------------------------------------------------------
Коллеги, спасибо за отклик!

Думаю что предложение "сделать проще" для начала будет оптимальным. Если разложить по этапам процесс тестирования, то он выглядит так:

1. Выбираем параметры оптимизации - здесь трейдер в меру своего понимания советника эти параметры отметит.

2. Далее выбор диапазона истории для оптимизации, это важный момент и на него влияет ряд факторов:

а) скорость работы советника, если алгоритм "тяжелый" - то трейдер будет уменьшать диапазон тестирования чтобы получить полезный результат за разумное время;

б) выбор диапазона графика, который содержит нужные варианты движения цены - различные комбинации тренда и флета. На глубину истории для выбора такого интервала обычно влияет пункт а)

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

В процессе повторных прогонов не меняется номер сета в списке параметров и сами параметры ( отмечены красным на скрине).

Т.е. по результатам повторных прогонов полученного списка на разных участках истории должен получится, условно говоря, номера ТОР-10 сетов, которые показывают стабильно приемлемый результат.

Таким образом мы отсеем подгон тестером результатов оптимизации. Это уже ОГРОМНЫЙ шаг вперед, который будет правильно понят любым трейдером.

Объяснение этого подхода на форуме сведется к такому диалогу:

Вопрос: - А как параметры после оптимизации выбрать? Какие лучше? Что сверху?
Ответ: - А ты оптимизацию прогони, потом флажок ХХХ поставь, выбери другой интервал и снова прогони.
Запоминай номера лучших результатов каждый раз. После нескольких прогонов сам поймешь какие результаты
повторяются в списке лучших. С ними и работай дальше.

При выставленном флажке ХХХ (условное название) отметки в списке параметров тестирования игнорируются.
Берутся только параметры из результатов оптимизации. Меняется Диапазон тестирования, Таймфрейм, Инструмент.

Если возможно сделать сохранение, загрузку и редактирование первичного списка - это будет второй ОГРОМНЫЙ шаг вперед.

PS. В обсуждении звучат интересные и полезные предложения, вопрос в сроках их реализации.
Я исходил из минимальных затрат Разработчика, так как все необходимые данные уже есть надо только расширить возможности их повторной обработки.

Флажок ХХХ можно обозначить как "Повторная проверка результатов оптимизации"

Как-то так...

С уважением! Спасибо: 0 
ПрофильЦитата Ответить





Сообщение: 2082
Зарегистрирован: 03.03.13
Откуда: Украина, Днепродзержинск
Репутация: 3
ссылка на сообщение  Отправлено: 07.03.16 16:54. Заголовок: Genry пишет: Хочу п..


Genry пишет:

 цитата:
Хочу предложить дополнительный функционал для Тестера Стратегий. Суть предложения такова: добавить возможность выбора повторной оптимизации

на ранее полученных результатах тестирования.

Т.е. последовательность подбора параметров такова:

1. определяем параметры оптимизации и интервал для оптимизации, например: с 1 января 2015 года по 31 декабря 2015 года;

2. проводим оптимизацию и получаем результаты которые видим в разделе "Результаты оптимизации" , например: 10 496 вариантов. Сохраняем

результаты тестирования в файл при необходимости.

3. устанавливаем флаг <Повторной оптимизации на "Результатах оптимизации">

4. выбираем новый интервал для тестирования, например: с 1 июня 2008 года по 3 марта 2016 года;

5. запускаем тестирование на новом интервале, но параметры для тестирования берутся из ранее полученных результатов, т.е. 10 496 вариантов.


Возможно, я что-то не так понял, но ведь в МТ5 есть уже подобное, только не путем сохранения данных в файл, а путем выбора участка для форвард тестирования. То есть все то же самое, но без танцев с бубном:
  • Проведение оптимизации на выбранном участке истории.
  • Повторная оптимизация по полученным результатам на другом участке истории.


  • Спасибо: 0 
    ПрофильЦитата Ответить
    постоянный участник




    Сообщение: 2262
    Зарегистрирован: 04.03.13
    Откуда: Москва
    Репутация: 3
    ссылка на сообщение  Отправлено: 07.03.16 18:00. Заголовок: Scriptong пишет: Во..


    Scriptong пишет:

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



    Игорь, день добрый!
    Я не знаком с МТ5, поэтому вопрос: он берет все результаты (или отмеченные) из полученного списка результатов оптимизации? Или трейдер
    выбирает их сам по одному?

    Ну и в любом случае: хорошо там где нас нет, я-то пользователь МТ4

    Игорь, остальные мнения (и МТ5 пользователей) теперь на форуме Разработчика: https://www.mql5.com/ru/forum/75050

    С уважением! Спасибо: 0 
    ПрофильЦитата Ответить





    Сообщение: 2087
    Зарегистрирован: 03.03.13
    Откуда: Украина, Днепродзержинск
    Репутация: 3
    ссылка на сообщение  Отправлено: 10.03.16 16:51. Заголовок: Genry пишет: он бер..


    Genry пишет:

     цитата:
    он берет все результаты (или отмеченные)


    все

    Спасибо: 1 
    ПрофильЦитата Ответить
    постоянный участник




    Сообщение: 2260
    Зарегистрирован: 04.03.13
    Откуда: Москва
    Репутация: 3
    ссылка на сообщение  Отправлено: 05.03.16 13:51. Заголовок: elibrarius пишет(201..


    elibrarius пишет(2016.03.05 10:48 ):


    Genry:
     цитата:
    Если возможно сделать сохранение, загрузку и редактирование первичного списка - это будет второй ОГРОМНЫЙ
    шаг вперед.



    Если сделают импорт из XML, то можно делать так:

    1) делаем первичную оптимизацию

    2) экспортируем в XML

    3) отфильтровываем результаты, например с просадкой > 20...30, с количеством сделок <1000. Сортируем. Сохраняем. Можно вручную что-то удалить.

    4) импортируем обратно в тестер. (можно из меню по правой кнопке, как сейчас сделан экспорт)


    5) Далее делаем либо одиночные проходы (как я предложил ранее), либо групповые проходы, по всему списку. Инструмент, ТФ, даты мы вольны менять по своему усмотрению. Результаты можно опять экспортировать и опять их отфильтровать, и опять импортировать, и т.д. любое количество раз.


    Короче, нужно сделать кнопку "перерасчет по списку", который мы импортировали, как дополнительный пункт к вариантам оптимизации.


    С уважением! Спасибо: 0 
    ПрофильЦитата Ответить
    постоянный участник




    Сообщение: 2261
    Зарегистрирован: 04.03.13
    Откуда: Москва
    Репутация: 3
    ссылка на сообщение  Отправлено: 05.03.16 21:04. Заголовок: Igor Volodin 2016.03..


    Igor Volodin 2016.03.05 17:55

     цитата:
    Поразительно, когда мысли движутся в одном направлении. Именно такой механизм работы с результатами оптимизации недавно сделал с помощью фреймов (https://www.mql5.com/ru/docs/optimization_frames).

    Работа с результатами оптимизации

    Функции для организации собственной обработки результатов оптимизации в тестере стратегий. Могут вызываться при оптимизации в агентах тестирования, а также локально в экспертах и скриптах.

    При запуске эксперта в тестере стратегий можно создать собственный массив данных на основе простых типов или простых структур (не содержат строки, объекты класса или объекты динамических массивов). Этот набор данных можно сохранить с помощью функции FrameAdd() в специальной структуре, называемой фрейм (кадр). Каждый агент при оптимизации эксперта может посылать в терминал серию фреймов. Все полученные фреймы в порядке поступления от агентов записываются в *.MQD-файл по имени эксперта в папку каталог_терминала\MQL5\Files\Tester. Поступление фрейма в клиентский терминал от агента тестирования генерирует событие TesterPass.

    Фреймы можно сохранять как в память компьютера, так и в файл с указанным именем. Нет никаких ограничений на количество фреймов со стороны языка MQL5. Они сохраняются в XML файл в таком виде
    Далее, прогоняю еще раз оптимизацию, на других периодах, в режиме использующем сохраненные сеты из файла.

    В режиме оптимизации с полным перебором и с использованием ParameterSetRange на одной int переменной легко задается количество прогонов оптимизатора равное количеству сетов.



    С уважением! Спасибо: 0 
    ПрофильЦитата Ответить
    постоянный участник




    Сообщение: 2263
    Зарегистрирован: 04.03.13
    Откуда: Москва
    Репутация: 3
    ссылка на сообщение  Отправлено: 08.03.16 11:15. Заголовок: lilita bogachkova 20..


    lilita bogachkova 2016.03.08 09:15
    Scriptong пишет:


     цитата:
    Возможно, я что-то не так понял, но ведь в МТ5 есть уже подобное, только не путем сохранения данных в файл, а путем выбора участка для форвард тестирования. То есть все то же самое, но без танцев с бубном:



    Тут похоже каждый по мере понимания проблемы тянет в свою сторону.

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


    С уважением! Спасибо: 0 
    ПрофильЦитата Ответить
    Ответ:
    1 2 3 4 5 6 7 8 9
    большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

    показывать это сообщение только модераторам
    не делать ссылки активными
    Имя, пароль:      зарегистрироваться    
    Тему читают:
    - участник сейчас на форуме
    - участник вне форума
    Все даты в формате GMT  2 час. Хитов сегодня: 1
    Права: смайлы да, картинки да, шрифты да, голосования нет
    аватары да, автозамена ссылок вкл, премодерация откл, правка нет