[¡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.
 
TheXpert:
Algo así. No lo he comprobado.

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

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

 
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?
 

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.