Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 1528

 
MakarFX:

у первого индикатора при отсутствии сигнала значение EMPTY_VALUE

надо сделать так

А не проще написать != EMPTY_VALUE зачем такое извращение?
 
Alexey Viktorov:
А не проще написать != EMPTY_VALUE зачем такое извращение?
А если функция вернёт ноль?
 
Artyom Trishkin:
А если функция вернёт ноль?

Какая функция? Там значения буферов индикатора просматривают. Если бы было поставлено не отображаемое значение 0.0 тогда проверять на > 0.0

 
Alexey Viktorov:

Не надо пользоваться стопами. Вместо стопов надо ставить отложенные ордера противоположного направления.

Точно :) Спасибо за идею
 
Alexey Viktorov:

Какая функция? Там значения буферов индикатора просматривают. Если бы было поставлено не отображаемое значение 0.0 тогда проверять на > 0.0


iCustom() что при ошибке возвращает?
 
панель
void OnTick()
  {
  

    int ns=0,nb=0;
    int nss[100],nbb[100];
    double BuyLIVEL[1000], SellLIVEL[1000];
    
   double prise;
if(NewBar_M1()==true){   
for(int i=10000; i>0; i--){
  
  
double zig_s=iCustom(NULL,0,"ZigZag",Depth,Deviation,Backstep,1,i);  
double zig_b=iCustom(NULL,0,"ZigZag",Depth,Deviation,Backstep,2,i);   
         
if(zig_s>0.0){ns++; nss[ns]=ns; SellLIVEL[ns]=zig_s; comments(Time[i],zig_s+170*Point,ns);}
if(zig_b>0.0){nb++; nbb[nb]=nb; BuyLIVEL[nb]=zig_b; commentb(Time[i],zig_b-70*Point,nb);}


string rez;
 for(int b=0; b<nss[ns]; b++){
    rez+="ns "+nss[b]+" sel urovni  "+SellLIVEL[b]+"\n";
Comment(rez);
}

  }}
   
  }
//+------------------------------------------------------------------+
void comments(datetime y2,double y3,string y4){
   string name="1";
   ObjectDelete(name);
   bool obcrt= ObjectCreate(0,name+(string)y4, OBJ_TEXT, 0, y2,y3);
    ObjectSetInteger(0,name+(string)y4,OBJPROP_COLOR,clrBlack);
    ObjectSetString(0,name+(string)y4,OBJPROP_TEXT,y4); 
    ObjectSetString(0,name+(string)y4,OBJPROP_FONT,"Arial"); 
    ObjectSetInteger(0,name+(string)y4,OBJPROP_FONTSIZE,12); 
      }
//жжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжж|
void commentb(datetime y2,double y3,string y4){
   string nama="2";
   ObjectDelete(nama);
   bool obcrt= ObjectCreate(0,nama+(string)y4, OBJ_TEXT, 0, y2,y3);
    ObjectSetInteger(0,nama+(string)y4,OBJPROP_COLOR,clrBlack);
    ObjectSetString(0,nama+(string)y4,OBJPROP_TEXT,y4); 
    ObjectSetString(0,nama+(string)y4,OBJPROP_FONT,"Arial"); 
    ObjectSetInteger(0,nama+(string)y4,OBJPROP_FONTSIZE,12); 
      }
//жжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжж|
bool NewBar_M1() {
   static int Ba;
   if(Ba != iBars(NULL,PERIOD_CURRENT)){ 
   Ba = iBars(NULL,PERIOD_CURRENT); return (true); } else {return (false);} } 
//жжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжж

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

 
для советника нужны уровни поддержки и сопротивления в массивах для нижних как поддержки для верних как сопротивления что бы в советнике можно было перебрать уровни верхние и нижние если пробили какой то уровень перезаписать на новый как реализовать обьясните  пжлста 
 
Artyom Trishkin:
iCustom() что при ошибке возвращает?

Возвращаемое значение

Численное значение указанного пользовательского индикатора. Пользовательский индикатор должен быть скомпилирован (файл с расширением EX4) и находиться в директории каталог_терминала\MQL4\\Indicators.

Об ошибках ничего не сказано. Видимо они не предусмотрены.

 
Alexey Viktorov:

Об ошибках ничего не сказано. Видимо они не предусмотрены.

Ну ладно. В справку по четвёрке уже несколько лет не глядел за ненадобностью.

 
Artyom Trishkin:

Ну ладно. В справку по четвёрке уже несколько лет не глядел за ненадобностью.

Да и я тоже посмотрел чтобы тебе ответить.

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