Индикатор MainLevels

Индикатор CaudateCandle

Советник MainLevels_Expert

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

 

     С точки зрения простого обывателя, профессия трейдера необычайно легка - знай, нажимай себе кнопки "Купить" или "Продать". Когда такой обыватель только вливается в ряды трейдеров, то он, вроде бы, получает этому подтверждение. Действительно, это же так легко - угадать, куда пойдет цена. Ведь даже по теории вероятности, успешность каждой отдельной взятой сделки равна 50%. Это намного больше, чем вероятность выигрыша в лотерею.

      Фокус в том, что из круга подобных размышлений как-то ускользает один факт: в лотерее нужно совершить всего одну сделку, получив при этом миллион, а в реальной торговле для получения миллиона придется совершить намного большее количество сделок. Если оценивать не каждую сделку в отдельности, а всю совокупность торгового процесса на пути к миллиону, то необходимо перемножить вероятности всех совершенных сделок. Пусть вероятность каждой сделки 50% (хотя в реальности, из-за наличия спреда, она немного ниже). Тогда вероятность успешности двух сделок равна 0.5х0.5 = 0.25 = 25%. Третья сделка снова ополовинивает вероятность успеха и т.д. Если при каждой успешной сделке планируется зарабатывать одну тысячу, то на пути заработка миллиона, необходимо совершить 1000 сделок. А это приводит нас к совокупной вероятности достижения цели 0.51000.

Так что мы говорили о низкой вероятности выигрыша в лотерею?

       На самом деле, все не так печально. Ведь вышеприведенные рассуждения справедливы только для торговли, основанной на методе подбрасывания монетки: орел - покупка, решка - продажа. Разумный трейдер станет задумываться о том, как повысить вероятность успешности отдельно взятой сделки с тем, чтобы  совокупная вероятность успеха всегда оставалась выше 50%. Хотя и это, с математической точки зрения, невозможно, т.к. для бесконечно большого количества сделок, вероятность успеха каждой из которых ниже 100%, совокупная вероятность будет стремиться к нулю. Другое дело, что человек и бесконечность - различные категории.

Для поднятия вероятности успешности отдельно взятой сделки, попробуем делать так, как советуют нам три прописные истины трейдинга:

  1. Торгуй по тренду. Тренд - твой друг.
  2. Покупай дешевле, продавай дороже.
  3. Дай прибыли вырасти, режь убытки.

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

 

Торгуй по тренду. Тренд - твой друг

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

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

 

Покупай дешевле, продавай дороже

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

 

Дай прибыли вырасти, режь убытки

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

 

Что мы имеем в итоге?

  1. С трендом шутки плохи. Если вы обладаете способностью быстрого определения, где настоящий друг, а где - нет, то этот метод для вас. Автоматическим торговым системам, использовать которые мы стремимся, это явно не дано.
  2. Выявить низкие и высокие цены на основании исторических данных можно. Дело лишь за правильной постановкой задачи, чем мы и займемся.
  3. Сделки обязательно должны иметь уровень Stop Loss для ограничения потерь, и не обязательно - Take Profit, т.к. мы не хотим ограничивать себя в прибыли. Закрытие сделки будет производиться, исходя из текущей рыночной ситуации, аналогичной ситуации открытия сделки.

 

Определяем низкие и высокие цены

       В этом праведном деле нам поможет индикатор MainLevels. Суть его проста (см. рис. 1). Это обычный горизонтальный канал с не совсем обычным способом построения. Необычность заключается в том, что канал не требует указания периода, за который происходит расчет минимума и максимума цены. Этот период - гибкий. В качестве исходной точки используется особый день - базовый день, начало которого отображается значком колокола. От начала базового дня до текущего момента производится поиск максимума и минимума цены, который мы видим в качестве линий поддержки и сопротивления.

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

 Рис. 1. Показания индикатора MainLevels.

 

       На рис. 1 средняя дневная волатильность составляет 29 пунктов, а разность между ценами открытия соседних дней - 130 пунктов. То есть этот день будет считаться базовым (130/29 = 4.48) для значений коэффициента превосходства от 0.01 до 4.48 включительно. В момент окончания следующего базового дня все предыдущие показания индикатора MainLevels теряют силу, а к исполнению принимаются уровни минимума и максимума нового базового дня, изменяясь далее в соответствии с достижением новых экстремумов.

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

 

Окончание роста или падения цены

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

       Индикатор CaudateCandle, исходя из своего названия, указывает на свечи, имеющие хвост. Хвостатой считается свеча, тело которой полностью находится в верхней (свеча с нижним хвостом) или нижней (свеча с верхним хвостом) части свечи. На рис. 2 синими точками отмечены свечи с нижним хвостом, а красными - с верхним хвостом.

Рис. 2. Хвостатые свечи.

 

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

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

 Рис. 3. Фильтрация сигналов при помощи средней скользящей.

 

Закрытие позиций

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

В рассматриваемой торговой системе уровень Stop Loss следует размещать за пределами канала, т.е. ниже линии поддержки или выше линии сопротивления. Чтобы обезопасить себя от случайных пробоев границ канала (цена лишь на пункт-два пробивает экстремум, а потом возвращается внутрь канала), следует использовать небольшой отступ от границы канала, выраженный в среднесуточной волатильности. Это будет один из настроечных параметров будущего эксперта - "Отступ для SL в среднесуточных волатильностях".

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

 

Техническое задание

Сведем описанные выше торговые правила в структурированное техническое задание.

1. Открытие рыночного ордера

1.1 Длинная позиция открывается при одновременном выполнении трех простых условий:

    1.1.1 Цена открытия позиции находится в нижней части канала индикатора MainLevels. Коэффициент умножения для индикатора указывается при помощи единственного настроечного параметра.

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

    1.1.3 Цена закрытия предыдущей свечи находится выше средней скользящей линии. Период линии указывается при помощи настроечного параметра "Период расчета среднего".

1.2 Короткая позиция открывается при одновременном выполнении трех простых условий:

    1.2.1 Цена открытия позиции находится в верхней части канала индикатора MainLevels.

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

    1.2.3 Цена закрытия предыдущей свечи находится ниже средней скользящей линии.

2. Установка стоп-приказа

         Общее положение. При установке стоп-приказа используется отступ от соответствующей линии канала. Величина отступа указывается в средних волатильностях, которые рассчитываются индикатором ATR с периодом "Период ATR" (настроечный параметр). Полученное значение умножается на значение другого настроечного параметра - "Отступ для SL в среднесуточных волатильностях".

       2.1 Стоп-приказ позиции Buy устанавливается ниже линии поддержки, образованной каналом индикатора MainLevels, на расстоянии вычисленного отступа.

       2.2 Стоп-приказ позиции Sell устанавливается выше линии поддержки, образованной каналом индикатора MainLevels, на расстоянии вычисленного отступаи спреда.

3. Установка уровня профита

Не предусмотрена.

4. Принудительное закрытие позиции

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

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

 

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

       На основании описанных торговых правил был разработан советник MainLevels_Expert. Эксперт облегчит задачу тестирования торговой системы и подбора наиболее оптимальных параметров для каждой отдельно взятой валютной пары. Приведем результаты решения этой задачи для четырех валютных пар: EURUSD, USDCHF, GBPUSD и USDJPY.

       В качестве диапазона тестирования был выбран исторический период 10.01.2009 - 14.06.2014. Результаты тестирования эксперта с подбором оптимальных значений настроечных параметров для каждого символа показаны на рис. 4-7. Подробные статистические показатели можно посмотреть в архиве Развернутые результаты тестирования.

EURUSD.  Чистая прибыль  3 305 долларов, максимальная просадка 1566 долларов. Фактор восстановления 2.11.

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

 

USDCHF. Чистая прибыль 1386 долларов, максимальная просадка 2 117 долларов. Фактор восстановления ниже единицы.

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

 

GBPUSD. Чистая прибыль 92 доллара, максимальная просадка 2 817 долларов. Фактор восстановления ниже единицы.

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

 

USDJPY. Чистая прибыль 2 706 долларов, максимальная просадка 1 921 доллар. Фактор восстановления 1.41.

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

 

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

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

Июнь 2014