[ARCHIV!] Alle Fragen von Anfängern, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Ohne dich kann ich nirgendwo hingehen - 4. - Seite 53

 
for (i=4; i<19; i++)
{
   sum+=GetPrcD1(symb[i]);
   Content[5 + (i-4)/3][1]=DoubleToStr(sum/3,3);
}
So etwas in der Art. Ich habe es nicht überprüft.
 
TheXpert:
So etwas in der Art. Ich habe es nicht überprüft.

Ich danke Ihnen! Es klappt! Warum bin ich so dumm? Ich glaube, ich war gut in der Schule(!)
 

Eine weitere Frage ist aufgetaucht. Problem mit der Summe von Werten. vom Typ sum+=a[i] (im Lernprogramm lesen)

Gibt fälschlicherweise die Summe der Werte zurück, bitte weisen Sie auf den Fehler hin.

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: Problem mit der Summe der Werte. type sum+=a[i]

Ich vermute, dass das Problem in der fehlenden Initialisierung der Variablen Summe mit Null liegt , und wahrscheinlich sollte es in einer korrekten Schleife, wie dieser, funktionieren:

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

Nach der Schleife wird die Variable sum die Summe der Werte der Funktion enthalten.

 
IgorM:

Ich vermute, dass das Problem in der fehlenden Initialisierung der Variablen Summe mit Null liegt , und wahrscheinlich sollte es in einer korrekten Schleife, wie dieser, funktionieren:

Nach der Schleife befindet sich die Summe der Werte der Funktion in der Variablen sum.


Danke, habe es ausprobiert, Summe=0, keine Änderung.

Der Fehler liegt im Summierungsmechanismus selbst... Ich werde darüber nachdenken müssen.

 
Kann ich MathPow() verwenden, um eine ganze Zahl zu erhöhen? Ist das richtig?
 

Nochmals eine Frage zur Optimierung und zum Layout, wie kann man so ein Wunder verpacken? Ich habe sum+=a[i] verwendet, es ist ein Chaos.

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

Jungs, kann jemand wissen, warum meine Mutter ASUS P5B unter den Sieben von 4 Gig RAM (2 auf 2GB DDR3) sieht nur drei?

Hier steht 4 installiert, 2,94 verfügbar...

 
moskitman:

Jungs, kann jemand wissen, warum meine Mutter ASUS P5B unter den Sieben von 4 Gig RAM (2 auf 2GB DDR3) sieht nur drei?

Hier steht 4 installiert, 2,94 verfügbar...

Vielleicht ein Laptop? Es ist für die Grafikkarte reserviert.
 
AndEv: Kann ich MathPow() verwenden, um eine ganze Zahl zu erhöhen? Wie korrekt wird sie sein?
Der einfachste Weg ist, eine Prüfung durchzuführen, und die Theorie sagt: int wird in double umgewandelt, was Vorrang hat. MathPow (double base, double exponent) übergibt Variablen vom Typ double. Verwenden Sie "verlustfreie" Variablen vom Typ int anstelle des Typs double.