сложности с трендовым индикатором.

 

Друзья, добрый день.


нашел в CodeBase индикатор, который называется Xma_Coloured.

Хотел бы попробовать его в советнике, но запутался с такой ситуацией:


как идентифицировать в советнике случаи, когда цвет МА становится синим или красным (по итогам закрывшегося бара, например)?


выкладываю функцию, которую использую в советнике.

Подскажите, пожалуйста, если будет возможность.


Заранее большое спасибо.


int XMA()
{
int period=8;
int porog =3;
int metod =1;
int metod2=1;
int prise =0;



double Up,Flat,Down;
Up = iCustom(NULL,0,"Xma_Coloured",period,porog,metod,metod2,prise, 2,1);
Flat = iCustom(NULL,0,"Xma_Coloured",period,porog,metod,metod2,prise, 1,1);
Down = iCustom(NULL,0,"Xma_Coloured",period,porog,metod,metod2,prise, 3,1);

//-------------------------------
if((Up!=EMPTY_VALUE)&&(Down==EMPTY_VALUE))
{
return(1);
}
//-------------------------------
if ((Down!=EMPTY_VALUE)&&(Up==EMPTY_VALUE))
{
return(2);
}
//-------------------------------
return(0);
}

Файлы:
 
Morzh09 писал(а) >>

Друзья, добрый день.

нашел в CodeBase индикатор, который называется Xma_Coloured.

Хотел бы попробовать его в советнике, но запутался с такой ситуацией:

как идентифицировать в советнике случаи, когда цвет МА становится синим или красным (по итогам закрывшегося бара, например)?

выкладываю функцию, которую использую в советнике.

Подскажите, пожалуйста, если будет возможность.

Заранее большое спасибо.

Лучше сделать функцию вместо индикатора и ей пользоваться
 
С виду вроде все правильно. Что-то не работает?
 
Vinin >>:
Лучше сделать функцию вместо индикатора и ей пользоваться

Ну, так и помоги товарищу. Заодно и я посмотрю :))

 
Vinin >>:
Лучше сделать функцию вместо индикатора и ей пользоваться


по мере сил, пытаюсь смастерить функцию.

но, принципиальная сложность - никак не могу идентифицировать изменение "цвета" МА. (на синий и на красный, например)...

 
Morzh09 писал(а) >>

по мере сил, пытаюсь смастерить функцию.

но, принципиальная сложность - никак не могу идентифицировать изменение "цвета" МА. (на синий и на красный, например)...

Лучше всего контролировать изменения нулевого буфера. Он основной, а остальные только вспомогательные.

 
Vinin >>:

Лучше всего контролировать изменения нулевого буфера. Он основной, а остальные только вспомогательные.

Большое Вам спасибо, что откликнулись.

если Вам будет не сложно, покажите это на коде, пожалуйста.

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

 
Morzh09 писал(а) >>

Большое Вам спасибо, что откликнулись.

если Вам будет не сложно, покажите это на коде, пожалуйста.

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

Посмтри этот вариант индикатора.

Цветов нету. Один буффер.

Файлы:
xma.mq4  2 kb
 
Vinin >>:

Посмтри этот вариант индикатора.

Цветов нету. Один буффер.

Ок, понял, спасибо.

но, в такой версии теряется информация о том, "какой тренд наступил": нисходящий или восходящий, так как изменение в Signal записываются по модулю...

как бы этот момент (вышли из флэта вверх или вниз) отследить?

 
Morzh09 писал(а) >>

Ок, понял, спасибо.

но, в такой версии теряется информация о том, "какой тренд наступил": нисходящий или восходящий, так как изменение в Signal записываются по модулю...

как бы этот момент (вышли из флэта вверх или вниз) отследить?

if (Signal[i]>Signal[i+1])  // Восходящий
if (Signal[i]<Signal[i+1])  // Нисходящий
if (Signal[i]==Signal[i+1]) // Флет

Примерно так.

Причина обращения: