Перед тем, как запустить робота в реальную торговлю большинству даже не приходит в голову мысль о том, что для каждого робота надо подбирать наиболее подходящий для него инструмент и таймфрейм, чтобы результаты от торговли были более устойчивые. Также для выбранного вами инструмента и таймфрейма необходимо подобрать лучшие параметры к роботу / советнику, с которыми он и будет в дальнейшем торговать. В Metatrader 5 (МТ5) есть встроенный тестер стратегий, с помощью которого можно проверить заранее эффективность индикатора или торгового робота. При тестировании, робот показывает на исторических данных то, как бы он торговал с вашими заданными параметрами, обрабатывая каждую котировку и совершая виртуальные сделки так же, как бы это было на реальном рынке.
При тестировании робота (советника) происходит его однократная прогонка с начальными параметрами на исторических данных. При оптимизации торговая стратегия прогоняется несколько раз с различным набором параметров, что позволяет выбрать наиболее удачную их комбинацию.
И вот краткая инструкция по тестированию роботов в Тестере стратегий терминала МТ5
В меню терминала МТ5 выбираете «Вид» — «Тестер стратегий» или вызываем Тестер сочетанием клавиш Ctrl + R.
Также можно в окне «Навигатор» выбрать нужного вам робота из списка для тестирования — Правой кнопкой мыши нажать на нем — кликнуть по пункту «Тестировать» – советник будет выбран в тестере стратегий.
В открывшемся окне «Тестера стратегий» первым делом выбираем нужного вам робота из списка
Далее выбираете необходимый вам инструмент, для которого вы хотите подобрать параметры или проверить текущие. Если в списке нет нужного инструмента, то проверьте окно «Обзор рынка» и добавьте необходимый инструмент в список. Если это фьючерсы Мос.биржи, то лучше выбирайте склейки (Splice) для тестирования за длительный период истории.
Потом выбираете таймфрейм, на котором собираетесь запускать вашего торгового робота, соответственно на нем надо и подбирать параметры.
Затем настраиваете период исторических данных, за который собираетесь тестировать или оптимизировать параметры робота. Тут вы можете выбрать либо один из предложенных вариантов: вся доступная история, последний месяц, последний год или задать свой период с какой — по какую дату производить тестирование на исторических данных.
С целью исключения проблемы с переоптимизацией, вы можете указать форвардный период для проверки полученных параметров на том участке исторических данных, который не участвовал в оптимизации.
Например, вы подобрали лучшие параметры для робота за предыдущий год по сегодняшнее число. В этом случае, возможна такая ситуация, что выбранные параметры будут работать только в этом отрезке времени, а в будущем результаты могут оказаться совсем другими. Но и тут надо смотреть по ситуации, возможно просто стадия рынка оказалась неподходящей для вашего робота и стоит подождать. Например, робот трендовый, а на рынке стадия узко диапазонного бокового движения.
При форвард-оптимизации период, указанный в поле «Установить дату», делится на две части, в соответствии с выбранным форвард периодом (половина, треть, четверть или собственный период, когда указывается дата начала форвард тестирования).
На первой части периода проводится оптимизация советника. После этого отбираются лучшие прогоны (10% при полном переборе параметров или 25% при генетическом алгоритме), и только они запускаются на форвард-периоде. Результаты лучших прогонов при оптимизации на обоих периодах затем можно сравнить на вкладках «Результаты оптимизации» и «Результаты форвард тестирования».
Затем выбираете режим тестирования, т.е. насколько вы хотите, чтобы были точные результаты, либо все тики, либо только по открытию и закрытию свечей. В зависимости от этого и будет скорость тестирования.
— При выборе варианта «Все тики» — тиковые данные генерируются на основе минутной истории. В принципе, это достаточно точный метод.
— При выборе «Каждый тик на основе реальных тиков«, дает возможность производить тестирование на реальных тиковых данных, которые скачиваются с серверов вашего брокера. Тестер скачивает их автоматически перед началом запуска оптимизации/тестирования.
— При выборе «OHLC на M1» – тестирование будет проходить на 1 минутной истории только по основным ценам ценам свечей — открытия свечи, максимума, минимума и закрытия.
— При выборе «Только цены открытия» — будут использоваться только цены открытия свечей.
— При выборе «Математические вычисления«, будет отключаться автоматическая подкачка истории и генерации тиковых данных.
Если хотите эмитировать торговлю относительно вашего будущего депозита, то можно задать необходимый начальный депозит.
Если вы собираетесь подбирать параметры, т.е. провести оптимизацию, то следует выбрать режим Оптимизации. Либо можно отключить, если вы хотите просто проверить текущие параметры робота.
Справа ставите галочку «Визуализация», если хотите, чтобы вам показывали на графике сделки того, как бы торговал робот по истории.
Режимы оптимизации:
— Медленная (полный перебор параметров) — перебор всех возможных комбинаций выбранных входных параметров.
— Быстрая (генетический алгоритм) — поиск оптимальных входных параметров на основе генетического алгоритма.
— Все символы, выбранные в окне «Обзор рынка» — тестирования одного и того же набора входных параметров, но на разных торговых инструментах.
Справа выбираете по какому принципу производить отбор лучших вариантов параметров.
Далее внизу переходите во вкладку «Параметры».
Если вы хотите просто проверить по истории какие-то параметры, то не ставите нигде галочки, а только в столбце «Значение» задаете необходимые значения для каждого параметра.
Если же вы хотите, чтобы тестер подбирал вам параметры, то отмечаете слева галочками напротив каждого параметра, значения которые вы хотите подобрать.
Затем выставляете границы поиска параметров от – Старт и макс граница – Стоп
Также задаете с каким шагом делать перебор параметров.
Наборы параметров. Чтобы вы могли в любой момент вернуться к текущим настройкам MQL5-программы, сохраните набор параметров через контекстное меню:
— Чтобы сохранить набор в виде set-файла на компьютере, нажмите «Сохранить». Такие файлы можно переносить между платформами на разных компьютерах, передавать другими пользователям.
— Чтобы сохранить набор для последующего удобного использования в текущей платформе, нажмите «Сохранить набор». Сохраненные таким образом параметры будут доступны в подменю «Загрузить версию». Их можно в любой момент применить, просто выбрав из списка.
Перед началом теста, тестер автоматически загружает всю необходимую историю, так что вам не нужно беспокоится об этом самостоятельно. Загрузка истории может занять некоторое время, но на следующем запуске будут загружаться лишь недостающие данные.
Можно задать комиссию для тестирования
нажимаем на кнопку Эквалайзер
Комиссия
В этом разделе вы полностью контролируете, как взимается комиссия со всех торговых операций:
— Комиссии могут быть одноуровневыми и многоуровневыми, т.е. взиматься в одинаковом размере независимо от объема сделки/оборота или разниться в зависимости от их величины.
— Комиссии могут взиматься сразу при совершении сделки или в конце торгового дня/месяца.
— Комиссии могут взиматься в зависимости от направления сделки: за вход, за выход или за оба типа операций.
— Комиссии могут взиматься за каждый лот или за каждую сделку.
— Комиссии могут взиматься в разных величинах: в деньгах, процентах или пунктах.
В колонке «Символ» Укажите имя символа, для которого настраивается комиссия. Для каждого символа можно добавить несколько настроек. Например, так можно создать многоуровневые комиссия, которые зависят от объема сделки или оборота.
Начисление.
Комиссию можно взимать немедленно после каждой совершенной сделки или же накапливать в течение торгового дня или месяца и затем взимать единой операцией:
— Немедленное — комиссии начисляются немедленно при каждом совершении сделки. Размер комиссии, начисляемой немедленно, отображается в поле «Комиссия» сделок. При немедленном начислении уровни комиссий указываются в объеме (не в обороте).
— Ежедневное — сумма комиссий накапливается в течение дня в специальном поле состояния счета «Заблокировано». В конце дня накопленная сумма списывается со счета отдельной балансовой операцией (сделка с типом Daily commission или Daily agent commission).
— Ежемесячное — сумма комиссий накапливается в течение месяца в специальном поле состояния счета «Заблокировано». В конце месяца накопленная сумма начисляется/списывается со счета отдельной балансовой операцией (сделка с типом Monthly commission или Monthly agent commission).
Также комиссию можно взимать в зависимости от объема каждой сделки или от ежедневного или ежемесячного оборота. От выбранного варианта зависит, объемы чего указываются в полях «От» и «До» — сделки или оборота.
— Объем — уровни комиссии задаются по объему (количеству лотов) каждой совершенной торговой операцией сделки. Например, если задать уровни 0 — 10 и 12 — 20, сделка объемом 15 лотов попадет во второй уровень комиссии. Этот вариант используется, если выбран режим «Ежедневно», «Ежемесячно» или «Немежденно».
— Оборот в деньгах — уровни комиссии задаются по обороту в деньгах за выбранный период (день или месяц). Например, заданы уровни 0 — 500, 501 — 1000, начисление производится ежемесячно. Пока общая стоимость операций не превышает 500 единиц, будет взиматься комиссия в соответствии с первым уровнем. Как только денежный оборот превысит значение 500, комиссия за последующие сделки будет взиматься в соответствии со вторым уровнем.
По умолчанию, оборот в деньгах рассчитывается в валюте депозита: рассчитывается стоимость каждой сделки, а затем эта стоимость приводится к валюте депозита. Например, стоимость позиции Buy 1 lot EURUSD при размере контракта 100 000 составляет 100 000 EUR. Если вы используете валюту депозита USD, стоимость позиции будет сконвертирована по курсу EURUSD на момент совершение сделки (в данном случае, по цене сделки).
— Оборот в объеме — уровни комиссии задаются по совокупному объему торговых операций (количество лотов) за выбранны период (день или месяц).
Направление
В ежедневном и ежемесячном режиме комиссии начисляются при совершении сделок в обоих направлениях (при открытии/наращивании позиции и при закрытии/частичном закрытии позиции). Для немедленных комиссий вы можете задать направление сделок вручную.
По сделкам разворота в режиме «Сделки входа» комиссия взимается только с объема вновь открытой позиции, в режиме «Сделки выхода» — только с закрытого объема. Для сделок на закрытие позиции встречной (Close By) действуют следующие правила:
— При настройках «Сделки входа/выхода» и «Сделки входа» комиссия со сделок Close By не взимается, так как она уже удержана со сделок, образовавших обе позиции. Например, комиссия взимается в размере 1 USD за каждую сделку. При совершении сделок входа Buy 1.00 EURUSD и Sell 1.00 EURUSD с клиента будет удержана комиссия в размере 2 USD. При закрытии позиции 1.00 EURUSD позицией Sell 1.00 EURUSD с клиента не будет удержана комиссия.
— При настройке «Сделки выхода» комиссия взимается с обеих сделок Close By, ее итоговое значение записывается в основную сделку выхода (в которой указана прибыль/убыток). Например, комиссия взимается в размере 1 USD за каждую сделку. При совершении сделок входа Buy 1.00 EURUSD и Sell 1.00 EURUSD с клиента не будет удержана комиссия. При закрытии позиции 1.00 EURUSD позицией Sell 1.00 EURUSD будет удержана комиссия в размере 2 USD. В первой сделке out by будет указана комиссия 2 USD, во второй сделке out by комиссия будет указана как нулевая.
Колонка «От»
Минимальный объем сделки (оборота), с которого будет взиматься данная комиссия. Настраиваемые диапазоны не должны пересекаться. В противном случае, комиссия будет начислена по всем диапазонам, в которые попадет торговая операция.
Колонка «До»
Максимальный объем сделки (оборота), с которого будет взиматься данная комиссия; Настраиваемые диапазоны не должны пересекаться. В противном случае, комиссия будет начислена по всем диапазонам, в которые попадет торговая операция.
Комиссия
Объем комиссионных сборов. Единицы измерения зависят от способа начисления комиссии, выбираемого в поле «Режим».
Минимальная
Минимальный объем взимаемой комиссии. Единицы, в которых указывается значение, зависят от выбранного способа начисления (в базовой валюте, валюте группы, пунктах и т.д.). Чтобы не ограничивать минимальный размер комиссии, установите значение 0.
Максимальная
Максимальный объем взимаемой комиссии. Единицы, в которых указывается значение, зависят от выбранного способа начисления (в базовой валюте, валюте группы, пунктах и т.д.). Максимальная комиссия не должна быть меньше минимальной. Чтобы не ограничивать максимальный размер комиссии, установите значение 0.
Режим
Единицы расчета комиссионных соборов:
— Валюта депозита — комиссионные сборы будут рассчитываться в валюте депозита, указанной для группы.
— Базовая валюта — комиссионные сборы будут рассчитываться в базовой валюте символа, по которому совершена сделка.
— Валюта прибыли — комиссионные сборы будут рассчитываться в валюте прибыли символа, по которому совершена сделка.
— Валюта маржи — комиссионные сборы будут рассчитываться в валюте расчета маржевых требований, указанной для символа, по которому совершена сделка.
— Пункты — комиссия будет начисляться в пунктах цены символа, по которому совершаются сделки. Стоимость пункта рассчитывается как прибыль по аналогично направленной позиции объемом 1 лот при разнице цен закрытия и открытия в 1 пипс (пункт).
— Проценты — этот способ расчета позволяет взимать комиссию в процентах от реальной стоимости сделки или оборота. Стоимость вычисляется в базовой валюте символа как произведение его цены, размера контракта и объема в лотах (для всех фьючерсных и опционных инструментов: объем в лотах * размер тика / цена тика). По умолчанию, рассчитанная в базовой валюте стоимость сделки/оборота конвертируется в валюту депозита, и от полученного значения рассчитывается итоговая комиссия (указанный процент).
Тип начисления комиссии:
— За сделку — при выборе данного типа комиссионные сборы будут взиматься с каждой совершенной сделки.
— За объем — данный тип начисления позволяет взимать комиссию с объема (с каждого лота) совершаемых сделок. Учитывается только исполненный объем торговых запросов.
Чтобы использовать настройки комиссии текущего торгового счета, включите опцию «Использовать предопределенные комиссии».
Запуск оптимизации
Возвращаетесь во вкладку «Настройки» и справа нажимаете на кнопку «Старт»
Далее начинается Оптимизация – подбор параметров.
Внизу, где строка состояния оптимизации пишется, сколько комбинаций проверено, сколько еще осталось
Как только оптимизация завершится, вы сможете во вкладке «Оптимизация». Отчет о оптимизации можно отсортировать по любому параметру, кликнув мышью на заголовке колонки.
и двойным щелчком левой кнопки мыши нажать на нужную строку с параметрами, они появятся во вкладке «Параметры» в столбце значения.
А также запустится проверка этих параметров по истории. И в появившейся внизу вкладке «График»
и Бэктест.
Там увидите показатели при торговле с выбранными параметрами.
Результаты оптимизации
Для каждого прохода оптимизации выводятся следующие показатели:
— Проход — номер прохода.
— Результат — итоговое значение параметра, являющегося критерием оптимизации, по которому отбираются наилучшие проходы.
— Прибыль — полученная прибыль/убыток по результатам прохода.
— Всего трейдов — общее количество трейдов (сделок, которые привели к фиксации прибыли или убытка), совершенных за данный проход.
— Прибыльность — отношение общей прибыли к общему убытку в процентах. Единица означает, что сумма прибылей равна сумме убытков.
— Матожидание выигрыша — этот статистически рассчитываемый показатель отражает среднюю прибыльность/убыточность одной сделки.
— Просадка — относительная просадка средств, наибольший убыток в процентах от максимального значения средств. Снятие средств(Withdrawal) советником во время оптимизации учитывается при расчете просадки.
— Фактор восстановления — данный показатель отображает рискованность стратегии, какой суммой советник рискует чтобы заработать полученную прибыль. Он вычисляется как отношение полученной прибыли к максимальной просадке.
— Коэффициент Шарпа — классический показатель для оценки действий портфельного управляющего, результатов фонда или торговой системы. Вычисляется как (Доходность – Безрисковая доходность)/Стандартное отклонение Доходности.
В тестере стратегий Безрисковая доходность принимается равной нулю.
Значения показателя принято трактовать следующим образом:
— Sharpe Ratio < 0 — стратегия убыточна, не годится. Плохо.
— 0 < Sharpe Ratio < 1.0 — риск не окупается. Такие стратегии могут браться в работу, если нет альтернатив. Неопределенно.
— Sharpe Ratio ≥ 1.0 — если коэффициент Шарпа превышает единицу, это означает, что риск окупается, портфель/стратегия работает. Хорошо.
— Sharpe Ratio ≥ 3.0 — высокий показатель говорит о том, что вероятность получить убыток в каждой конкретной сделке очень мала. Очень хорошо.
Оптимизируемый параметр(ы) — в дополнение к общим статистическим показателям здесь отображаются значения входных переменных установленные для данного прохода.
При помощи команд контекстного меню можно скрывать/показывать некоторые из вышеуказанных столбцов. Для удобства включите опцию «Автопереключение на результаты» — после завершения оптимизации тестер стратегий будет автоматически переключаться на вкладку результатов. Аналогичная команда доступна в контекстном меню вкладки «Журнал».
С помощью фильтров в меню вы можете быстро скрыть из списка неудачные проходы:
— где не было ни одной сделки
— где робот показал убытки
— где просадка более 50%
— где фактор восстановления ниже 1
— где коэффициент Шарпа меньше 0.5
Для удобного визуального анализа проходов таблица результатов оптимизации раскрашивается:
— Баланс — синим цветом раскрашиваются значения выше начального депозита, красным — ниже.
— Прибыль — синим цветом раскрашиваются значения выше нуля, красным — ниже.
— Матожидание выигрыша — синим цветом раскрашиваются значения выше нуля, красным — ниже.
— Просадка — от зеленого (0-5%) до красного (выше 30%).
— Коэффициент Шарпа — от зеленого (больше 2) до красного (ниже 0).
— Фактор восстановления — от зеленого (больше 2) до красного (ниже 1).
Вы уже сейчас можете начать изучать Видео курс- роботы в TSLab и научиться самому делать любых роботов!
Можно записаться на следующий поток ОнЛайн курса «Создание роботов в TSLab без программирования», информацию по которому можно посмотреть тут->
Также можете научиться программировать роботов на нашем Видео курсе «Роботы для QUIK на языке Lua»
Если же вам не хочется тратить время на обучение, то вы просто можете выбрать уже готовые роботы из тех, что представлены у нас ДЛЯ TSLab, ДЛЯ QUIK, ДЛЯ MT5, ДЛЯ КРИПТОВАЛЮТЫ!
Также можете посмотреть совершенно бесплатные наработки для МТ4, Квика, МТ5. Данный раздел также постоянно пополняется.
Не откладывайте свой шанс заработать на бирже уже сегодня!