тел.: 8 800 200 86 47|+7 (812) 336 61 11Заказать звонок
Admiral Markets UK Admiral Markets UK Choose your country

MQLabs: Простая надежная система

Индикатор EasyRealibleSystem

Советник EasyRealibleSystem (распаковать в папку experts терминала)

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

 

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

Если понимать трудности разработки всеобъемлющей автоматической торговой системы даже при участии в проекте целой группы ученых, то что уж говорить о вероятности достижения успеха в этом направлении силами одного-двух трейдеров, умеющих программировать? Тем не менее, такие рассуждения не останавливают искателей Грааля, которые, как и все люди, свято верят в собственную исключительность. Иначе говоря, искатели верят в то, что именно они входят в группу той десятой доли процента вероятности, определяющей успех разработки Грааля. Не нужно питать иллюзий. Намного полезнее направить свою энергию на получения заработка в условиях рынка Форекс несколько другим путем.

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

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

Под инструментом трейдера в данном случае понимается автоматизация некоторой торговой стратегии, к которой предъявляется два основных требования: простота и надежность. Надежность стратегии - это такое свойство торговых правил системы, которые в итоге приводят к сохранению стартового капитала или, по крайней мере, большей его части. О получении прибыли от использования такой стратегии должна позаботиться человеческая часть тандема.

 

Основа системы

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

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

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

Рис. 1. Сигналы пересечения цены и быстрой скользящей линии.

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

 

Фильтр сигналов системы

Описанная выше система получилась совсем уж простой, что делает ее уязвимой перед ложными сигналами, которые возникают во время развития затяжных трендов (см. рис. 2).

Рис. 2. Обилие ложных сигналов.

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

Устранить эту слабость системы нам поможет классический фильтр - дивергенция. Дивергенция - это расхождение в показаниях индикатора (чаще всего - осциллятора) и рыночной цены. Так дивергенцией считается падение цены при повышении показаний индикатора или рост цены при уменьшении показаний индикатора. В нашей системе таким индикатором будет избран MACD (см. рис. 3).

Рис. 3. Фильтрация ложных сигналов при помощи MACD.

На рис. 3 красными линиями показаны линии конвергенции - схождения показаний индикатора и рыночной цены. Фиолетовыми линиями показана дивергенция. Как видно, первые три сигнала после начала нисходящего тренда не подтверждаются наличием дивергенции, что позволяет легко отсеять их. Подтверждается только самый последний сигнал покупки, который, впрочем, тоже не является истинным. Тем не менее, использование такого фильтра помогает отличить ложные сигналы от истинных.

Формализация логики построения линий дивергенции следующая (см. рис. 4).

Рис. 4. Построение линий дивергенции.

1. При пересечении цены и быстрой скользящей средней линии производится поиск бара последнего пересечения быстрой и медленной средних линий.

2. На участке от последнего пересечения линий до текущего момента определяется экстремум главной линии индикатора MACD.

3. Фиксируется минимальное или максимальное значение цены (в зависимости от типа сигнала) на баре, соответствующем экстремуму MACD.

4. На участке, располагающемся правее найденного экстремума, определятся экстремум цены (в зависимости от типа сигнала).

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

 

Автоматизация нахождения сигналов

    Формализовав логику нахождения торговых сигналов стратегии, можно разработать программу, которая будет определять сигналы автоматически, избавляя трейдера от утомительных вычислений. Первой такой программой будет индикатор EasyRealibleSystem, внешний вид которого приведен на рис. 5.

Рис. 5. Показания индикатора EasyRealibleSystem.

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

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

1. i_maFastPeriod - период быстрой средней скользящей линии. Любое натуральное число.

2. i_maSlowPeriod - период медленной скользящей средней линии. Любое натуральное число, большее значения периода медленной линии.

3. i_maPrice - цена расчета средних линий. Значение от 0 (Close) до 6 (Weighted close) включительно.

4. i_maMethod - метод расчета средних линий. Значение от 0 (Simple) до 3 (Linear weighted) включительно.

5. i_maMinOffset - минимальное расстояние между двумя средними скользящими, которое воспринимается как их расхождение. Указывается в пунктах. Любое неотрицательное значение. Параметр необходим для фильтрации сплетений средних скользящих, характерных для жесткого флета.

6. i_macdFastPeriod - период быстрой средней линии, использующейся для расчета показаний MACD. Любое натуральное число.

7. i_macdSlowPeriod - период медленной средней линии, используемой для расчета MACD. Любое натуральное число, большее, чем значение i_macdFastPeriod.

8. i_macdPrice - цена расчета средних линий, составляющих MACD.

9. i_colorArrowUp - цвет стрелки сигнала покупки.

10. i_colorArrowDn - цвет стрелки сигнала продажи.

11. i_colorLineUp - цвет линии дивергенции, соответствующей сигналу покупки.

12. i_colorLineDn - цвет линии дивергенции, соответствующей сигналу продажи.

13. i_indBarsCount - количество баров, на которых отображаются значения индикатора. Любое неотрицательное значение. При значении 0 индикатор отображается на всей доступной истории.

 

Торговля на основании сигналов системы

Сигналы рассмотренного индикатора нельзя назвать двусмысленными. Поэтому в момент получения очередного сигнала у трейдера есть, как минимум, направление будущей сделки. Для совершения полноценной торговой сделки этого недостаточно. Необходимо определить уровень, на котором будет расположен Stop Loss. В нашем случае сделать это достаточно просто. Такой уровень нам подсказывает индикатор EasyRealibleSystem. Это уровень ближайшей точки, через которую проведена линия дивергенции на графике цены (см. рис. 6).

Рис. 6. Уровни Stop Loss сделок.

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

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

 

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

Проверку работоспособности стратегии проведем при помощи тестирования эксперта EasyRealibleSystem_Expert, выполняющего торговые правила, описанные выше. Эксперт обладает теми же настроечными параметрами, которые используются у индикатора EasyRealibleSystem. К ним добавлено три параметра, определяющих уровень размещения Stop Loss сделок:

1. i_offsetInPoints - использование отступа от экстремума в пунктах (true) или в средних волатильностях (false).

2. i_offsetValue - значение отступа.

3. i_atrPeriod - период расчета средней волатильности, на который умножается значение параметра i_offsetValue, если используется отступ в средних волатильностях.

Тестирование советника проведено на исторических данных с 01.01.2010 до 06.04.2013. Использовался таймфрейм H1. От одного финансового инструмента к другому подбирались оптимальные значения следующих настроечных параметров: i_maFastPeriod, i_maSlowPeriod, i_macdFastPeriod, i_macdSlowPeriod. Результаты приведены на рис. 7 - 10.

EURUSD. Значения настроечных параметров: i_maFastPeriod = 15, i_maSlowPeriod = 49, i_macdFastPeriod = 12, i_macdSlowPeriod = 26. Получена итоговая чистая прибыль 3 545 долларов при максимальной просадке 1 331 доллар. Фактор восстановления 2.66.

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

 

USDCHF. Значения настроечных параметров: i_maFastPeriod = 39, i_maSlowPeriod = 41, i_macdFastPeriod = 5, i_macdSlowPeriod = 40. Получена итоговая чистая прибыль 1 904 доллара при максимальной просадке 1 430 долларов. Фактор восстановления 1.33.

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

 

GBPUSD. Значения настроечных параметров: i_maFastPeriod = 17, i_maSlowPeriod = 86, i_macdFastPeriod = 13, i_macdSlowPeriod = 27. Получена итоговая чистая прибыль 2 976 долларов при максимальной просадке 1 578 долларов. Фактор восстановления 1.89.

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

 

USDJPY. Значения настроечных параметров: i_maFastPeriod = 25, i_maSlowPeriod = 48, i_macdFastPeriod = 35, i_macdSlowPeriod = 38. Получена итоговая чистая прибыль 2 402 доллара при максимальной просадке 960 долларов. Фактор восстановления 2.50.

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

 

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

 

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

 

 

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

Апрель 2013

Специально для компании Admiral Markets

2.333335
 
 
X
Loading