[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.
[Gelöscht]  
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(!)
[Gelöscht]  

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.

[Gelöscht]  
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.

[Deleted]  
Kann ich MathPow() verwenden, um eine ganze Zahl zu erhöhen? Ist das richtig?
[Gelöscht]  

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.