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

 
Nerd Trader:
Ich sehe jetzt, dass Sie ein Protokoll hinzugefügt haben. Auch hier haben Sie doppelte Nachrichten :)
Wenn Sie sich die Zeit ansehen, werden Sie feststellen, dass nichts dupliziert wird, sondern nur bei einem neuen Balken gedruckt wird, wenn ein Signal vorliegt
 
законопослушный гражданин:

Können Sie bitte den Unterschied zwischen den Funktionen erklären?

for (int j = OrdersHistoryTotal()-1; j >= 0; j--)

{

if(OrderSelect(j, SELECT_BY_POS,MODE_HISTORY))

и

int i=AuftragshistorieGesamt();

for(int pos=0; pos<i; pos++)

{

if(OrderSelect(pos, SELECT_BY_POS,MODE_HISTORY))

Nein

 
MakarFX:
Wenn Sie sich die Zeit ansehen, werden Sie feststellen, dass nichts dupliziert wird, sondern nur bei einem neuen Balken gedruckt wird, wenn ein Signal vorliegt
Denn Sie haben Print() nur in OnTick(). Fügen Sie es in jede Bedingung in isCrossing() ein
 
MakarFX:

Nein

Nun, nicht ganz. Ein Zyklus beginnt am Anfang der Liste, der andere am Ende.

 
MakarFX:

Nein

beide Funktionen "holen" abgeschlossene Aufträge aus der Historie?

 
Artyom Trishkin:

Nun, nicht ganz. Ein Zyklus beginnt am Anfang der Liste, der andere am Ende.

Sie haben Recht, ich habe nicht auf die Reihenfolge der Schleife geachtet, ich habe nur die Definition von OrdersHistoryTotal() betrachtet
 
законопослушный гражданин:

beide Funktionen "holen" abgeschlossene Aufträge aus der Historie?

Ja, aber eine vom Anfang der Geschichte und die andere vom Ende.
 
MakarFX:
Ja, aber die eine ist vom Anfang der Geschichte und die andere vom Ende.

Ich danke Ihnen. Habe ich es richtig verstanden, dass diese Funktion vom Ende her "durchläuft"?

int i=AuftragshistorieGesamt();

for(int pos=0; pos<i; pos++)

{

if(OrderSelect(pos, SELECT_BY_POS, MODE_HISTORY))

 
законопослушный гражданин:

Ich danke Ihnen. Habe ich es richtig verstanden, dass diese Funktion vom Ende her "durchläuft"?

int i=AuftragshistorieGesamt();

for(int pos=0; pos<i; pos++)

{

if(OrderSelect(pos, SELECT_BY_POS, MODE_HISTORY))

ja
 
законопослушный гражданин:

Ich danke Ihnen. Habe ich es richtig verstanden, dass diese Funktion vom Ende her "durchläuft"?

int i=AuftragshistorieGesamt();

for(int pos=0; pos<i; pos++)

{

if(OrderSelect(pos, SELECT_BY_POS, MODE_HISTORY))

Dieser sucht ab dem Null-Index, d.h. von Anfang an.