Тестер стратегий терминала MetaTrader4

Тема в разделе "Тестирование", создана пользователем Dmitri, 10 Декабрь 2013.

  1. Dmitri

    Dmitri Бывалый Команда форума Администратор

    Регистрация:
    7 Ноябрь 2013
    Сообщения:
    3.668
    Симпатии:
    2.810
    Баллы:
    355
    Пол:
    Мужской
    Я на Forex с:
    2008
    Статьи на блоге про тестер стратегий МТ4:

    Как оптимизировать форекс советник в терминале МТ4. Пожалуйста, войдите или зарегистрируйтесь для просмотра ссылок


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

    Тестер стратегий МТ4: что именно означают цифры в его отчете? Пожалуйста, войдите или зарегистрируйтесь для просмотра ссылок
     
    Последнее редактирование модератором: 29 Ноябрь 2014
    Hannay, Hawkwind и leostan нравится это.
  2. KROOL1980

    KROOL1980 Бывалый Команда форума Модератор

    Регистрация:
    13 Ноябрь 2013
    Сообщения:
    1.103
    Симпатии:
    1.180
    Баллы:
    230
    Пол:
    Мужской
    Советы по оптимизации торговых советников в тестере стратегий.

    Сразу оговоримся, что невозможно на 100% обезопасить себя от подгонки и получить уверенность в том, что МТС будет работать так же хорошо как в тестах. Наша задача-максимум получить надежду на то, что показатели МТС в реальной или демо-торговле после проведения оптимизации если и ухудшатся, то ненамного. Для этого существует несколько правил, которые необходимо неукоснительно соблюдать:

    1. Независимо от типа МТС, таймфрейма, уровней SL и TP оптимизацию проводим не на всём участке, который нас интересует. Исключаем из оптимизации порядка 1/5 последней его части. Так, если сегодня, к примеру 01.06.08 (см рисунок) и стоит задача провести оптимизацию за год, то исключаем последние 3 месяца и проводим оптимизацию с 01.03.07 по 01.03.08. Последние 3 месяца в оптимизации не участвуют – они отводятся на проверку МТС на тех исторических данных, которых она «не видела». Это аналог форвард-тестов (демо-) по ускоренной методике, но доверия они заслуживают ничуть не меньшего при условии грамотного написания кода (обработка реквот, дисконнектов, падений терминала…)
    [​IMG]

    2. Прогнали оптимизацию, получили массу положительных результатов (советник-то прибыльный ). Теперь задём сквозную дату от 01.03.07 по сегодня, т.е. 01.06.08 и проверим как бы торговала наша МТС на участке проверки с оптимизированными параметрами. Из полученных при оптимизации результатов выбираем наилучшие по соотношению прибыль/просадка. Отметим отдельно что это совсем не обязательно должен быть лучший результат по значению баланса. ФВ (фактор восстановления = прибыль/просадка) – куда более важный результат для объективной оценки ТС. К сожалению, МТ4 его автоматически не рассчитывает. Прогоняем тест на всём участке т.е. от 01.03.07 по 01.06.08.

    Примерно такой вид будет иметь кривая баланса одного из лучших результатов на участке оптимизации:
    [​IMG]

    При прогоне этой же выборки на всем интервале включая участок проверки возможны два основных варианта:
    • Полученные результаты – типичная подгонка. Система торгует в убыток на участке проверки, кривая баланса загибается вниз:
    [​IMG]

    К сожалению, такой результат наиболее типичен, в этом случае выбираем для проверки следующий набор параметров и повторяем до тех пор пока не получим показатели и линию баланса, которые нас удовлетворят.
    • Результатам при выполнении определённых условий можно доверять. Показатели ТС (прибыльность, просадка, профит за определённый период) на участке проверки в основном сохранились, кривая баланса сохранила свой вид:
    [​IMG]

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

    3. Если МТС на участке проверки (последних 3-х месяцах, не участвовавших в оптимизации) показала результаты близкие к полученным на интервале оптимизации, то при определённых условиях (об условиях ниже) можно принять их за оптимальные и использовать в торговле. Будьте готовы к тому, что прежде чем найти такие параметры среди сотен и тысяч «прибыльных», полученных при оптимизации, придётся перелопатить не один десяток, а то и сотню. Возможен вариант, когда таких результатов не будет вовсе. В этом случае меняем ТФ, валютную пару (или другой рыночный инструмент) и повторяем попытку. Если на участке проверки ТС не даёт приемлемых результатов ни при каких условиях, то место этой ТС – мусорная корзина.

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

    В заключении главы необходимо отметить, что рассмотренный метод оптимизации является упрощённым. В науке и технике стандартом де-факто давно уже стал метод скользящего контроля, кросс-тестирование или bootstrap. Если кратко, то он состоит в следующем:
    • Оптимизируем на 2000 – 2003гг, тестируем на 2004г,
    • Оптимизируем на 2003 – 2004гг, тестируем на 2005г,
    • …,
    • Оптимизируем на 2003 – 2006гг, тестируем на 2007г,

    Метод требует намного больше сил и времени, полученным с его помощью результатам действительно можно доверять. Метод родился не на форексе, прошёл огонь, воду и медные трубы. Если Вы не побоитесь его применить, то будете заслуженно вознаграждены полученным результатом. Справедливости ради отметим, что большинство наших ТС оптимизированы именно bootstrap- методом.
    Показанные здесь значения интервалов оптимизации (12 мес.) + проверки (3 мес.) являются ориентировочными и выбраны из соображений наглядности. В практической работе трейдеры могут задавать периоды по своему усмотрению в зависимости от тактики ТС и рабочего ТФ. Например, 4 мес. + 1 мес., 12 недель + 3 недели, 4 года + 1 год и т.п. Советуем придерживаться лишь соотношения периода оптимизации к периоду проверки, которое должно быть близко к 4:1.
     
    Последнее редактирование модератором: 29 Ноябрь 2014
    Hannay, plai105 и Hawkwind нравится это.
  3. moralproxy

    moralproxy Интересующийся Аргонавт

    Регистрация:
    7 Май 2014
    Сообщения:
    37
    Симпатии:
    9
    Баллы:
    8
    Пол:
    Мужской
    [​IMG]
    В тестере есть вкладка оптимизации. Это отсечение ненужных результатов для ускорения оптимизации. Возникли вопросы.
    Balance minimum - это порог баланса. При прогоне конкретного сета, если баланс достигает указанного значения то сет отсеивается.
    Profit maximum - при достижении профитом заданного значения сет отсеивается.
    Minimal margin level % - это типа если в результате прогона сета margin level % достигнет заданного значения, то сет отсеивается
    [​IMG]
    Consucutive loss trades - это если обведённый на скрине параметр достигает заданного значения то сет отсеивается
    [​IMG]
    Consucutive loss - это если обведённый на скрине параметр достигает заданного значения то сет отсеивается

    [​IMG]
    Ну и с WIN тоже самое что и с лосс....
    Правильно ли я всё понимаю???
    И ещё я не понял, как работает с Maximal Drawdown
    ????????
    Это случаем не порог по параметру, указанному на следующем скрине?
    [​IMG]
    И ещё прочитав несколько материалов по Maximal Drawdown так и не понял как он считается
    Вот у меня график, Maximal Drawdown равен 1514 смотрим на график, не вижу я эти 1514 просадки...
    [​IMG]
     
    Последнее редактирование модератором: 29 Ноябрь 2014
    Dmitri нравится это.
  4. loopsider

    loopsider Бывалый Команда форума Модератор

    Регистрация:
    13 Ноябрь 2013
    Сообщения:
    4.173
    Симпатии:
    3.815
    Баллы:
    435
    Пол:
    Мужской
    На графике эквити видна просадка только в момент закрытия сделок. А в отчете пишется макс. просадка, которая была на счете за период тестирования. Для мартингейловых советников это едва ли не самый главный параметр.

    А так все верно наверное. Никогда этими фильтрами оптимизации не пользовался.
     
  5. Max5813

    Max5813 Знаток Аргонавт

    Регистрация:
    7 Декабрь 2013
    Сообщения:
    57
    Симпатии:
    101
    Баллы:
    110
    Пол:
    Мужской
    Я на Forex с:
    2011
    В отчете есть "максимальная просадка" и "относительная просадка", показатели иногда почти совпадают, иногда разнятся. Подскажите на какие данные ориентироваться в первую очередь и почему?
     
  6. bellduke

    bellduke Бывалый Команда форума Модератор

    Регистрация:
    13 Ноябрь 2013
    Сообщения:
    2.776
    Симпатии:
    2.404
    Баллы:
    355
    Пол:
    Мужской
    Наверное имелось ввиду, "абсолютная" и "максимальная"? "Абсолютная" - это максимальный минус к первоначальному депо, поэтому толку от нее никакого.
    Сори, их там 3 :)
    Я смотрю только максимальную просадку, именно от не зависит будет маржин-колл или нет, все остальные не нужны.
     
    Max5813 нравится это.
  7. Max5813

    Max5813 Знаток Аргонавт

    Регистрация:
    7 Декабрь 2013
    Сообщения:
    57
    Симпатии:
    101
    Баллы:
    110
    Пол:
    Мужской
    Я на Forex с:
    2011
    Например прибыль будет выводиться раз в две недели, оставляя на счете "рабочий" первоначальный депозит. Получается разрабатывая сеты мне нужно смотреть на значение абсолютной просадки?
     
  8. bellduke

    bellduke Бывалый Команда форума Модератор

    Регистрация:
    13 Ноябрь 2013
    Сообщения:
    2.776
    Симпатии:
    2.404
    Баллы:
    355
    Пол:
    Мужской
    Нет, на максимальную, абсолютная - это насколько % баланс опускался ниже первоначального депо.
     
    Max5813 нравится это.
  9. Max5813

    Max5813 Знаток Аргонавт

    Регистрация:
    7 Декабрь 2013
    Сообщения:
    57
    Симпатии:
    101
    Баллы:
    110
    Пол:
    Мужской
    Я на Forex с:
    2011
    Максимальная просадка - наибольший убыток от локального максимума в валюте депозита и в проценте от депозита.
    Как это вижу я - Получается расчет просадки идет от максимального значения баланса в момент получения просадки на истории? Но ведь мы не выводим прибыль во время теста и к моменту основной просадки депозит может быть значительно увеличен по сравнению с первоначальным значением. Тем самым мы получим слив в реале имея на счету примерно начальный депозит.
    Просьба направить мои мысли в правильном направленииSmile_16
     
  10. bellduke

    bellduke Бывалый Команда форума Модератор

    Регистрация:
    13 Ноябрь 2013
    Сообщения:
    2.776
    Симпатии:
    2.404
    Баллы:
    355
    Пол:
    Мужской
    Смотрим графу "Максимальная просадка", но нас интересует значение в $ а не в %, и соотносим это значение с нашим начальным депо.
    Т.е. если имеем по результату для начального депо 1 000 значение 810 (45%), то для нас это означает макс. просадку в 81% (т.е. слив - маржин-колл)
    По тесту эта просадка была зафиксирована когда наш баланс уже вырос до 1 800$.
     
    Max5813 нравится это.
  11. moralproxy

    moralproxy Интересующийся Аргонавт

    Регистрация:
    7 Май 2014
    Сообщения:
    37
    Симпатии:
    9
    Баллы:
    8
    Пол:
    Мужской
    Не понял можно поподробнее на пальцах?
    А я не понял... если у нас баланс 1000, а максимальная просадка по результатам 800, то она считается от баланса начального или того, что был на момент просадки?
    А просадка в процентах тоже считается от баланса на момент просадки, или от начального баланса?
     
  12. bellduke

    bellduke Бывалый Команда форума Модератор

    Регистрация:
    13 Ноябрь 2013
    Сообщения:
    2.776
    Симпатии:
    2.404
    Баллы:
    355
    Пол:
    Мужской
    Максимальная просадка считается в % от баланса который был на тот момент. Поэтому брать надо значение в валюте и соотносить с начальным балансом.
     
    moralproxy нравится это.
  13. loopsider

    loopsider Бывалый Команда форума Модератор

    Регистрация:
    13 Ноябрь 2013
    Сообщения:
    4.173
    Симпатии:
    3.815
    Баллы:
    435
    Пол:
    Мужской
    Все просто. Если у вас макс. просадка 11к$, а вы собираетесь торговать на депозите 10к$ и регулярно выводить прибыль - то депозит вы слили :)
     
    moralproxy нравится это.
  14. moralproxy

    moralproxy Интересующийся Аргонавт

    Регистрация:
    7 Май 2014
    Сообщения:
    37
    Симпатии:
    9
    Баллы:
    8
    Пол:
    Мужской
    Немного пропал я. Всё мучаюсь с тем как лучше обработать результаты теста.
    Вроде пока остановился на обработке в экселе. Прогнал оптимизацию, в ручную отсортировал результаты оптимизации, потом начал прогонять форвард тесты по ним. В результате в заранее узнал какой результат будет лучше, а какой хуже.
    Логически рассуждая, решил работать с двумя параметрами:
    1.Отношение профита к дродауну
    2.Отношение профита к числу сделок.
    На скрине отмечены красным те сеты, которые не прошли форвард, а жёлтым те, что прошли.
    В ячейке 1 делим профит на дродаун(Profit/Drawdown)
    В ячейке 2 делим число сделок на профит(total trades/profit)
    В ячейке 3 суммируем ячейки 1 и 2
    Про ячейку 1 всё понятно, чем больше число, тем лучше, НО! при таком отборе побеждал результат отмеченный красным, а именно проход номер 352 с профитом 192.
    Видно, что при хорошем отношении профита к просадке наблюдается малое количество сделок, если смотреть по цифрам, то можно предположить что график неровный, скачками, что в последствии и видно на графике нефорвардного теста
    [​IMG]
    На графике видно что значительная часть профита получена под конец периода одним скачком
    В результате на форвард тесте слив
    [​IMG]
    Значит надо включить в расчёты среднюю цену сделки...
    Тогда делим профит на кол-во сделок и получаем среднюю цену сделки, но получается несостыковка. Для соотношения Profit/Drawdown у нас чем больше число, тем лучше. А для total trades/profit чем меньше-тем лучше. Выход в обратном делении, делим число сделок на профит(total trades/profit), и получается что чем больше число-тем лучше. А теперь суммируем два коэффициента, и опять же у нас получается условие, что чем больше число х, вычисляемое по формуле х=(Profit/Drawdown)+(total trades/profit), тем лучше результат...
    [​IMG]
    У кого какие есть соображения по обработке результатов эксель???? Правильно ли я вообще рассуждаю??? Может поделитест своими способами аналитики результатов в экселе??
    Вроде как ещё вариант можно попробовать, формула x=(профит/дродаун)/(профит/количество сделок)...
     
    Последнее редактирование модератором: 29 Ноябрь 2014
    Pythoha нравится это.
  15. loopsider

    loopsider Бывалый Команда форума Модератор

    Регистрация:
    13 Ноябрь 2013
    Сообщения:
    4.173
    Симпатии:
    3.815
    Баллы:
    435
    Пол:
    Мужской
    Мартины следует оптимизировать так:
    1. Решить, какую макс. просадку вы допускаете. Например, 20%. Все, что больше - выбрасываем.
    2. Искать варианты с максимальной прибылью при просадке не более максимальной.
    3. Смотреть чтобы график баланса был ровным. Большие скачки означают большие риски на грани слива.
     
    Hannay и Dmitri нравится это.
  16. Dmitri

    Dmitri Бывалый Команда форума Администратор

    Регистрация:
    7 Ноябрь 2013
    Сообщения:
    3.668
    Симпатии:
    2.810
    Баллы:
    355
    Пол:
    Мужской
    Я на Forex с:
    2008
    такое ощущение, что с каждым новым билдом тестер стратегий работает всё хуже и хуже.
     
    Сергей Иванов нравится это.
  17. loopsider

    loopsider Бывалый Команда форума Модератор

    Регистрация:
    13 Ноябрь 2013
    Сообщения:
    4.173
    Симпатии:
    3.815
    Баллы:
    435
    Пол:
    Мужской
    А что такое? (= Куда уж хуже :))
     
    Сергей Иванов и Pythoha нравится это.
  18. Dmitri

    Dmitri Бывалый Команда форума Администратор

    Регистрация:
    7 Ноябрь 2013
    Сообщения:
    3.668
    Симпатии:
    2.810
    Баллы:
    355
    Пол:
    Мужской
    Я на Forex с:
    2008
    вчера гонял Catcher Fx в тестере и постоянно какие то проблемы с тестером.
    то сделок нет, то зависнет , то ещё что то ... но вроде прогнал советник по одной пере.
     
  19. Pythoha

    Pythoha Бывалый Аргонавт

    Регистрация:
    20 Май 2014
    Сообщения:
    567
    Симпатии:
    1.014
    Баллы:
    160
    Пол:
    Мужской
    Я на Forex с:
    2014
    Что означают резкие скачки баланса (при относительно ровном эквити) на графике тестирования? Плохо ли это?

    TEST.png
     
  20. bellduke

    bellduke Бывалый Команда форума Модератор

    Регистрация:
    13 Ноябрь 2013
    Сообщения:
    2.776
    Симпатии:
    2.404
    Баллы:
    355
    Пол:
    Мужской
    Так в тестере закрывается пирамида ордеров начиная с самого большого, и график фиксирует кратковременную прибыль, не надо обращать на это внимание.
     
    Hannay, Dmitri и Pythoha нравится это.

.

Поделиться этой страницей

translate