MetaTrader 4 Build 529 beta liberado con nuevo compilador - página 16

 
artamir:

Así que mi ctrl+F1 no funciona :( No sé

¿Qué se supone que hace esta combinación? La ayuda de F1 funciona si se trata de eso.
 
ALXIMIKS:

la variable debe ser inicializada.

¿Ahora hay que inicializar todos los datetime?

 
ALXIMIKS:

¿Qué se supone que hace la combinación? La F1 funciona si se trata de eso.
Gracias.
 
artamir:
Gracias.


bueno, yo diría que de nada)) no es muy bueno en realidad (( muchas discrepancias con las realidades del compilador

 

¿Se supone que cuando se cambian los parámetros de un indicador que ya está en marcha y funcionando, haciendo doble clic sobre él,

el indicadorno actualiza las variables estáticas, ¿por eso no se redibuja?

 

He notado una cosa extraña en diferentes ordenadores, uno con XP y otro con W 7

Al inicializar un array dentro de una función, el array no se rellena del todo, sólo el valor 0 ...

Cuando se inicializa un array de forma global fuera de todas las funciones, los arrays se llenan completamente como debe ser ...

 
Dame un ejemplo del código, por favor. Lo más probable es que aquí radique el error.
 
Renat:
Por favor, danos un ejemplo del código. Lo más probable es que aquí radique el error.
Funciona de esta forma...
//=====================================================================================// 
// Функция пишет комментарии 
//=====================================================================================//  
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]);
     }

}

No funciona así.

//=====================================================================================// 
// Функция пишет комментарии 
//=====================================================================================//  
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]);
     }
}
 
Pruebe ArrayInitialize en el primer inicio.
 
VOLDEMAR:
Funciona así...

No funciona así

¿Funcionaba antes? No puedo entender para qué declaras la variable 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--)
Razón de la queja: