[ARQUIVO!] Qualquer pergunta de novato, para não desorganizar o fórum. Profissionais, não passem por aqui. Em nenhum lugar sem você - 4. - página 53

 
for (i=4; i<19; i++)
{
   sum+=GetPrcD1(symb[i]);
   Content[5 + (i-4)/3][1]=DoubleToStr(sum/3,3);
}
Algo parecido com isso. Não verificou.
 
TheXpert:
Algo parecido com isso. Não verificou.

Obrigado! Está funcionando! Por que sou tão estúpido? Eu acho que me saí bem na escola(!)
 

Mais uma pergunta foi feita. Problema com a soma de valores. por tipo soma+=a[i] (leia no tutorial)

Retorna incorretamente a soma dos valores, favor apontar o erro.

for (i=4; i<19; i++){
   sum+=GetPrcH12(symb[i]);//сумма значений по номеру i пары   
   }
//+------------------------------------------------------------------+
double GetPrcH12(string symb){
int i=iBarShift(NULL, 0, StrToTime(TimeToStr(Time[0], TIME_DATE)+" 12:00"));//ищем бар по времени на сегодня
double pc=iClose(symb,PERIOD_M30,i);//цена закрытия на начало времени  
double a=0;
if (pc!=0) 
a=(iClose(symb,PERIOD_M30,0)*100)/pc-100;//расчет процента изменения от начала времени
return (a);
}
 
Kondratiev_A_A: Problema com a soma de valores. tipo soma+=a[i]

Suspeito que o problema é a falta de inicialização da soma variável com zero, e provavelmente em um loop correto, como este, deveria funcionar:

sum = 0;
for (i=4; i<19; i++)
   sum+=GetPrcH12(symb[i]);

Após o loop, a soma variável conterá a soma dos valores da função

 
IgorM:

Suspeito que o problema é a falta de inicialização da soma variável com zero, e provavelmente em um loop correto, como este, deveria funcionar:

Após o loop, a soma dos valores da função estará na variável soma.


Obrigado, experimentei, soma=0, sem mudanças.

O erro está no próprio mecanismo de somatório... Vou ter que pensar sobre isso.

 
Posso usar MathPow() para incrementar um número inteiro? É correto?
 

Novamente uma pergunta sobre otimização e layout, como embalar um milagre assim? Eu usei sum+=a[i], é uma bagunça.

   sum=GetPrcH12(symb[4])+GetPrcH12(symb[5])+GetPrcH12(symb[6]);
   Content[5][3]=DoubleToStr(sum/3,3);
   
   sum=GetPrcH12(symb[7])+GetPrcH12(symb[8])+GetPrcH12(symb[9]);
   Content[6][3]=DoubleToStr(sum/3,3);
   
   sum=GetPrcH12(symb[10])+GetPrcH12(symb[11])+GetPrcH12(symb[12]);
   Content[7][3]=DoubleToStr(sum/3,3);
   
   sum=GetPrcH12(symb[13])+GetPrcH12(symb[14])+GetPrcH12(symb[15]);
   Content[8][3]=DoubleToStr(sum/3,3);
   
   sum=GetPrcH12(symb[16])+GetPrcH12(symb[17])+GetPrcH12(symb[18]);
   Content[9][3]=DoubleToStr(sum/3,3);
 

Pessoal, alguém pode saber por que minha mãe ASUS P5B sob a RAM Seven de 4 gigabytes (2 em 2GB DDR3) vê apenas três?

Diz 4 instalados, 2,94 disponíveis.

 
moskitman:

Pessoal, alguém pode saber por que minha mãe ASUS P5B sob a RAM Seven de 4 gigabytes (2 em 2GB DDR3) vê apenas três?

Diz 4 instalados, 2,94 disponíveis.

Portátil, talvez? Está reservando para a placa de vídeo.
 
AndEv: Posso usar MathPow() para incrementar um número inteiro? Qual será a correção?
A maneira mais fácil é executar uma verificação, e a teoria diz: int é convertido em duplo, o que tem precedência. MathPow (base dupla, expoente duplo) passa variáveis de tipo duplo. Usar variáveis "sem perda de saúde" do tipo int em vez de tipo duplo.