Советник Divergence

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

 

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

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

 

Правила открытия сделок

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

Рис. 1. Открытие сделок экспертом.

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

Рис. 2. Регистрация дивергенции по линии базового индикатора.

 

Установка уровня Stop Loss

Расположение цены Stop Loss сделки производится на основании наиболее отдаленного от текущей цены экстремума, которого достигла цена за период формирования дивергенции, т. е. на интервале от последней сформированной свечи до свечи первой опорной точки из двух линий дивергенции. К полученной цене добавляется (для коротких сделок) или вычитается (для длинных сделок) количество пунктов, указанное в параметре "Отступ для Stop Loss, пп." (см. рис. 3).

Рис. 3. Установка цены Stop Loss.

Для коротких сделок, помимо добавления отступа, безусловно добавляется текущая величина спреда, т. к. такой тип сделок имеет цену закрытия Ask, а не Bid.

Значение параметра "Отступ для Stop Loss, пп." указывается в классических пунктах. К примеру, при торговле на счете с повышенной точностью представления котировки (котировка EURUSD с 5-ю знаками после запятой) значение 10 пп. будет рассматриваться советником как 100 пятизначных пунктов. Естественно, если при этом параметр "Использовать 5-изначные котировки" (см. ниже) содержит значение "Да".

 

Установка уровня Take Profit

Как уже говорилось выше, в советнике отсутствует блок сопровождения сделки с целью поиска оптимальной точки закрытия сделки. Он заменен расчетом цены Take Profit на основании исходного размера Stop Loss. Так, сначала рассчитывается количество пунктов между ценой открытия сделки и ее Stop Loss, полученная величина умножается на значение настроечного параметра "Отношение размера TP к SL", а итог добавляется (для длинных сделок) или вычитается (для коротких сделок) из цены открытия сделки (см. рис. 4).

 

Рис. 4. Установка уровня Take Profit.

На рис. 4 приведен пример расположения уровня Take Profit для длинной и короткой сделок при значении параметра "Отношение размера TP к SL", равного 1.4.

 

Принудительное закрытие сделки

Кроме закрытия сделки по достижению уровня Stop Loss или Take Profit, советник может закрыть текущую сделку принудительно, если получен сигнал открытия противоположной сделки. Для тех случаев, когда новый сигнал открытия совпадает с типом уже существующей сделки, каких-либо действий эксперта не предусмотрено.

 

Другие настроечные параметры советника

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

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

Параметр "Количество баров на старте", в основном, необходим при тестировании советника. Здесь необходимо указать минимальное количество баров, которое должно присутствовать в истории для корректного расчета показаний базового индикатора. К примеру, для расчета показаний индикатора William Blau с параметрами 8000, 1, 1 потребуется наличие на графике 8000 баров. Если указать меньшее значение в параметре "Количество баров на старте", то советник будет находить дивергенции там, где их в реальности нет. Правильная настройка этого параметра отсрочит начало работы советника до тех пор, пока график не будет располагать указанным количеством баров.

Параметр "Использовать 5-изначные котировки" используется для указания советнику точности котировок, предоставляемых брокером. Для классической точности котировок (к примеру, в котировке EURUSD после запятой 4 знака) параметр должен быть равен "Нет". Для повышенных типов точности (котировка EURUSD имеет после запятой 5 знаков) параметр должен содержать значение "Да".

Параметр "Использовать ECN" помогает советнику распознать тип используемых брокером условий торговли. Для счетов STP и ECN здесь необходимо поставить "Да". В противном случае следует выбрать значение "Нет".

 

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

Для того чтобы показать, как мог бы торговать советник ранее, была проведена оптимизация значений настроечных параметров советника применительно к символам EURUSD, USDCHF, GBPUSD и USDJPY на периоде истории 01.01.2009 - 01.11.2015. Использовалась история котировок компании MTraiding таймфрейма Н1.

 

Рис. 5. Результаты для EURUSD.

 

 

Рис. 6. Результаты для USDCHF.

 

 

Рис. 7. Результаты для GBPUSD.

 

 

Рис. 8. Результаты для USDJPY.

 

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