MetaTrader 4 Build 529 beta lançado com novo compilador - página 16

 
artamir:

Então meu ctrl+F1 não funciona :( Eu não sei

O que esta combinação deve fazer? A ajuda F1 funciona se for sobre isso.
 
ALXIMIKS:

a variável precisa ser rubricada.

Agora toda a data precisa ser rubricada?

 
ALXIMIKS:

O que a combinação deve fazer? F1 funciona se for sobre isso.
Obrigado.
 
artamir:
Obrigado.


bem, eu diria que você é bem-vindo)) não é muito bom na verdade (( muitas discrepâncias com a realidade do compilador

 

É suposto ser que quando você muda os parâmetros de um indicador que já está funcionando e funcionando, ao clicar duas vezes sobre ele,

o indicadornão atualiza variáveis estáticas, é por isso que não é redesenhado?

 

Notei uma coisa estranha em computadores diferentes, um com XP e outro com W 7

Ao inicializar um array dentro de uma função, o array não é preenchido em todos, apenas 0 valor ...

Ao inicializar uma matriz globalmente fora de todas as funções, as matrizes são completamente preenchidas como deveriam ser ...

 
Dê-me um exemplo do código, por favor. É mais provável que seja aqui que se encontre o erro.
 
Renat:
Por favor, dê-nos um exemplo do código. É mais provável que seja aqui que se encontre o erro.
Funciona sob 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]);
     }

}

Não funciona assim.

//=====================================================================================// 
// Функция пишет комментарии 
//=====================================================================================//  
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]);
     }
}
 
Tente ArrayInitializar na primeira colocação em operação.
 
VOLDEMAR:
Funciona assim ...

Não funciona assim

Já funcionou antes? Não consigo descobrir para onde você declara a variável 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ão: