Индикатор CalmBeforeTheStorm

Советник CalmBeforeTheStorm

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

 

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

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

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

 

Период раскачки (подготовка тренда)

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

Рис. 1. Участки повышенной волатильности.

 

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

 

Период затишья

Выявив участок повышенной волатильности, можно приступать к определению границ канала будущего затишья. Продолжительность этого периода спрогнозировать трудно, но можно заранее описать событие, которое ознаменует окончание затишья. Таким событием будет момент пробоя той границы канала, которая соответствует направлению ожидаемого тренда. Направление ожидаемого тренда должно совпадать с направлением движения цены в период раскачки. Его, в свою очередь, определим по наклону канала линейной регрессии: нисходящий канал - нисходящий тренд, восходящий канал - восходящий тренд (см. рис. 2).

Рис. 2 Направление тренда периода раскачки.

 

Определить границы будущего периода затишья можно двумя способами. Первый способ - тривиальный: максимум и минимум цен периода раскачки (см. рис. 3).

Рис. 3. Границы периода затишья определены по экстремумам цен.

 

Второй способ более продвинутый: использование границ канала линейной регрессии (см. рис. 4).

Рис. 4. Границы периода затишья определены по экстремумам канала регрессии.

 

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

Рис. 5. Пробой канала - сигнал открытия позиции.

 

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

 

Результат работы индикатора

Итог работы индикатора - это отображение границ канала раскачки и сигналов начала тренда. Оранжевая граница - это уровень для размещения Stop Loss. Уровень играет роль нижней границы канала, если ожидается восходящий тренд, и верхней границы канала, если ожидается нисходящий тренд. 

Линией синего цвета отображается верхняя граница канала в период ожидания восходящего движения цены. Пробой этой границы является сигналом открытия длинной позиции. Сигнал отображается стрелкой, направленной вверх. Линией красного цвета отображается нижняя граница канала в период ожидания нисходящего тренда. В момент пробоя нижней границы появляется стрелка, направленная вниз, что служит сигналом открытия короткой позиции (см. рис. 6).

Рис. 6. Внешний вид индикатора CalmBeforeTheStorm.

 

Параметры индикатора

Индикатор располагает четырьмя параметрами (см. рис. 7).

Рис. 7. Настроечные параметры индикатора.

 

Первый параметр указывает период расчета средней волатильности индикатором ATR.

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

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

 

Советник CalmBeforeTheStorm

На рис. 6 была графически описана модель торговой стратегии, которую можно создать на основе показаний индикатора CalmBeforeTheStorm. Поэтому реализация автоматической торговой системы (советника) действительно является "делом техники".

Советник CalmBeforeTheStorm для своей работы требует наличия в папке терминала MQL4\Indicators одноименного индикатора. В момент появления стрелок покупки или продажи советником производится открытие соответствующей сделки. Уровень Stop Loss позиции устанавливается на некотором расстоянии от стоповой границы канала. Это расстояние определяется значением параметра "Отступ для SL в средних волатильностях", умноженным на величину текущей средней волатильности. Уровень Take Profit советник не устанавливает. Закрытие сделок происходит либо по Stop Loss, либо по возникновению противоположного сигнала.

 

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

В качестве диапазона тестирования был выбран исторический период 01.01.2011 - 05.07.2014. Результаты тестирования эксперта с подбором оптимальных значений настроечных параметров для каждого символа показаны на рис. 8 - 11. Подробные статистические показатели можно посмотреть в архиве Развернутые результаты тестирования.

EURUSD.  Чистая прибыль  343 доллара, максимальная просадка 1 404 доллара. Фактор восстановления ниже единицы.

 

        Рис. 8. Результаты тестирования эксперта CalmBeforeTheStorm на валютной паре EURUSD.

 

USDCHF. Чистая прибыль 1 599 долларов, максимальная просадка 1 553 доллара. Фактор восстановления 1.03.

Рис. 9. Результаты тестирования эксперта CalmBeforeTheStorm на валютной паре USDCHF.

 

GBPUSD. Чистая прибыль 2 780 долларов, максимальная просадка 994 доллара. Фактор восстановления 2.80.

Рис. 10. Результаты тестирования эксперта CalmBeforeTheStorm на валютной паре GBPUSD.

 

USDJPY. Чистая прибыль 1 068 долларов, максимальная просадка 1 487 долларов. Фактор восстановления ниже единицы. 

Рис. 11. Результаты тестирования эксперта CalmBeforeTheStorm на валютной паре USDJPY.

 

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

Игорь Герасько

Июль 2014