Fragen von Neueinsteigern zu MQL4 und MQL5, Hilfe und Diskussion über Algorithmen und Codes - Seite 1412

 
str+="--LoY["+IntegerToString(r)+"]--, "+DoubleToString(LoY[r],4)+", ";
 
ANDREY:

Ich habe, was ich brauche

LoY[r] = 1,6104---LoY[r] = 1,6105---LoY[r] = 1,6106---LoY[r ] = 1,6107---LoY[r] = 1,6108---LoY[r] = 1,6109---LoY[r] = 1,6110---LoY[r] = 1,6111....

Und kann ichPrint() auch bitten, Indexwerte anstelle von [r] zu ersetzen.
Ich wäre Ihnen sehr dankbar, wenn Sie ein Beispiel für einen solchen Code schreiben könnten , anstatt ihn in Worten zu erklären.
Ich danke Ihnen für Ihre Hilfe.

Das passiert mir nur bei Anfällen......... Ein Anfall ist mir heute schon passiert, der nächste wird nicht so bald kommen...

 
Aleksei Stepanenko:

Herzlichen Dank für Ihre Hilfe. Ihr Code ist kompakter, und so nehme ich ihn an Bord und werde ihn sorgfältig studieren, um ihn bis ins kleinste Detail zu verstehen.

 
Aleksei Stepanenko:

Ich habe Ihren Code sorgfältig studiert. Ich habe jedes einzelne Zeichen verstanden. Ich verstehe nur die + Zeichen in rot nicht

str+="--LoY["+IntegerToString(r)+"]--,"+DoubleToString(LoY[r],4)+",";
Ich wäre Ihnen dankbar, wenn Sie mir sagen könnten, welche Funktion diese Pluszeichen haben und wo ich sie nachlesen kann. Ich konnte in Kovalevs Anleitung keine Informationen über sie finden.
Als ich diese Optionen entfernte, meldete der Compiler einige Fehler. Leider bin ich nicht gut in Englisch, so dass ich nicht weiß, was er damit meinte.

Nochmals vielen Dank für die informative Unterstützung.

 
ANDREY:

Ich habe Ihren Code sorgfältig studiert. Ich habe jedes einzelne Zeichen verstanden. Ich verstehe nur die + Zeichen in rot nicht

str+="--LoY["+IntegerToString(r)+"]--,"+DoubleToString(LoY[r],4)+",";
Ich wäre Ihnen dankbar, wenn Sie mir sagen könnten, welche Funktion diese Pluszeichen haben und wo ich sie nachlesen kann. Ich konnte in Kovalevs Anleitung keine Informationen über sie finden.
Als ich diese Optionen entfernte, meldete der Compiler einige Fehler. Leider bin ich nicht gut in Englisch, so dass ich nicht weiß, was er damit meinte.

Nochmals vielen Dank für die informative Unterstützung.

Und hier sind Erklärungen in Worten, bitte.........

Wenn man Zahlen addiert, z. B. 2,3+3,6, erhält man dieselbe Zahl, 5,9, und wenn man Zeichenketten addiert DoubleToString(2.3, 1)+ DoubleToString(3.6, 1), wird es 2.33.6 als Zeichenkette sein.

 

Das ist richtig, sagte Alexej, es ist nur eine Aneinanderreihung.

Dies könnte für Sie von Interesse sein:

a+=4; -это тоже самое, что и a=a+4;
по аналогии:
a-=4;
a*=4;
a/=4;

a++; - означает a=a+1;
a--;

 
Alexey Viktorov:

Aber Erklärungen in Worten sind willkommen.........

Wenn Sie Zahlen addieren, zum Beispiel 2,3+3,6, ergibt das die gleiche Zahl, 5,9, und wenn Sie Zeichenketten addieren DoubleToString(2.3, 1)+ DoubleToString(3.6, 1), dann wird es 2.33.6 als String sein.

Danke für den Hinweis.

 
Aleksei Stepanenko:

Das ist richtig, sagte Alexey, es ist nur eine Aneinanderreihung.

Das könnte für Sie von Interesse sein:

Danke für den Hinweis.

 
Alexey Viktorov:

Aber hier ist eine Erklärung in Worten, bitte.........

Wenn Sie Zahlen addieren, z. B. 2,3+3,6, ergibt das die gleiche Zahl, 5,9, und wenn Sie Zeichenketten addieren DoubleToString(2.3, 1)+ DoubleToString(3.6, 1), wird es 2.33.6 als Zeichenkette sein.

Das heißt, bei jeder Iteration wird der Wert von LoY["IntegerToString(r)"] um 1 erhöht und der Wert von DoubleToString(LoY[r],4) um 1 erhöht.

Aber das Inkrement um 1 ist nicht so angeordnet, wie ich es von LoY["IntegerToString(r)"]++ gewohnt bin; Aber das Inkrement um 1 ist speziellLoY["+IntegerToString(r)+"]angeordnet, d.h. die Variable steht zwischen den Pluszeichen.

Wie sollten wir also damit umgehen, eine String-Variable um 2 statt um 1 zu erhöhen? Normalerweise ist dieses Inkrement VARIABLE +=2, aber wie sollte ich das Inkrement um 2 in meinem Code formatieren?

Außerdem werden die Werte meiner Array-Elemente anders, nicht genau so wie jetzt, sein. Sie sieht zum Beispiel so aus: ....

LoY[0]= 1,6104, LoY[1]= 1,6114,LoY[2]= 1,6100,LoY[3]= 1,6120, LoY[4]= 1,6115, LoY[5]= 1,6115, LoY[6]= 1,6098,LoY[7]= 1,6085, LoY[8]= 1,6125,..... und so weiter. Mit anderen Worten, diese Werte werden den Array-Elementen in einem anderen Teil des Codes zugewiesen und nicht unbedingt in einer Schleife.
Ich glaube nicht, dass wir eine solche Sequenz in der Print()-Funktion
mit String-Variablen korrekt anzeigen können connection......


Vielen Dank für die Hilfe.

 
ANDREY:

Das heißt, bei jeder Iteration wird der Wert von LoY["IntegerToString(r)"] um 1 erhöht und der Wert von DoubleToString(LoY[r],4) um 1 erhöht.

Aber das Inkrement um 1 ist nicht so angeordnet, wie ich es von LoY["IntegerToString(r)"]++ gewohnt bin; Aber das Inkrement um 1 ist speziellLoY["+IntegerToString(r)+"]angeordnet, d.h. die Variable steht zwischen den Pluszeichen.

Wie soll man eine String-Variable um 2 statt um 1 erhöhen? Normalerweise ist dieses Inkrement VARIABLE +=2, aber wie sollte ich das Inkrement um 2 in meinem Code formatieren?

Darüber hinaus werden die Werte meiner Array-Elemente gehen anders von einander, und nicht in strenger Reihenfolge wie jetzt. Sie sieht zum Beispiel so aus: ....

LoY[0]= 1,6104, LoY[1]= 1,6114,LoY[2]= 1,6100,LoY[3]= 1,6120, LoY[4]= 1,6115, LoY[5]= 1,6115, LoY[6]= 1,6098,LoY[7]= 1,6085, LoY[8]= 1,6125,..... und so weiter. Mit anderen Worten, diese Werte werden den Array-Elementen in einem anderen Teil des Codes zugewiesen und nicht unbedingt in einer Schleife.
Ich glaube nicht, dass wir eine solche Sequenz in der Print()-Funktion
mit String-Variablen korrekt anzeigen können connection......


Ich danke Ihnen für Ihre Hilfe.

Die Funktionen IntegerToString() und DoubleToString() stellen lediglich eine Zahl als Zeichenkette dar, die an die Funktion übergeben wird. Hier ein Beispiel

Genau hier wird die r-Zahl in eine Zeichenkette umgewandelt und die Zeichenketten werden "addiert". Aber vorher ändert sich der Wert von r.

Ich verstehe die Frage nicht ganz, aber wenn Sie nur geradzahlige Elemente aus dem Array auswählen möchten, sollte die Schleife wie folgt aufgebaut sein

for(int i = 0; i <= 30; i+=2)