Fragen von Anfängern MQL5 MT5 MetaTrader 5 - Seite 519

 
Vasyl Nosal:

Darf ich fragen, warum das so ist?

int total=OrdersTotal();

Ich sollte hinzufügen, dass die Funktion bei jeder Iteration der Schleife aufgerufen wird, wenn es viele Aufträge gibt, und das ist nicht wirtschaftlich.
 
Sergey Gritsay:
Denn während die Schleife läuft, kann sich der Wert vonOrdersTotal(); ändern, und es kann sein, dass Sie eine Bestellung übersehen oder der Schleifenkörper versagt.

Alexey Kozitsyn:
Ich möchte hinzufügen, dass dieFunktion bei jeder Iteration der Schleifeaufgerufen wird, wenn es viele Aufträge gibt, und das ist nicht wirtschaftlich.

Machen Sie beide Witze oder ist das Ihr Ernst?

 
Vasyl Nosal:

Alexey Kozitsyn:
Ich möchte hinzufügen, dassdie Funktion bei jeder Iteration der Schleifeaufgerufen wird, wenn es viele Aufträge gibt, und das ist nicht wirtschaftlich.

Machen Sie beide Witze oder ist das Ihr Ernst?

Haben Sie eine andere Sichtweise?
 

Alexey Kozitsyn:
У Вас другая точка зрения?

for(int i=OrdersTotal()-1; i>=0; i--)

int i=Auftragssumme()-1

Diese Aktion wird einmal vor der ersten Iteration ausgeführt. Es macht keinen Sinn, etwas anderes hinzuzufügen. Sie machen den Code einfach größer.

 
Vasyl Nosal:

in diesem Design ist möglich, aber in diesem Design gibt es die Möglichkeit eines Fehlers

for(int i=0; i<total; i++)
 
Sergey Gritsay:

Bei diesem Entwurf ist es möglich, aber bei diesem besteht die Möglichkeit eines Fehlers.

:)))))))

Aus welchen Gründen?

А.

Gehen Sie also immer vom Ende her vor.

 
Vasyl Nosal:

In diesem Fall, ja. Und in diesem Fall:

for(int i=0; i<OrdersTotal(); i++)
{

}

Es gibt einen Unterschied. Sie haben vorhin nicht präzisiert, was Sie meinen.

 
Vasyl Nosal:

:)))))))

Aus welchen Gründen?

А.

Gehen Sie also immer vom Ende her vor.

Diese Methode ist nicht immer geeignet. Zum Beispiel, wenn Sie von der frühesten Bestellung ausgehen wollen.
 
kashi_ann:
Ja, es ist also nur eine Frage der Logik. Mir ging es eher darum, dass neben der Reihenfolge der Aktionen auch die Aktualisierungszeit der Daten auf dem Server berücksichtigt werden muss.

Die Haltestellen sind natürlich genutzt worden.

Ich werde wohl alles neu schreiben müssen, es ist einfach Unsinn.

Endlich habe ich herausgefunden, worum es geht))))))))

Wie immer, lächerlich einfach))

Es handelt sich lediglich um eine falsche Anwendung von schwebenden Aufträgen.) Der Preis ist gesunken und der Limit-Auftrag mit dem Kaufkurs war höher))) Es konnte einfach nicht unter diesen Bedingungen platziert werden)

Stop-Order"-Einstellung hinzugefügt und voila, alles ist so, wie es sein sollte))))

 
Alexey Kozitsyn:
Diese Methode ist nicht immer geeignet. Zum Beispiel, wenn Sie mit dem frühesten Auftrag beginnen müssen.
Und wann könnte dies erforderlich sein?
Grund der Beschwerde: