Как определить направление тренда?

Trend Detector (Определитель тренда)

В настоящее время всё большую популярность приобретает автоматическая торговля. Автоматические системы освобождают трейдера от постоянного контроля ситуации на рынке. Кроме того, торговые роботы работают без эмоций и, зачастую, такая торговля оказывается более выгодной, чем торговля «вручную»! Я уже не первый год достаточно стабильно применяю в своей работе собственноручно написанные советники, в основном работающие «по малым целям» внутри дня на волатильных фьючерсных инструментах. Например, мой советник Дюймовочка («ночной охотник») неоднократно становился призером и даже победителем конкурса экспертов Форекс на реальных счетах, увеличив
депозит с 1500 до 3350 единиц за первые 5 месяцев с начала 2009 года! 

Существуют различные приемы и способы, позволяющие улучшить работу советников:

• использование трендовых фильтров;

• использование закономерностей движения цены конкретного торгуемого инструмента;

• применение приемов, описанных в трудах классиков трейдинга…

Да всего и не перечислить. В данной статье я предлагаю к применению так называемый «определитель тренда», написанный на MQL4 и предназначенный для работы в экспертах торговой платформы МТ4. Для демонстрации возможностей «Trend Detector’а» возьмем обычный советник на скользящих средних (Moving Averages). Тестирование я провожу по ценам открытия, потому что советник доработан именно для этой модели.

А идея вот в чем: Вызываем в советнике встроенные в МТ4 индикаторы BullsPower (сила быков ) и BearsPower (сила медведей) и сравниваем их между собой. Но просто так, на каждом баре сравнивать их – дело, скорее всего, бесперспективное. Программно это делать не совсем удобно и некорректно. Поэтому, вешаем на них индикатор Moving Average (Скользящую среднюю) в режиме iMAOnArray (см. рис. ниже) и сравниваем именно показания Moving Average (MA) на нулевых барах BullsPower и BearsPower! Просто складываем эти значения, а сумму заявляем, как Delta. Далее всё просто. Если Delta > 0 – предполагаем наличие UP-тренда. Если Delta < 0 — предполагаем Down-тренд!
Программно, в самом простейшем виде, это будет выглядеть так: во внешние параметры любого эксперта вставляем:
//————————————————————
extern string ______TD_______ = «Параметры Тренд-детектора»;
extern int PeriodPower =13;
extern int Period_Bulls =15;
extern int Period_Bears =15;
//————————————————————
Где:
PeriodPower — период индикаторов BullsPower и BearsPower;
Period_Bulls — период индикатора MA на BullsPower;
Period_Bears — период индикатора MA на BearsPower.
А вот и сам код тренд-детектора:
// ============== Определитель тренда ==============
double Bears_array[30]; int cx=0; while (cx<30) // задаем массив значений
{Bears_array[cx]= iBearsPower(NULL, 0, PeriodPower,PRICE_CLOSE,cx); cx++; }
ArraySetAsSeries(Bears_array,true); //вешаем МА на iBearsPower
double MA_Bears =iMAOnArray(Bears_array,0,Period_Bears,1,MODE_SMMA,0);
double Bulls_array[30]; int lx=0; while (lx<30) //задаем массив значений
{Bulls_array[lx]= iBullsPower(NULL, 0, PeriodPower,PRICE_CLOSE,lx); lx++; }
ArraySetAsSeries(Bulls_array,true); //вешаем МА на iBullsPower
double MA_Bulls =iMAOnArray(Bulls_array,0,Period_Bulls,1,MODE_SMMA,0);
double Delta = MA_Bears + MA_Bulls; //- вычисляем Дельту
//=========================

Понравилась статья? Поделиться с друзьями:
Добавить комментарий
Войти с помощью: 

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: