Скачать MetaTrader 5

Как сделать советника с функцией определение тренда за N баров

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Sergey Novikov
173
Sergey Novikov 2016.02.23 12:18 
Как сделать советника с функцией определение тренда за N баров. Идея простая.
Используем индикатор ADX и ищем, что за N баров, сигнальная +DI > -ID и как только сигнальная станет +DI < -ID то открываемся на Sell, а
если за N баров, сигнальная +DI < -ID и ждём когда станет +DI > -ID и открываемся на Bay. Все перелопатил не получается сделать такую функцию может кто подскажет.
Vasyl Nosal
18634
Vasyl Nosal 2016.02.23 12:21  
bool adx_up=true;

 double adx_plus=EMPTY_VALUE;

  double adx_min=EMPTY_VALUE;

 

for(int i=0;i<N;i++) 

{

 adx_plus=...

adx_min=...

if(adx_plus<adx_min)

{

adx_up=false; 

break; 

} 

} 
Sergey Novikov
173
Sergey Novikov 2016.02.24 11:03  
Vasyl Nosal:
А если использовать другой индикатор? как будет выглядеть функция
o_o
Модератор
23860
o_o 2016.02.24 11:38  
Sergey Novikov:
А если использовать другой индикатор? как будет выглядеть функция

как то так:

bool другой_индикатор_up=true;

 double другой_индикатор_plus=EMPTY_VALUE;

  double другой_индикатор_min=EMPTY_VALUE;

 

for(int i=0;i<N;i++) 

{

 другой_индикатор_plus=...

другой_индикатор_min=...

if(другой_индикатор_plus<другой_индикатор_min)

{

другой_индикатор_up=false; 

break; 

} 

} 
Sergey Novikov
173
Sergey Novikov 2016.02.24 12:26  
o_O:

как то так:

  Правильно ли я делаю? у меня выдает ошибку

  bool trend_buy() {
 
  bool adx_up=true;

  double adx_plus=EMPTY_VALUE;

  double adx_minus=EMPTY_VALUE;

 

for(int i=0;i<80;i++) 

{

adx_plus=iADX(Symbol(), TrendTf, 14, PRICE_CLOSE, MODE_PLUSDI, i);

adx_minus=iADX(Symbol(), TrendTf, 14, PRICE_CLOSE, MODE_MINUSDI, i);

if(adx_plus<adx_minus)

{

adx_up=false; 

break; 


}
Sergey Novikov
173
Sergey Novikov 2016.02.24 12:29  
o_O:

как то так:

Посмотрите правильно ли я сделал?
khorosh
8240
khorosh 2016.02.24 18:51  
Sergey Novikov:
Посмотрите правильно ли я сделал?

Перед последней скобкой поставьте return(adx_up);

И не забудьте объявить переменную TrendTf.

Sergey Novikov
173
Sergey Novikov 2016.02.25 15:10  
А как сделать с одним индикатором у которого только одна линия и один буфер?
Sergey Novikov
173
Sergey Novikov 2016.03.01 14:33  
Sergey Novikov:
Посмотрите правильно ли я сделал?
А как сделать с одним индикатором у которого только одна линия и один буфер?
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий