Что такое оптимизация советника или как увеличить эффективность торгового эксперта. Как научить советник прибыльно торговать на рынке Форекс? Как сделать оптимизацию советника в mt4

Мы делаем оптимизации несколько раз в месяц — по мере необходимости. Также можно производить дооптимизации настроек гораздо чаще самостоятельно, если вас не устраивают рекомендованные настройки или вы хотите добиться более комфортной для вас работы Форекс советника (торгового робота), либо хотите попробовать его с другим встроенным индикатором , на новом временном интервале или на новом торговом инструменте.

Торговые системы «Robots Forex» являются профессиональным инструментом для работы на рынке Форекс и товарных биржах. Наши роботы имеют много параметров и настроек, несколько индикаторов и дополнительных возможностей, все из которых мы даже не используем, потому что просто физически невозможно охватить весь спектр реализаций этих возможностей несколькими трейдерами-оптимизаторами.

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

Подготовка к оптимизации

Во-первых, все оптимизации нужно производить на довольно мощном компьютере, и обычный простой VPS-сервер для Форекс не подойдет, так как при оптимизации используется большой объем памяти и процессор загружается довольно сильно, что может привести к зависанию вашего VPS-сервера. Поэтому рекомендуем использовать домашний компьютер с хорошим процессором и достаточной памятью. Чем слабже компьютер — тем дольше будут проходить оптимизации.

Во-вторых, для оптимизаций необходим точно такой же торговый терминал от того же самого брокера, на котором работает ваш торговый робот. Нужно подключаться к тому же торговому счету и открывать график той валютной пары (или товарного инструмента — золота, нефти), которые желаете оптимизировать. Если нет ограничений по счетам и инструментам, то можно использовать различные торговые счета и разные торговые инструменты. Например, мы не имели дело с инструментами «Bitcoin» или «доллар/рубль» или «кукуруза», а вы спокойно можете произвести оптимизацию для данных инструментов и, если найдете смысл запускать на них робота, то можете это сделать для робота Double Trader Extreme, который не имеет ограничений по инструментам и счетам. Если же робот имеет ограничения — то можно менять индикаторы, временные интервалы, расписание торговли и любые другие параметры из панели управления робота в рамках одного торгового инструмента / валютной пары.

Итак, приступим:

1. Установите торговый терминал MetaTrader 4 себе на компьютер.

Скачать его можно с сайта вашего брокера,

2. Подключитесь к вашему торговому счету в терминале.

В меню Файл выбрать Подключиться к торговому счету :

Введите логин (номер счета) и пароль от него, также выберите правильный торговый сервер брокера.

3. Откройте график оптимизируемого символа

Откройте новый график нужного инструмента, кликнув на нем правой кнопкой мыши и выбрав Окно графика .

Если этого инструмента нет среди активных символов, кликните правой кнопкой мышки на любом символе в Обзоре рынка и выберите символы , затем включите нужный символ.

4. Загрузите вручную историю котировок с графика

Перед тем как загрузить историю реальных котировок брокера нужно отключить авто-прокрутку графика и установить максимально возможную историю котировок.

В меню Сервис выберите пункт Настройки :

В настройках во вкладке Графики установите максимальное количество баров в истории и на графике 2 000 000 000 .

Нажмите ОК .

Загрузите правильные котировки для нужного тайм-фрейма

Затем на графике символа, именно на том временном интервале (тайм-фрейме), который планируется оптимизировать, нужно кликнуть мышкой и нажать клавишу Home на клавиатуре. Либо можно крутить колёсиком мышки вниз до упора, после чего должны подгрузиться предыдущие данные графика. Таким образом, нажимая несколько раз Home либо докручивая мышкой до начала графика и потом снова повторяя эти действия, можно загрузить максимально возможную историю котировок данного брокера, на которой можно нормально оптимизировать робота. Загрузка другими способами архива котировок (например с сервера MetaQuotes) только навредит, так как они не будут правильными для этого брокера.

Когда будет загружено максимальное количество котировок можно приступать к тестированию и оптимизациям.

5. Откройте «тестер стратегий»

В меню Вид выберите пункт Тестер стратегий :

Либо нажмите на кнопку тестера на верхней панели терминала (если она там есть):

Откроется окно тестера стратегий внизу терминала.

6. Выберите оптимизируемого робота и желаемые параметры торговли

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

Устанавливайте желаемое время оптимизации — дату начала и окончания.

7. Установка параметров оптимизации робота

После установки основных параметров можно нажимать на кнопку Свойства эксперта .

Откроется панель управления оптимизацией робота. В первой вкладке Тестирование нужно установить размер депозита и оптимизируемый параметр (обычно оптимизируем по Maximal Drawdown — максимальная просадка ), также желательно включить Генетический алгоритм . Можно пробовать оптимизировать и по другим параметрам, если есть их понимание:

Затем откройте сразу третью вкладку Оптимизация , где можно выбрать максимальную величину оптимизируемого параметра, который также необходимо здесь включить. Кроме того, здесь можно ускорить оптимизацию, установивив дополнительные ограничения (хотя обычно лучше начать с максимально возможным количеством результатов в итоге):

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

Не забудьте нажать ОК для применения установленных параметров перед стартом оптимизации.

8. Процесс оптимизации

После установки всех желаемых параметров, нужно включить режим Оптимизация и нажать Старт .

Если процесс оптимизации не начался, то возможна ошибка из-за слишком большого количества оптимизируемых параметров. Чтобы проверить это, нужно открыть вкладку Журнал внизу тестера стратегий:

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

9. Выбор результатов оптимизаций

И завершающий этап оптимизаций торговых систем — это просмотр результатов и выбор лучших параметров для использования их в будущем при автоматической торговле.

Откройте вкладку Результаты оптимизации . В ней будут отображены множество вариантов параметров и результаты их использования. Отсортируйте по нужному вам параметру (например, Прибыль или наоборот, Просадка ):

Затем нужно применить понравившиеся параметры, исходя из предпочтений оптимизатора и поставленных ранее задач — нажмите правой кнопкой мыши на нужном результате и выберите во всплывающем меню Установить входные параметры:

Автоматически откроется вкладка Настройки тестера стратегий, в которой можно нажать Старт и прогнать выбранные параметры оптимизации на любом выбранном временном интервале (например на более продолжительном периоде или включая более ранний или поздний интервал), для нахождения оптимального результата торговли). Если результат прогона не устраивает, выбирайте и устанавливайте другие входные параметры из вкладки Результаты оптимизации . Для тестового прогона на истории нужно убедиться, что птичка рядом с параметром Оптимизация снята.

После прогона выбранных параметров в тестере, можно изучить результат в графическом виде во вкладке График либо в цифровом формате во вкладке Отчет :

Затем придумать название SET-файла и нажать еще раз кнопку Сохранить :

После этого данный файл с настройками можно устанавливать в работающий торговый робот и использовать новые параметры.

Итог

Эта подробная инструкция по проведению оптимизаций торговых роботов (Форекс советников) или торговых систем, призвана помочь тем, кто хочет профессионально заниматься роботоуправлением и добиваться выдающихся результатов в трейдинге, даже несмотря на то, что всю эту работу мы берем на себя — для каждого нашего робота — для каждой валютной пары и для каждого временного интервала.

При возникновении вопросов можете оставлять комментарии — инструкция будет дополняться и улучшаться по мере необходимости.

Сегодня рассмотрим практическое пособие по оптимизации советников в MetaTrader 4 . Или, как выразился один читатель блога — «культуру общения с советниками» -)

Если уже работали со стратегиями, то понимаете, что одна и та же стратегия, в разное время и в разные дни, будет отрабатывать совершенно по-разному.

И, как догадываетесь, причина не в стратегии, а в поведение рынка, так как он, в свою очередь, зависит от множества факторов, как например, сессии: количество игроков, новости и пр...

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

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

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

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

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

1. Оптимизация без форвард теста

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

На практике: трейдер использующий этот подход, проводит оптимизацию советника в МТ4 на прошлом , историческом участке рынка, начиная с определённого дня и по сегодняшний день.

Увидев отличные результаты в тестере, этот трейдер тут же ставит полученные параметры в сет файл. Результат — он попадает в так называемую «ловушку оптимизации», когда параметры по факту, в режиме реального времени, оказываются нерабочими.

2. Оптимизация с форвард тестом

Оптимизация с форвард тестом — это оптимизация параметров эксперта в прошлом, с контролем полученных настроек в будущем.

На практике: трейдер распределяет исторический участок на две зоны. На первом участке он проводит оптимизацию, после чего проводит тестирование полученных параметров на втором историческом отрезке.

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

Метод оптимизации с форвард тестом выдаст более качественные настройки, чем без форвард теста, но все же лучше пойти еще дальше, так как на кону стоит ваш депозит, сами понимаете -)

3. Оптимизация с форвард и бэк тестом

Третья схема оптимизации советника в какой-то мере схожа со второй и чаще всего применяется более профессиональными трейдерами.

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

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

Воспользовавшись методом оптимизации советника в МТ4 с форвард тестом и бэк тестом вы получите наиболее устойчивые к рыночным изменениям настройки .

Прежде чем приступить к оптимизации эксперта необходимо убедится в полноте исторических котировок и если необходимо подгрузить их.

Для этого в верхней строке меню войдите в «Сервис» и выберите «Архив котировок». Затем найдите необходимую валютную пару и загрузите минутные котировки М1, все остальные таймфреймы загрузятся автоматически.

После того, как откроется окно тестера, нужно выставить следующие настройки:

  • Слева, под графиком, обратите внимание, чтобы стояло значение «Советник»;
  • Нажав на кнопку выпадающего меню справа, в той же строке, выберите необходимый советник, дважды кликнув на названии;
  • Далее выбираем валютную пару на которой будет работать советник и таймфрейм;
  • Ниже, метод тестирования «Все тики» и спред на выбранной валютной паре. Стоит иметь в виду, что у разных брокеров спреды разные, поэтому для работы рекомендую только брокера
  • Еще ниже, необходимо выставить временной отрезок на котором будет оптимизироваться советник;
  • Визуализацию рекомендую отключить, так как из-за неё процесс оптимизации может значительно затянуться;
  • Обязательно включите «Оптимизацию».

После такой немудрённой подготовки, зайдите в настройки вашего советника, кликнув на кнопку «Свойства эксперта» и задайте критерии оптимизации.

Во вкладке «Тестирование» выставьте:

  1. Значение своего депозита;
  2. Позиции Long&Short оставьте, ведь наш советник открывает ордера, как в buy, так и в sell;
  3. Ниже, в «Оптимизация» выберите, какой именно параметр будете оптимизировать. Обычно в советнике оптимизируется Profit Factor, то есть количество убыточных сделок по отношению к прибыльным;
  4. Поставьте галочку (если не стоит), в поле «Генетический алгоритм», это также сбережет вам время на оптимизацию.

Здесь всё расписывать смысла нет, так как настройки Romum описаны в статье о нём, а какие параметры советника оптимизировать в первую очередь можете прочитать в

Можете указать свои значения, а можете загрузить начальный сет, который есть в архиве с советником...

Обратите внимание, чтобы была галка возле параметра, который собираетесь оптимизировать, после чего нажмите «Ок» и закройте настройки.

Хотя есть еще вкладка «Оптимизация», но значениями в ней обычно никто не пользуется, так как реально они ничего не покажут -)

Всё, жмём на кнопку «Старт» и тестер начнет оптимизацию советника.

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

После проведения оптимизации можете посмотреть результаты с подобранными параметрами во вкладке «Результаты». В этой таблице находятся данные о прибыли, просадке, количестве сделок, ну и прибыльности, собственно -)

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

В дальнейшем вы можете сохранять свои сеты через настройки эксперта.

Кроме того, если кликнуть на вкладку «График», то одним взглядом можно оценить прибыльность/убыточность проведенной оптимизации советника:

Также, с помощью графика проще сравнивать результаты форвард и бэк тестов.

Да, стоит учитывать, что оптимизация советника дело, хоть и не хитрое, но весьма времяёмкое. Поэтому её стоит делать в выходные, когда рынок не работает. Более того, рекомендую делать оптимизацию каждую неделю. Хотя, решать вам...

И еще, несмотря на все меры, важно понимать — оптимизация советников в МТ4 не является той самой панацеей , которая спасёт вас от слива, на все 100 процентов.

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

Тем не менее, оптимизация параметров советника, является эффективной превентивной мерой , поэтому пренебрегать ею ни в коем случае не стоит.

Привет Всем!

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

Итак, поехали:-). Как помните из предыдущей статьи , мы протестировали стандартный эксперт MACD Sample из стандартными параметрами на истории котировок (за 2011 год) и получили неутешительные результаты. Сейчас же мы проведем оптимизацию этого советника и посмотрим, как изменится его эффективность торговли.

Для того чтобы выбрать оптимальные параметры для торгового работа, после проведения тестирования, в окне тестера стратегий нажимаем на кнопку «Свойства эксперта » / вкладка «Входные параметры ».

Что мы здесь видим? Это список параметров и их значения, по которым торгует советник. Для того чтобы оптимизировать какой-то из них, нужно обозначить их галочками (рис. ниже).

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

Теперь давайте разберемся, что означают значения в полях «Старт », «Шаг » и «Стоп ». Это параметры, которые советник будет прогонять (каждый по циклу) на заданной истории котировок, после чего Вы будете иметь возможность выбрать лучший вариант из сделанных прогонов, но об этом чуть позже.

Для примера, если вы поставите для параметра TakeProfit:

Старт — 5 пунктов

Шаг — 1 пункт

Стоп – 200

А для всех остальных параметров эксперта значение шаг и стоп будут равны 0, то оптимизация советника , в таком случае, будет проходить только для параметра тейк профит и выглядеть так:

Первый цикл — он прогоняет со значением параметра TakeProfit — 5 пунктов (это один прогон).

Второй цикл — с значением 6 пунктов (так как шаг у нас 1 пункт, это уже второй прогон)

И т.д. до значения 200. В результате мы получаем 195 прогонов советника из которых будем выбирать лучший вариант.

Так эти значения «Старт », «Шаг » и «Стоп » проставляются для каждого параметра советника отдельно и тогда проводится оптимизация.

  • Параметр TakeProfit у нас будет прогонятся по порядку от значения 50 пунктов до 200 с шагом 1.
  • Lots не оптимизируем, соответственно для колонок шаг и стоп оставляем 0.
  • Трейлинг стоп от 10 до 100 пипсов.
  • Для параметров MACDOpenLevel выставляем количество свечей от 3 до 30 с шагом 1. MACDCloseLevel от 2 до 30.
  • И периоды для скользящей средней МАTrendPeriod от 20 до 100.

Есть! Установили:-). Теперь на вкладке «Тестирование » выбираем депозит (в нашем случае, 1000$) для которого будет проводится оптимизация советника, после чего нажимаем на кнопку «ОК ».

После этого, обязательно ставим галочку «Оптимизация » и нажимаем «Старт ».

Оптимизация советника займет несколько минут в зависимости какой мощности у Вас компьютер. Соответственно после завершения оптимизации, в окне тестера стратегий появляются дополнительные вкладки «Результаты оптимизации » и «График оптимизации ».

В первой, Вы можете просмотреть результаты каждого прогона (у нас их получилось 4511), отсортировать их по прибыли, количестве сделок, просадке т.д. После того как проанализировали и выбрали для себя лучший вариант прогона, кликаем правой кнопкой мыши по строчке данного прогона и в открытом контекстном меню нажимаем «Установить входные параметры ».

Если после этого зайдем на вкладку «Свойства эксперта », то увидим, что советник принял новые параметры, которые мы ему установили.

Как показано на рисунках выше, я отсортировал колонку с наибольшей прибылью (она составила – 1586$) и установил эти параметры для эксперта. Теперь нужно заново протестировать советник, чтобы получить реальный график и отчет эффективности его торговли за указанный период. Для этого снимаем галочку «Оптимизация » и нажимаем на кнопку «Старт ».

Как видно на рисунке выше, из вкладки «График », оптимизация советника и его повторный тест показал значительно лучший результат (прибыль за указанный период (год) составила – 1586 дол.) по сравнению с предыдущим тестированием со стандартными параметрами (прибыль – 452$).

Теперь нужно сохранить оптимизированные настройки советника, для этого заходим на вкладку «Входные параметры » и нажимаем кнопку «Сохранить ». В открывшемся окне, пишем название файла с настройками, выбираем папку в которой будем его хранить и сохраняем в специальном формате — .set.

После стандартного теста можно провести так называемый «форвард тест », т.е. тестирование за период с неизвестными для советника котировками. Для примера, так как мы проводили тестирование за период и котировками за 2011 год, то для форвард теста возьмем весь доступный период 2012 года (котировки для робота, в этом случае, будут неизвестны). Результаты, я уверен, будут отличаться существенно, и они будут более достоверны для анализа работоспособности советника на реальном счете.

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

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

Видео обязательное для просмотра «Миф об оптимизации торговых советников»:

Как правильно оптимизировать советник? - вопрос на который не существует пока точного ответа. Здесь я расскажу как я это делаю в metatrader 4. В статье я предполагаю что Вы уже знаете

Для начала разберёмся с техническими тонкостями оптимизации. Оптимизация это подбор наилучших параметров работы советника. "Наилучших" - понятие расплывчатое, кто то скажет риск должен быть минимален, для кого то важнее прибыль в процентах, для других высокий профит фактор. Наилучшие параметры это уже вопрос больше религии, кто во что больше верит. Лично я верю что можно подобрать оптимум(самые наивыгоднейшие параметры) по множеству критериев сразу. Но платформа MT4 пока что в этом плане ограничена и позволяет оптимизировать только по одному критерию, т.е. если мы ставим оптимизировать чистую прибыль, то генетический алгоритм пытается подобрать такие параметры при которых прибыль максимально, не глядя на просадку, и прочие показатели. Это очень похоже на джина, который вроде формально выполняет желание, но всегда криво и не так как нужно. В оптимизации советников очень важно экспериментировать и набираться опыта, оптимизировать как можно больше систем, на разных интервалах, следить что меняется, как меняются лучшие параметры. Тогда с опытом Вы будете лучше разбираться в работоспособности и живучести советников.

  • 1. Естественно депозит. На этапе оптимизации депозит ставят максимально большим, чтобы депозит не стал ограничением в работе советника, пускай и убыточного, работу над ошибками в системе делают именно так.
  • 2. Long/Short - параметр который разрешает открывать и BUY и SELL ордера. МТ4 позволяет запретить открытие любого из типов ордеров. Не рекомендую использовать этот параметр, т.к. в эксперте могут возникнуть логические ошибки. В любом эксперте!
  • 3. Оптимизируемый показатель - то о чём я говорил выше. Если выставить balance то генетический алгоритм будет пытаться максимизировать баланс, не смотря на другие показатели. Из всех представленных показателей оптимизации я рекомендую использовать ProfitFactor, он наиболее оптимально для большинства систем подберёт параметры.
  • 4. Вкл/выкл Генетический алгоритм. Генетический алгоритм ОЧЕНЬ существенно ускоряет поиск оптимальных параметров. Существует целый раздел в Машинном обучении, который поможет Вам подробно разобраться что же такое генетический алгоритм. Я лишь скажу что без него идёт прямой перебор параметров, который может затягиваться на года, в то время как генетический алогиртм ищет оптимальные параметры за 1-2 дня максимум.

Поехали дальше, вторая вкладка


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

  • 1. Старт - с этого значения параметр начинает свой перебор в сочетании с другими параметрами. Т.е. если здесь напротив TP_1 выставить 100 то при оптимизации занчение TP_1=100 будет минимальным, никогда советник не выставит ниже 100 пунктов TP_1. Аналогично и для других параметров.
  • 2. Шаг перебора параметра. Если напротив TP_1 шаг установить 20, то генетический алгоритм будет перебирать поочерёдно значения 100, затем 120, затем 140, затем 160, НО никогда не будет перебирать 145 или 167, шаг не позволит столь детализироваться в подборе параметров.
  • 3. Стоп- это максимальное значение параметра в переборе. Если напротив TP_1 выставить 1000 то в переборах параметров TP_1 никогда не будет больше 1000, только меньше.
  • 4. Ну и последнее - Должна стоять галочка(где показано стрелкой) чтобы этот параметр подбирался. Если галочка у параметра не стоит то параметр приравнивается к колонке "Значение"

Самый важный параметр - Шаг. Его правильное значение позволяет максимально сократить время оптимизации. Я рекомендую брать размах(Максимальное значение параметра и минимальное) параметра и делить его на 5-8, получившееся значение вписывать в шаг при оптимизации. На примере Вы знаете что Тейкпрофит в колонке Старт лучше поставить минимальным примерно 5 пунктов. Но в то же время в колонке Стоп Вы понимаете что стратегия не долгосрочная и больше 200 пунктов ставить не имеет смысла. Тогда шаг выставляете 20 пунктов. И уже затем когда Вы понимаете что система Вас устраивает и Вам нужно более детализировано оптимизировать параметры и Вам известно, допустим, что оптимальный тейкпрофит колеблется в диапазоне 25-45 пунктов, тогда Вы можете провести ещё одну оптимизацию с более мелким шагом но и более узким диапазоном значений.

Ну и наконец третья вкладка


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

Оптимизация представляет собой последовательные прогоны одного и того же советника с различными входными параметрами на одних и тех же данных. При этом можно подобрать такие параметры, при которых эффективность советника будет максимальной. Терминал обладает встроенными средствами, позволяющими автоматизировать этот процесс. Прежде чем приступать к оптимизации параметров советника, необходимо произвести настройку. Это означает, что следует:

  • выбрать советника и задать его входные параметры
  • выбрать финансовый инструмент и его период
  • выбрать один из трех способов моделирования баров
  • задать временной диапазон для оптимизации (необязательно)

Для тестирования и оптимизации советников в терминале используется специальное окно "Тестер" . Все вышеперечисленные настройки производятся во вкладке "Настройка" этого окна.

В поле окна "Тестер - Советники" следует выбрать эксперт, параметры которого необходимо оптимизировать. В этом поле нельзя выбрать любой файл советника. Здесь могут быть лишь доступные в клиентском терминале файлы. Для этого они должны быть скомпилированными и находиться в папке /EXPERTS.

После того как выбран советник, необходимо провести дополнительную настройку и задать входные параметры. Это можно сделать нажатием кнопки "Свойства эксперта".

При этом появится новое окно с тремя вкладками:

Тестирование

В этой вкладке задаются общие параметры оптимизации. К ним относятся объем и валюта начального депозита, которые указываются в одноименных полях. Именно этим депозитом будет оперировать советник во время оптимизации.

В этой вкладке также выбираются типы открываемых позиций: Only Long - открывать только длинные позиции; Only Short - только короткие; Long and Short - открывать позиции в обе стороны. Каков бы ни был алгоритм советника, он будет открывать позиции только в заданных направлениях.

Также можно включить генетический алгоритм оптимизации. Подробное описание этого алгоритма можно найти в статье .

Оптимизируемый параметр - некий показатель, значение которого определяет качество тестируемого набора входных параметров. Чем больше значение критерия оптимизации, тем лучше оценивается результат тестирования с данным набором параметров. Доступны следующие параметры для оптимизации:

  • Balance - показателем оптимизированности является максимальное значение баланса;
  • Profit Factor - показателем является максимальное значение фактора прибыльности;
  • Expected Payoff - показателем является максимальное значение математического ожидания выигрыша;
  • Maximal Drawdown - показателем является минимальное значение просадки;
  • Drawdown Percent - показателем является минимальное значение относительной просадки (в процентах);
  • Custom - при выборе данного параметра в качестве критерия оптимизации будет учитываться значение функции OnTester() в советнике. Данный параметр позволяет пользователю использовать любой собственный показатель для оптимизации.

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

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

При оптимизации входные параметры советника задаются в полях "Старт", "Шаг" и "Стоп". В этих полях задаются начальные значения, шаг изменения и конечные значения внешних переменных соответственно. Слева от названия переменных имеются галочки, включающие параметр в оптимизацию. Если переменная не отмечена галочкой, она не участвует в оптимизации. Ее значение в процессе оптимизации не изменяется, и используется параметр, записанный в поле "Значение". Количество прогонов эксперта напрямую зависит от этих параметров. Данные, записываемые в поле "Значение", не влияют на оптимизацию советника и необходимы лишь для его тестирования .

Существует возможность загрузить уже сохраненный набор входных параметров (включая значения "Старт", "Шаг" и "Стоп"). Это можно сделать, нажав кнопку "Загрузить" и выбрав предварительно сохраненный набор параметров. Сохранить текущий набор внешних переменных можно при помощи одноименной кнопки.

Оптимизация

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

Чтобы включить ограничивающее условие, необходимо выставить соответствующий флажок слева от него. Двойным кликом левой кнопки мыши в поле "Значение" можно изменить имеющийся параметр, после ввода нового значения нажмите клавишу "Enter".

К ограничивающим параметрам относятся:

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

Финансовый инструмент и его период

Чтобы приступить к тестированию, недостаточно лишь выбрать советника и настроить его. Необходимо также выбрать финансовый инструмент и период (таймфрейм) для тестирований. Все тестирования будут проходить именно на этих данных. При тестированиях можно выбрать один из доступных в терминале инструментов или использовать внешний файл данных. В тестированиях используются файлы исторических данных формата *.FXT, которые записываются в директории /TESTER. Эти файлы автоматически создаются при тестированиях, если был выбран имеющийся в терминале инструмент.

Финансовый инструмент задается в поле "Символ", а таймфрейм - в поле "Период". Если файла данных по этому инструменту, периоду и методу моделирования не существует, он будет создан автоматически. При отсутствии исторических данных по инструменту и периоду, тестер автоматически скачает 512 последних баров истории.

Методы моделирования

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

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

При настройке оптимизации можно выбрать один из трех методов моделирования исторических данных:

  • По ценам открытия (быстрый метод на сформировавшихся барах)
    Некоторые механические торговые системы не зависят от особенностей внутрибарного моделирования, они торгуют на сформировавшихся барах. То, что текущий ценовой бар полностью сформировался, можно узнать по появлению следующего. Именно для таких экспертов предназначен этот режим моделирования.
    В этом режиме сначала моделируется открытие бара (Open = High = Low = Close, Volume=1), что дает эксперту возможность точно идентифицировать окончание формирования предыдущего ценового бара. Именно на этом зарождающемся баре запускается тестирование эксперта. На следующем шаге выдается уже полностью сформированный текущий бар, но на нем тестирование не производится!
  • Контрольные точки (используется ближайший таймфрейм + фрактальная интерполяция)
    Метод моделирования контрольных точек предназначен для грубой оценки экспертов, торгующих внутри бара. Для этого метода необходимо наличие исторических данных ближайшего меньшего периода (таймфрейма). В большинстве случаев имеющиеся данные меньшего таймфрейма не полностью покрывают временной диапазон тестируемого таймфрейма. При отсутствии данных меньшего таймфрейма развитие бара генерируется на основе цен закрытия 12 предыдущих баров. То есть, движение внутри бара повторяет движение цены за последние 12 периодов. Это и есть фрактальная интерполяция.
    Как только появляются исторические данные меньшего таймфрейма, фрактальная интерполяция применяется уже к этим данным. Однако используется уже не 12, а всего 6 предыдущих баров. То есть воспроизводятся реально существующие цены Open, High, Low, Close плюс ещё две сгенерированных цены. Значение и местоположение этих двух сгенерированных цен зависит от движения цены на 6 предыдущих барах.
  • Все тики (на основе всех наименьших доступных периодов с фрактальной интерполяцией каждого тика)
    Этот режим позволяет наиболее точно смоделировать движение цены внутри бара. В отличие от "контрольных точек", потиковый метод использует для генерации данные не только ближайшего меньшего таймфрейма, но и всех доступных меньших таймфреймов. При этом, если для какого-то временного диапазона одновременно существуют данные более одного таймфрейма, то для генерации используются данные самого меньшего таймфрейма. Так же, как и в предыдущем методе, фрактально генерируются контрольные точки. Для генерации движения цены между контрольными точками также используется фрактальная интерполяция. Возможна ситуация, когда генерируется несколько одинаковых тиков подряд. В этом случае дублирующиеся котировки фильтруются, и фиксируется объем последней из таких котировок.
    Необходимо учитывать очень большой возможный объем сгенерированных потиковых данных. Это может сказаться на потребляемых ресурсах операционной системы и на скорости тестирования.

В клиентском терминале в истории ценовых данных сохраняются только цены Bid. Для моделирования цен Ask в тестере стратегий по умолчанию используется текущий спред инструмента на момент запуска оптимизации. Однако пользователь может задать собственное значение спреда для оптимизации в поле "Спред".

Временной диапазон

Диапазон дат позволяет тестировать советники не на всех имеющихся данных, а лишь на выбранном временном отрезке. Это бывает удобным при необходимости исследовать отдельную часть исторических данных. Ограничение диапазона дат можно использовать не только при тестировании эксперта, но и при генерации тестирующей последовательности баров (файла смоделированных данных, используемого для тестирования). Очень часто нет необходимости генерировать данные всей истории, особенно при потиковом моделировании, когда объем неиспользуемых данных может быть очень большим. Поэтому если при первоначальной генерации тестирующей последовательности была включена возможность использования диапазона дат, то бары, выходящие за пределы указанного диапазона, не генерируются, а просто переписываются в выходную последовательность. Данные не исключаются из последовательности, чтобы оставалась возможность правильно посчитать индикаторы на всей полученной истории. Необходимо заметить, что первые 100 баров также не генерируются. Это ограничение не зависит от установленного диапазона дат.

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

Читайте также: