Здравствуйте,помогите разобраца с iCustom

 

 вкратце:хочу наладить советник(который только удачно закрывает позиции) так,штобы он входил в рынок по сигналам индикатора(показывает стрелками на куплю-продажу).

применяя iСustom я использовал только 2 массива из индикатора(val_1 - стрелка на продажу и val_2 - стрелка на покупку).помогите мне составить условие на покупку и продажу.Вот часть индикатора:

// Условие сигнала на покупку
 if ((High[shift] >= LHigh && Close[shift] > Median && Close[shift] > HAOpen && High[shift] > HAOpen && WPR_Filter >=HLine && Flag<0)|| 
  (Close[shift] >= val3[shift+1] && High[shift] > LHigh && Flag<0))  
  //|| (Median > HAClose && Median > (HAClose-HAOpen)/2 && HAClose < HAOpen && WPR_Filter >= -50 && Flag <0)) //||
 
  {
  val2[shift]= MathMin(Close[shift],(LLow+2*ATR));
  if (Risk != 0 && val2[shift]-LLow > Risk*Point) val2[shift]=LLow+Risk*10*Point; //Q=Q/2;
  if (Close[shift] < LLow + Risk*10*Point) val2[shift]= Close[shift];
  Flag=1;
  }  
  if (Flag>0) {val3[shift]=LLow-(Ask-Bid)*2; val4[shift]=LHigh+(Ask-Bid)*3;} // Уровень постановки Трейлинг Стопа
  val5[shift]=val2[shift]+(val2[shift]-val3[shift])*Q;  


  // Условие сигнала на продажу
  if ((Low[shift] <= LLow && Close[shift] < Median && Close[shift] < HAOpen && Low[shift] < HAOpen && WPR_Filter <=LLine && Flag>0) || 
  (Close[shift] <= val3[shift+1] && Low[shift] < LLow && Flag>0)) 
  // ||(Median < HAClose && Median > (HAOpen-HAClose)/2 && HAClose > HAOpen && WPR_Filter <= -50 && Flag >0)) // || 

  {
  val1[shift]= MathMax(Close[shift],(LHigh-2*ATR));
  if (Risk != 0 && LHigh-val1[shift] > Risk*Point) val1[shift]=LHigh-Risk*10*Point; //Q=Q/2;
  if (Close[shift] > LHigh - Risk*10*Point) val1[shift]= Close[shift];
  Flag=-1;
 }
  if (Flag<0) {val3[shift]=LHigh+(Ask-Bid)*3; val4[shift]=LLow-(Ask-Bid)*2;} // Уровень постановки Трейлинг Стопа
  val6[shift]=val1[shift]-(val3[shift]-val1[shift])*Q+(Ask-Bid);
)

return(0);
}
а вот часть программы советника.вместо знака "?" нужно условие:

int C=1500;
int P=P;
int PMA=PMA;
int R=Risk;
int A=ATR_P;
double Q=Q;
int Per=Period_WPR;
int H=HLine;
int L=LLine;
//+------------------------------------------------------------------+
double V_1=iCustom(NULL, 0, "HLCrossSig for WPR", C, P, PMA, R, A, Q, Per, H, L, 0, 0);
double V_2=iCustom(NULL, 0, "HLCrossSig for WPR", C, P, PMA, R, A, Q, Per, H, L, 1, 0);
//+------------------------------------------------------------------+
if (?????????????)
{
Opn_B=true;
Cls_S=true;}
if (?????????????)
{
Opn_S=true;
Cls_B=true;}

помогите плиз!!!!буду оч благодарен!

 

если стрелки на графике то iCustom должон показать цену стрелки которая появилась, иначе либо 0 либо пустое значение!

отслеживать стрелки нужно в цикле!

 
vvavva >>:

если стрелки на графике то iCustom должон показать цену стрелки которая появилась, иначе либо 0 либо пустое значение!

отслеживать стрелки нужно в цикле!

я не оч понял(новичок,правда кое што изучал в кодах разбирался).то есть в условии должно стоять выражения из V_1=зависимость с ценой и V_2=зависимость с ценой.

 
vvavva >>:

если стрелки на графике то iCustom должон показать цену стрелки которая появилась, иначе либо 0 либо пустое значение!

отслеживать стрелки нужно в цикле!

понятно только одно,што если Flag=1,то это сигнал на покупку(стрелка вверх),а если Flag=-1,то это сигнал на продажу(стрелка вниз).канешно проще было бы использовать только эту переменную ФЛАГ,но я не знаю,можно ли её использовать в iCustom,ведь это не массив!

помогите пожалуста!!!!!

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