Ответить
11.03.2011, 14:13
Аватар для Костян555
Костян555 Костян555 вне форума Активный участник
Регистрация: 02.02.2011 / Сообщений: 81
Поблагодарили 46 раз(а) / Репутация: 47

По умолчанию TRENd dETEcTOR (определитель тренда)

В данной статье предлагаеться к применению так называемый «определитель тренда», написанный на MQL4 и предназначенный для работы в экспертах торговой платформы МТ4.
А идея вот в чем: Вызываем в советнике встроенные в МТ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; //- вычисляем Дельту
//================================================== =======================
11.03.2011, 14:28
Аватар для Костян555
Костян555 Костян555 вне форума Активный участник
Регистрация: 02.02.2011 / Сообщений: 81
Поблагодарили 46 раз(а) / Репутация: 47
На представленном далее графике хорошо видно, что при преобладании Down-тренда Delta у нас будет меньше нуля:
Нажмите на изображение для увеличения
Название: Безымянный.jpg
Просмотров: 197
Размер:	125.6 Кб
ID:	32520

Последний раз редактировалось Костян555; 11.03.2011 в 14:30.
11.03.2011, 14:31
Аватар для Костян555
Костян555 Костян555 вне форума Активный участник
Регистрация: 02.02.2011 / Сообщений: 81
Поблагодарили 46 раз(а) / Репутация: 47
При этом нужно учесть, что описываемая конструкция не столько увеличивает саму прибыль, сколько уменьшает число сделок против тренда (в основном убыточных), и потому увеличивает параметр
«прибыльность» (профит-фактор) эксперта зачастую не менее, чем до двух! А это означает, что вне периода оптимизации советника мы с гораздо большей вероятностью получим прибыль.Можно также вынести во внешние параметры советника величину Delta и оптимизировать её отдельно для длинных и для коротких сделок в пределах, например, от «-0.05» до «+0.05».Вот типичный пример работы советника с тренд-детектором. На графике обозначился UP-тренд и советник в основном работает только в BUY (синие стрелки – входы BUY, красные стрелки – входы SELL), а при развороте цены вниз (правая часть графика) советник встает в SELL .
Нажмите на изображение для увеличения
Название: Безымянный п.jpg
Просмотров: 104
Размер:	105.0 Кб
ID:	32525
ПРОШУ КТО УМЕЕТ НАПИСАТЬ ИНДИКАТОР ПО ОПИСАНОЙ ИДЕИ!!!!
16.04.2011, 15:46
Аватар для Kalev
Kalev Kalev вне форума Новичок форума
Регистрация: 18.11.2009 / Сообщений: 6
Поблагодарили 5 раз(а) / Репутация: 4
Идея плохая.
Из представленного Вами графика хорошо видно, что Дельта слишком запаздывает. Даже две МАшки при всей их медлительности справятся с поставленной задачей лучше.
Ответить


Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Выкл.
Pingbacks are Выкл.
Refbacks are Выкл.



Текущее время: 10:48. Часовой пояс GMT.


Перевод: zCarot
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
SEO by vBSEO