[ВНИМАНИЕ, ТЕМА ЗАКРЫТА!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда. - страница 45

 
xruss писал(а) >>

To xrust:

))

а если я не использую magic number - что вместо него написать?

или == 0, или уберите эту строку нафиг

 

1, что такое советник ?

2, как им пользоваться,

3, он что реально сам торгует ? елм да то как им пользоваться,

4, Если его запускать через тестр стратегий, как разшифровать то что там выдается (график.... и т д.) и как использовать в торговли.


Ответьте пожалуйста на эти 4 вопроса =(

 

Здравствуйте!


Помогите пожалуйста советом или решением. Пытаюсь чтоб советник при "поглощении" предыдущим баром ПРЕДпредыдущий выдавал сигнал.

1 - если поглощение произошло вверх
2 - если поглощение произошло вниз.

Вроде все до нельзя элементарно, сравниваем цены открытия и закрытия и вуаля...так НЕТ ЖЕ. Сигналы выдает как попало.Хотя при наведении мыши на предыдущие 2 бара явно видно что последний поглощает предпоследний.

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


Вот текст:

int start()
{
//----
if (SShort()==1)
Alert("1");
}
if (SLong()==1)
Alert("2");
}
//----
return(0);
}
//+------------------------------------------------------------------+
int SShort()
{int MS=0;
if (Open[1]>Close[2] && Close[1]<Open[2] && Open[1]>Close[1] && Open[2]<Close[2])
MS=1;
return(MS);
}
//+------------------------------------------------------------------+
int SLong()
{
int ML=0;
if(Open[1]<Close[2] && Close[1]>Open[2] && Open[1]<Close[1] && Open[2]>Close[2])
ML=1;
return(ML);
}

//+------------------------------------------------------------------+


На картинке принцип определения поглощения. Заранее благодарен.

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

 
if (Open[1]>Close[2] && Close[1]<Open[2] && Open[1]>Close[1] && Open[2]<Close[2])

замени на

if (Open[1]>Close[2] && Close[1]<Open[2] && Open[1]<Close[1] && Open[2]>Close[2])
ну и во втором случае тоже
 
DrShumiloff >>:

Прошу простить покорнейше, но совершенно непонятно что имелось ввиду под этой стркой....??????????

 
У тебя объявлена одна переменная, а потом пытается использовать другую.
 
xrust >>:

или == 0, или уберите эту строку нафиг

еще один вопрос - помогите плиз)

как определить после выделения ордера истории его тип (был ли закрыт ордер Buy или Sell)?

 

Здравствуйте!

Подскажите новичку. Как прописать в советнике линию индикатора, не положение относительно другой линии < & >, а её движение вверх или вниз. Я понимаю что одна переменная должна показывать подбъем, а другая отвечает за падение.Пользуюсь учебником, недогоняю,голова уже квадратнаяю.

Заранее благодарен.

 
564947 >>:

Здравствуйте!

Подскажите новичку. Как прописать в советнике линию индикатора, не положение относительно другой линии < & >, а её движение вверх или вниз. Я понимаю что одна переменная должна показывать подбъем, а другая отвечает за падение.Пользуюсь учебником, недогоняю,голова уже квадратнаяю.

Как вариант ;)

Пишете функцию, которая определяет, вверх или вниз идет линия, и в зависимости от этого возвращает +1 или -1.

Вызываете эту функцию в советнике и получаете нужный ответ.

//+----------------------------------------------------------------------------+
//|  Функция определения тренда                                                |
//|  Параметры:                                                                |
//|    line0   - значение линии на нулевом (расчетном) баре                    |
//|    line1   - значение линии на первом  (предыдущем) баре                   |
//|  Возвращаемое значение                                                     |
//|  +1       - линия идет вверх,   тренд положительный                        | 
//|  -1       - линия идет вниз,    тренд отрицательный                        | 
//|   0       - линия горизонтальна,тренд нулевой                              | 
//+----------------------------------------------------------------------------+
int GetTrend(double line0, double line1) {
  int res=0;
  
  if (line0>line1)
      res=1;
  if (line0<line1)
      res=-1; 
 
  return(res);   
}

int start() {

//---на примере МА  
//---получение значение линии МА на нулевом и первои баре  
  double ma0=iMA(NULL,0,MAperiod,0,MODE_EMA,PRICE_CLOSE,0);
  double ma1=iMA(NULL,0,MAperiod,0,MODE_EMA,PRICE_CLOSE,1); 
//---расчет тренда
  if(GetTrend(ma0,ma1)>0)
      Comment("  Линия идет вверх, тренд положительный!");
  if(GetTrend(ma0,ma1)<0)
      Comment("  Линия идет вниз, тренд отрицательный!");    
   
  return(0) 
}
 
granit77 писал(а) >>

Как вариант: :))

Пишете функцию, которая определяет, вверх или вниз идет линия, и в зависимости от этого возвращает +1 или -1.

Вызываете эту функцию в советнике и получаете нужный ответ.

Спасибо!

А можно ли линии задать имя. Индикатор "ADX", Линия ADX -(ADXZ -положительная, ADXz-отрицательная) Линия+DI-(pDIR-положительная, pDIr-отрицательная), Линия -DI (mDIB-положительная,mDIb- отрицательная) т.е. по две переменные на линию, уже для последующего месторасположения. К примеру( ADXz && pDIR >mDIb)

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