Выпущена бета-версия MetaTrader 4 Build 529 с новым компилятором - страница 16

 
artamir:

Так у меня ctrl+F1 не работает :( Вот и не знаю

а что должно давать это сочитание? справка F1 работает если о ней.
 
ALXIMIKS:

переменная требует инициализации.

А теперь все datetime нужно инициализировать?

 
ALXIMIKS:

а что должно давать это сочитание? справка F1 работает если о ней.
Спасибо.
 
artamir:
Спасибо.


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

 

Так и должно быть, что при изменении параметров индикатора, который запущен уже и работает, методом двойного клика на нем,

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

 

Заметил странную вещь на разных компах один с ХР другой с W 7

При инициализации массива внутри функции, массив не заполняется весь, только 0 значение ...

При инициализации массива на глобальном уровне за пределами всех функций, массивы заполняются полностью как и должно быть ...

 
Приведите пример кода, пожалуйста. Скорее всего ошибка именно в нем.
 
Renat:
Приведите пример кода, пожалуйста. Скорее всего ошибка именно в нем.
В таком виде работает ...
//=====================================================================================// 
// Функция пишет комментарии 
//=====================================================================================//  
string info [];
color  cv   [];

void pr (string txt, color et)
{
int Coment = 10;

ArrayResize(info,Coment);
ArrayResize(cv,Coment  );

txt=txt+"  -"+TimeS();
for(i=Coment-1; i>=1; i--){info[i]=info[i-1]; cv  [i]=cv  [i-1];}info[0]=txt;cv[0]=et;
for(i=Coment-1; i>=0; i--)
   if(info[i]!="")
     {
      if(ObjectFind("txt"+(string)i)==-1)
      ObjectCreate ("txt"+(string)i,OBJ_LABEL,0,0,0);
      ObjectSet    ("txt"+(string)i,OBJPROP_CORNER,3);
      ObjectSet    ("txt"+(string)i,OBJPROP_XDISTANCE,10);
      ObjectSet    ("txt"+(string)i,OBJPROP_YDISTANCE,0+15*(Coment-i));
      ObjectSetText("txt"+(string)i,info[i], 10, "Verdana",cv[i]);
     }

}

В таком виде не работает

//=====================================================================================// 
// Функция пишет комментарии 
//=====================================================================================//  
void pr (string txt, color et)
{
int Coment = 10;
string info [];
color  cv   [];
ArrayResize(info,Coment);
ArrayResize(cv,Coment  );

txt=txt+"  -"+TimeS();
for(i=Coment-1; i>=1; i--){info[i]=info[i-1]; cv  [i]=cv  [i-1];}info[0]=txt;cv[0]=et;
for(i=Coment-1; i>=0; i--)
   if(info[i]!="")
     {
      if(ObjectFind("txt"+(string)i)==-1)
      ObjectCreate ("txt"+(string)i,OBJ_LABEL,0,0,0);
      ObjectSet    ("txt"+(string)i,OBJPROP_CORNER,3);
      ObjectSet    ("txt"+(string)i,OBJPROP_XDISTANCE,10);
      ObjectSet    ("txt"+(string)i,OBJPROP_YDISTANCE,0+15*(Coment-i));
      ObjectSetText("txt"+(string)i,info[i], 10, "Verdana",cv[i]);
     }
}
 
При первом запуске попробуй ArrayInitialize.
 
VOLDEMAR:
В таком виде работает ...

В таком виде не работает

А раньше все работало? Не могу понять, где у тебя объявляется переменная i для:

for(i=Coment-1; i>=1; i--){info[i]=info[i-1]; cv  [i]=cv  [i-1];}info[0]=txt;cv[0]=et;
for(i=Coment-1; i>=0; i--)
Причина обращения: