Создать аккаунт

При регистрации на форуме у Вас открываются множество новых возможностей, это займёт у вас 2 минуты.

Войти на форум

  1. #1
    Vitaliy Kingtreid
    Vitaliy Kingtreid вне форума
    Уважаемый трейдер Аватар для Vitaliy Kingtreid
    Регистрация
    05.09.2011
    Адрес
    Саратов
    Сообщений
    726
    Записей в блоге
    2
    Поблагодарили 94 раз(а)
    Репутация: 80
    Список наград

    Поинты: 405

    Тестирование и оптимизация советников

    Тестирование и оптимизация механических торговых систем (советников/экспертов)


    Для успешной торговли по любой стратегии, требуется тестирование и оптимизация, т.к. изменение правил и параметров торговой стратегии приводит к изменению ее доходности.

    Тестирование торговой стратегии и оптимизация ее параметров очень трудоемкий и долгий процесс.
    Когда я только начинал использовать советники в своей торговле, я ставил советника на демонстрационный счет и смотрел неделю за его работой. После таких несложных манипуляций, я ставил такого советника на реальный счет, в случае если торговля советником приносила прибыль. Результаты торговли на таких счетах, после такого, так называемого, тестирования обычно оказывались плачевными. В чем была моя ошибка?
    Дело в том, что такой подход не может показать реальную картину прибыльности советника, т.к. во время непродолжительного теста советника на демо-счете, советник может показать отличные результаты просто из-за удачного стечения обстоятельств. То что, в ближайшее время советник будет приносить такую же прибыль, далеко не факт, т.к. ситуация на рынке может измениться, к примеру, произошла смена тренда от нисходящего на восходящий и прибыльный советник (как кажется после таких тестов) начинает приносить убытки. Получается, что анализ стратегии на таком коротком временном периоде, не может учесть все условия, которые могут повлиять на прибыльность советника.

    Другим вариантом тестирования советника является — тестирование по историческим данным. Такой подход дает возможность протестировать советника в различных ситуациях, происходящих на рынке форекс на продолжительных временных участках. Казалось бы, все просто. Но этого также оказывается не достаточно для того, чтобы торговать советником на реальном счете. Главной проблемой при тестировании по историческим данным является то, что индикаторы, по которым проходит тест, уже зафиксированы, а в режиме он-лайн они находятся в постоянном движении. Поэтому результаты теста за определенный период на исторических данных и в режиме реальных торгов могут существенно отличаться.

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

    Теперь рассмотрим подробнее тестирование советника по историческим данным.

    Загрузка исторических данных.


    Первое что нужно проделать, прежде, чем приступить к тестированию торговой стратегии - это загрузить архивы необходимых котировок. Для этого в терминале MТ4 заходим в меню «Сервис» ->> «Архив котировок» (или нажатие кнопки F2 на клавиатуре). В появившемся окошке выбираем интересующий нас символ и нажимаем «Загрузить».

    "Тестер стратегий".


    После загрузки данных, можно приступить непосредственно к тестированию советника по историческим данным. Для этого заходим в меню «Вид» - >> «Тестер стратегий» (или нажатие сочетания клавиш на клавиатуре Ctrl+R). В нижней части терминала появляется окно:




    Из выпадающего списка «Советник» выбираем нужного эксперта, который нужно протестировать.
    Из выпадающего списка «Символ», выбираем валютную пару, по которой будет проходить тест.
    Из выпадающего списка «Модель», выбираем способ открытия/закрытия позиций, который заложен в советники. Если неизвестно, каким образом устроена эта функция, нужно выбрать наиболее точный метод «Все тики», но это занимает дополнительное время при тестировании.
    Далее нужно поставить галочку в строке «Использовать дату» и задать нужный временной участок для тестирования.
    Из выпадающего списка «Период» выбираем необходимый для теста тайм-фрейм. Если установить галочку напротив строчки «Визуализация», то появляется возможность понаблюдать за торговым процессом, бегунком можно регулировать быстроту формирования баров на графике. После того как установлены вышеперечисленные настройки, можно смело нажимать на кнопку «Старт», после чего начинается тестирование советника.

    Результаты тестирования


    По окончании тестирования в окне «Тестер» появятся дополнительные вкладки: «Результаты», «График», «Отчет», где можно посмотреть результаты тестирования советника в графическом исполнении (вкладка «График»), в виде временной сводки открытых и закрытых торговых позиций, полученную прибыль/убыток по каждому ордеру (вкладка «Результаты») или общие сведения по результатам тестирования, такие как прибыль, убыток, абсолютная и относительная просадка, общее количество сделок с распределением по прибыльным и убыточным, максимальное количество непрерывных проигрышей и выигрышей (вкладка "Отчет") и многое другое.

    Входные параметры.


    У каждого торгового советника имеется несколько входных параметров, которые при необходимости можно изменять и регулировать. От правильно выбранных параметров напрямую зависит конечный результат и прибыльность работы советника. Для оптимизации параметров торгового советника в терминале MetaTrader 4 есть специальная функция для автоматической оптимизации эксперта. Для вызова данной опции необходимо в окне «Тестер» во вкладке «Настройка» нажать на кнопку «Свойства Эксперта». Затем из появившегося окна перейти во вкладку «Свойства Эксперта»:



    В этом окне можно выбрать те параметры, которые необходимо протестировать, для чего поставить галочку напротив интересующего Вас параметра. В столбец «Значения» выставлены значения параметров советника по умолчанию.
    Для того, чтобы тестер перебрал различные значения параметров торгового советника, необходимо заполнить столбцы «Шаг», «Старт» и «Стоп». Значения столбца «Старт» указывают начальные параметры, с которых тестер начнет работать, столбец «Стоп» конечные значения и столбец «Шаг» указывает на интервал изменений определенного параметра. Если взять за пример рисунок выше, то параметр TakeProfit (тейк-профит) будет меняться, начиная со значения 50 и заканчивая уровнем 300, с шагом 10, т.е. тестер будет последовательно перебирать значения тейкпрофит 50,60,70... и так далее до 300.

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

    Оптимизация советника


    После выбора интересующих параметров, нажимаем кнопку «Ок», а в окне «Тестер» выставляем галочку напротив строки «Оптимизация». Теперь все готово для запуска оптимизации советника, для этого нажимаем кнопку «Старт». По завершении оптимизации, в «Тестере» появится дополнительная вкладка «Результаты оптимизации», где можно посмотреть и ознакомится с наиболее оптимальными параметрами, которые появились по результатам оптимизации. Параметры сортировки результатов можно изменить, путем нажатия на заголовке выбранного столбца.


    На рисунке, оптимизированные результаты отсортированы по полученной прибыли порядке убывания.
    Чтобы оценить стабильность результата, надо протестировать выбранные параметры вне тестируемого периода оптимизации, т.е. в диапазоне времени, отличном от первоначального периода оптимизации. Для этого нужно выбрать из уже полученных результатов те, которые являются наиболее приемлемыми, изменить в входные параметры советника и поменять даты тестирования, также необходимо убрать галку с пункта «Оптимизация».

    Таким образом, необходимо перепробовать большое количество полученных при оптимизации значений, чтобы понять и учесть, как ведет себя советник в определенных рыночных условиях, соответственно выбрав из всего многообразия параметров оптимальные.

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

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

    __________________________________________________ _____________

    Автор: Vitaliy Kingtreid
    Авторские права на статью принадлежат ForexForum.ru
    При поддержке :

    Последний раз редактировалось Aisller; 15.11.2011 в 15:09.

  2. Пользователь сказал cпасибо:

    Chibo (27.12.2012)

  3. #2
    Vitaliy Kingtreid
    Vitaliy Kingtreid вне форума
    Уважаемый трейдер Аватар для Vitaliy Kingtreid
    Регистрация
    05.09.2011
    Адрес
    Саратов
    Сообщений
    726
    Записей в блоге
    2
    Поблагодарили 94 раз(а)
    Репутация: 80
    Список наград

    Поинты: 405
    Делимся своим опытом тестирования и оптимизации советников. Надеюсь, что все-таки найдутся единомышленники, которые применяют автоматизированный вид торговли.

  4. #3
    antola34
    antola34 вне форума
    Уважаемый трейдер
    Регистрация
    29.10.2011
    Адрес
    Беларусь
    Сообщений
    669
    Записей в блоге
    8
    Поблагодарили 104 раз(а)
    Репутация: 101
    не являюсь приверженцей торговли советниками, но много раз имела такие мнения, что очень важно в данной системе тестирование и оптимизация на "правильных" исторических данных, так как многие ДЦ запускают не рыночные котировки или ложные , которые направлены прежде всего на то, чтобы сбить алгоритм работы советника...логически это имеет место быть)

  5. #4
    Diver
    Diver вне форума
    Трейдер
    Регистрация
    04.11.2011
    Сообщений
    472
    Поблагодарили 28 раз(а)
    Репутация: 13
    При оптимизации делается часто следующим образом. Например, человек решил, что будет проводить оптимизацию за 6 мес. Отсчитываем 7 мес назад и оптимизируем за 6 мес. так, чтобы оставался еще один месяц до сегодняшней даты, по которому оптимизации не проводилось. Когда получает сеты, то как раз бепем их и смотрим, как бы они отработали на том месяце, последнем до сегодняшнего дня, на котором оптимизации не проводилось.

  6. #5
    Vitaliy Kingtreid
    Vitaliy Kingtreid вне форума
    Уважаемый трейдер Аватар для Vitaliy Kingtreid
    Регистрация
    05.09.2011
    Адрес
    Саратов
    Сообщений
    726
    Записей в блоге
    2
    Поблагодарили 94 раз(а)
    Репутация: 80
    Список наград

    Поинты: 405
    Цитата Сообщение от Diver Посмотреть сообщение
    При оптимизации делается часто следующим образом. Например, человек решил, что будет проводить оптимизацию за 6 мес. Отсчитываем 7 мес назад и оптимизируем за 6 мес. так, чтобы оставался еще один месяц до сегодняшней даты, по которому оптимизации не проводилось. Когда получает сеты, то как раз бепем их и смотрим, как бы они отработали на том месяце, последнем до сегодняшнего дня, на котором оптимизации не проводилось.
    да, такой подход тоже имеет место, но нужно всегда относиться к оптимизации на коротких временных периодах с опаской, т.к. может оказаться, что произошла простая подгонка параметров. 6 месяцев для торговли на таймфрейме Н1-Н4 считаю коротким промежутком, для М15 я думаю такой отрезок подойдет.

  7. #6
    Vasilich
    Vasilich вне форума
    Опытный трейдер
    Регистрация
    17.03.2011
    Сообщений
    869
    Записей в блоге
    14
    Поблагодарили 60 раз(а)
    Репутация: 137
    Список наград

    Цитата Сообщение от Vitaliy Kingtreid Посмотреть сообщение
    да, такой подход тоже имеет место, но нужно всегда относиться к оптимизации на коротких временных периодах с опаской, т.к. может оказаться, что произошла простая подгонка параметров. 6 месяцев для торговли на таймфрейме Н1-Н4 считаю коротким промежутком, для М15 я думаю такой отрезок подойдет.
    В любом случае, после проведения оптимизации на исторических данных стоит протестировать работу в реале. Хотя бы на том же демо-счете.
    Просто из опыта, данные на истории зачастую здорово отличаются от того, что получается в действительности.
    В общем-то, опять же, исходя из собственного опыта, когда год назад написал советника и проверил его на истории - показалось просто граль! Но в реале доходность оказалась существенно ниже.

  8. #7
    Vitaliy Kingtreid
    Vitaliy Kingtreid вне форума
    Уважаемый трейдер Аватар для Vitaliy Kingtreid
    Регистрация
    05.09.2011
    Адрес
    Саратов
    Сообщений
    726
    Записей в блоге
    2
    Поблагодарили 94 раз(а)
    Репутация: 80
    Список наград

    Поинты: 405
    Цитата Сообщение от Vasilich Посмотреть сообщение
    В любом случае, после проведения оптимизации на исторических данных стоит протестировать работу в реале. Хотя бы на том же демо-счете.
    Просто из опыта, данные на истории зачастую здорово отличаются от того, что получается в действительности.
    В общем-то, опять же, исходя из собственного опыта, когда год назад написал советника и проверил его на истории - показалось просто граль! Но в реале доходность оказалась существенно ниже.
    Естественно тестирование на реальном счете, а не на истории дает более реальные результаты. Это происходит в силу того, что исторические данные статичны и обрабатываются так как "нарисовано". На реальном же счете затрачивается время на обработку ордера, опять же часто случаются реквоты и т.п. Также замечал, что в некоторых ДЦ советники открывают ордера всегда с наихудшей ценой в пределах максимального отклонения. Так что есть минусы в тестировании на исторических данных.
    Тестирование на истории показывает лишь потенциал советника, торговля в реальных условиях ставит все точки на и.

  9. #8
    Recviem
    Recviem вне форума
    Трейдер Аватар для Recviem
    Регистрация
    20.11.2011
    Адрес
    Тольятти
    Сообщений
    140
    Поблагодарили 17 раз(а)
    Репутация: 93
    Цитата Сообщение от Vitaliy Kingtreid Посмотреть сообщение
    да, такой подход тоже имеет место, но нужно всегда относиться к оптимизации на коротких временных периодах с опаской, т.к. может оказаться, что произошла простая подгонка параметров. 6 месяцев для торговли на таймфрейме Н1-Н4 считаю коротким промежутком, для М15 я думаю такой отрезок подойдет.
    Как правильно подобрать оптимальный период для тестирования советника, чтоб полученные результаты считать действительными ? Иначе, слишком маленький период может привести к серии прибыльных или убыточных сделок, большой период, усреднит полученные результаты. Или надо исходить из направления тренда, или количество совершенных сделок, тогда сколько? Вообще как правильно оценить советника ?

  10. #9
    Vitaliy Kingtreid
    Vitaliy Kingtreid вне форума
    Уважаемый трейдер Аватар для Vitaliy Kingtreid
    Регистрация
    05.09.2011
    Адрес
    Саратов
    Сообщений
    726
    Записей в блоге
    2
    Поблагодарили 94 раз(а)
    Репутация: 80
    Список наград

    Поинты: 405
    Цитата Сообщение от Recviem Посмотреть сообщение
    Как правильно подобрать оптимальный период для тестирования советника, чтоб полученные результаты считать действительными ? Иначе, слишком маленький период может привести к серии прибыльных или убыточных сделок, большой период, усреднит полученные результаты.
    Или надо исходить из направления тренда, или количество совершенных сделок, тогда сколько? Вообще как правильно оценить советника ?
    Перечитайте еще раз первый пост! Все Ваши вопросы должны частично решиться. Конкретно по определенному советнику ответы можно найти только путем тестирования и оптимизации советника.

  11. #10
    Recviem
    Recviem вне форума
    Трейдер Аватар для Recviem
    Регистрация
    20.11.2011
    Адрес
    Тольятти
    Сообщений
    140
    Поблагодарили 17 раз(а)
    Репутация: 93
    Цитата Сообщение от Vitaliy Kingtreid Посмотреть сообщение
    Перечитайте еще раз первый пост! Все Ваши вопросы должны частично решиться. Конкретно по определенному советнику ответы можно найти только путем тестирования и оптимизации советника.
    Слышал от одного профи, что количество сделок при тестировании советника должно быть не менее 80, чтоб полученные результаты считать действительными (это число он нашёл опытным путём). Как считаете вы ?
    Так, как же правильно оценить советника ?

+ Ответить в теме
Страница 1 из 8 1 2 3 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Советник Ilan оптимизация, настройка и тесты.
    от Teasure в разделе Торговые роботы
    Ответов: 14
    Последнее сообщение: 11.02.2012, 03:54