[¡Archivo!] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. No puedo ir a ningún sitio sin ti - 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 así. No lo he comprobado.
[Eliminado]  
TheXpert:
Algo así. No lo he comprobado.

Gracias. ¡Funciona! ¿Por qué soy tan estúpido? Creo que me fue bien en la escuela.
[Eliminado]  

Ha surgido una pregunta más. Problema con la suma de valores. tipo suma+=a[i] (leer en el tutorial)

Devuelve incorrectamente la suma de valores, por favor indique el error.

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 con la suma de valores. tipo suma+=a[i]

Sospecho que el problema es la falta de inicialización de la variable suma con cero, y probablemente en un bucle adecuado, como este, debería funcionar:

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

Después del bucle, la variable sum contendrá la suma de los valores de la función

[Eliminado]  
IgorM:

Sospecho que el problema es la falta de inicialización de la variable suma con cero, y probablemente en un bucle adecuado, como este, debería funcionar:

Después del bucle, la suma de los valores de la función estará en la variable suma.


Gracias, lo he probado, suma=0, sin cambios.

El error está en el propio mecanismo de suma... Tendré que pensarlo.

[Удален]  
¿Puedo utilizar MathPow() para incrementar un número entero? ¿Es correcto?
[Eliminado]  

De nuevo una pregunta sobre la optimización y el diseño, ¿cómo empaquetar tal milagro? He utilizado sum+=a[i], es un lío.

   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);
 

Chicos, ¿alguien puede saber por qué mi madre ASUS P5B bajo el Siete de 4 gigas de RAM (2 en 2GB DDR3) ve sólo tres?

Dice 4 instalados, 2,94 disponibles...

 
moskitman:

Chicos, ¿alguien puede saber por qué mi madre ASUS P5B bajo el Siete de 4 gigas de RAM (2 en 2GB DDR3) ve sólo tres?

Dice 4 instalados, 2,94 disponibles...

¿Ordenador portátil, tal vez? Se está reservando para la tarjeta de vídeo.
 
AndEv: ¿Puedo utilizar MathPow() para incrementar un número entero? ¿Qué tan correcto será?
Lo más fácil es hacer una comprobación, y la teoría dice: int se convierte a double, que tiene preferencia. MathPow (double base, double exponent) pasa variables de tipo double. Utilizar variables "sin pérdida de salud" de tipo int en lugar de tipo double.