Язык программирования MQL5: Продвинутое использование торговой платформы MetaTrader 5. Издание 2-е, исправленное и дополненное - Тимур Машнин
Шрифт:
Интервал:
Если на обоих отрезках эффективность торгового робота одинаково высока, значит, торговая система обладает наилучшими параметрами и подгонка параметров практически исключена.
Форвард 1/4 — используется четверть указанного периода для форвард-тестирования.
Режим произвольных задержек исполнения эмулирует сетевые задержки при передаче и обработке торговых запросов, а также моделирует задержки исполнения приказов дилерами при реальной торговле.
Важной функцией Тестера стратегий является оптимизация торгового робота, которая позволяет подобрать для конкретного советника лучшие входные параметры.
В процессе оптимизации происходит тестирование одного торгового робота с разными входными параметрами.
Количество комбинаций входных параметров при оптимизации может достигать десятков или сотен тысяч.
В итоге, оптимизация может превратиться в очень длительный процесс, который все же можно существенно сократить при помощи генетических алгоритмов.
Эта функция отключает последовательный перебор всех комбинаций входных параметров и выбирает только те, которые наилучшим образом отвечают критериям оптимизации.
На последующих этапах «оптимальные» комбинации скрещиваются до тех пор, пока результаты не перестанут улучшаться.
Таким образом, количество комбинаций и общее время оптимизации сокращаются в разы.
Для того чтобы оценить эффективность советника создадим индикатор, показывающий все потенциальные сделки на покупку и продажу инструмента.
Данный индикатор будет основываться на скользящей средней.
При возрастании значения скользящей средней будет рассчитываться позиция на покупку, при убывании значения скользящей средней будет идти расчет позиции на продажу.
Здесь если цена начинает расти, мы встаем в покупку, если цена падает, мы встаем в продажу, и считаем потенциальный профит, который мы бы в идеале смогли бы заработать.
Присоединим данный индикатор к советнику Сидус, рассмотренному в предыдущем примере.
В функции OnTrade советника будем показывать фактически полученный профит от сделки.
Произведем визуальное тестирование советника.
Из визуального тестирования видно, что у данного советника есть проблемы с входом и выходом из рынка, а также много пропущенных потенциальных сделок.
Управление капиталом и оценка эффективности эксперта
Управление капиталом — это способ принятия решения о том, какой частью счета следует рисковать в отдельной торговой возможности.
Типичные правила управлением капитала:
— Соотношение возможных потерь и прибылей 1:3.
— Закрывать убыточные позиции раньше, чем прибыльные.
— Избегать очень кратковременных позиций.
— Не принимать решений перед закрытием торгов.
— Общая сумма средств, вкладываемых в одну сделку, не может превышать 10 % — 15 % от общего капитала.
— Общий процент вложенных средств по всем открытым позициям не может превышать 30 %.
— Максимально допустимый риск на сделку 2–5 % от размера депозита.
— Общий максимально допустимый риск по всем открытым позициям 5–7 % от размера депозита.
И типичные стратегии управления капиталом:
— Фиксированная сумма или фиксированный процент капитала, подвергаемый риску при следующей сделке.
— Согласование выигрышей и проигрышей при торговле. По этой методике трейдеры определяют объем торговли после успешных выигрышей или проигрышей. Например, после проигранной сделки, они могут решить удвоить объем торговли после следующего сигнала к торговле, чтобы возместить убытки. В этой системе используется статистический анализ для того, чтобы установить взаимосвязь между проигрышем и выигрышем, когда проигрыши и выигрыши или чередуются, или после определенного количества проигрышей следуют выигрыши. При этом можно после выигрыша увеличивать размер открываемых позиций и уменьшать после проигрыша, или после череды проигрышей увеличивать объем позиции, ожидая скорого выигрыша, либо, наоборот, уменьшать, ожидая проигрыша.
— Пересечение кривых цены — по этой системе производится анализ торговой системы с помощью длинной и короткой скользящих средних кривых (например, 3 и 8) прибылей и убытков сделок. Если короткая скользящая средняя кривая находится над более длинной скользящей кривой, тогда торговая система дает лучшие результаты, если же короткая скользящая средняя кривая находится под длинной скользящей кривой, тогда система работает хуже и сигналы торговой системы на открытие позиций нужно пропускать. При этом для расчета кривых используются все сигналы торговой системы, а не только те, которые были фактически реализованы. Наличие выигрышных и проигрышных периодов торговой системы также определяется с помощью статистического анализа.
Optimal f и Secure f — это определение на основе тестирования торговой системы на прошлых сделках некоторой оптимальной доли начального капитала, инвестируемой в каждую сделку, с целью достижения максимальной доходности данной системы в качестве основного критерия (Optimal f) или достижения максимальной доходности с учётом ограничения предельно допустимых убытков (Secure f).
Зависимость между проигрышами и выигрышами анализируется с помощью Z-счета. И доверительный интервал при этом должен превышать 94 %.
Z-счет рассчитывается путем сравнения количества серий в наборе сделок относительно количества серий, которое можно было бы ожидать при статистической независимости результатов текущей сделки от прошедших сделок.
Z = (N* (R — 0.5) — X) / ((X* (X — N)) / ((N -1)) ^ (1/2)
Где:
N = общее количество сделок.
X = 2* (общее число прибыльных сделок) * (общее число убыточных сделок).
R = количество серий в наблюдении. Каждый раз, когда после прибыльной сделки следует убыточная сделка или наоборот считается за серию.
Положительный Z-счет означает, что в наблюдаемой истории сделок количество серий меньше, чем следовало бы ожидать при статистически независимом распределении исходов сделок.
Следовательно, есть тенденция к тому, чтобы после выигрыша следовал проигрыш, а после проигрыша — выигрыш.
Наличие положительного Z-счета означает, что после убыточной сделки можно по следующему сигналу увеличить размер открываемой позиции, это позволит покрыть убытки и увеличить общую прибыльность системы.
Отрицательный Z-счет означает, что в наблюдаемой истории сделок количество серий больше, чем следовало бы ожидать при статистически независимом распределении исходов сделок.
Следовательно, за выигрышной сделкой обычно следует другая выигрышная сделка, а за убыточной сделкой следует другая убыточная сделка.
Наличие отрицательного Z-счета означает, что можно использовать пересечение кривых доходности, при том торговая система будет работать во время прибыльной фазы и выключаться после наступления убыточной фазы.
Значение Z-счета эксперта можно посмотреть во вкладке Бэктест тестера клиентского терминала после тестирования эксперта.
В рассмотренном примере эксперта на основе торговой системы Сидуса, при значениях numberBarOpenPosition=5 и numberBarStopPosition=5, Z-счет эксперта равен 1.67 (90.51 %).
Однако на этом основании скорректировать работу эксперта достаточно проблематично, так как после выигрыша может следовать не единичный проигрыш, а серия убытков и наоборот.
Вывести последовательность выигрышей и проигрышей эксперта можно в его функции OnDeinit.
Поделиться книгой в соц сетях:
Обратите внимание, что комментарий должен быть не короче 20 символов. Покажите уважение к себе и другим пользователям!