[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 492
![MQL5 - Sprache von Handelsstrategien, eingebaut ins Kundenterminal MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Schauen Sie, wo die Summe danach verwendet wird. Höchstwahrscheinlich geht die Schleife dann durch die Aufträge for (i=0; i<=Gesamt; i++).
Übrigens, ja... Ich habe den vollständigen Code dieser Funktion bereits oben eingefügt:
Ich dachte, es wäre logischer, es nicht so zu schreiben:
und dann die Schleife wie folgt einstellen:
Oder? Nur irgendwie ist es nicht sehr gut wahrgenommen, wenn der Zähler der Anzahl der Positionen von Null... es ist nicht logisch, und deshalb, warum verwirren sich...
Übrigens, ja... Ich habe den vollständigen Code dieser Funktion bereits oben eingefügt:
Ich dachte, es wäre logischer, es nicht so zu schreiben:
und dann die Schleife wie folgt einstellen:
Oder? Es ist nur so, dass der Zähler der Anzahl der Positionen von Null an nicht als solcher wahrgenommen wird... Es ist nicht logisch und daher gibt es keinen Grund, uns zu verwirren...
Um nach Aufträgen zu suchen, muss man bei Null anfangen, nicht bei Eins.
Ein Profi hat mir einmal erklärt, dass wir eine Reihe von Aufträgen suchen und es besser ist, die Suche mit einer höheren Zahl zu beginnen. Im Array hat das erste Element den Index 0 (Null), so dass wir 1 nicht erreichen sollten, und dies ist auch der Grund, warum wir OrdersTotal() - 1 verwenden sollten, anstatt einfach OrdersTotal().
Ich habe die Auftragssuche auf diese Weise durchgeführt:
Um nach Aufträgen zu suchen, müssen Sie bis auf Null und nicht bis auf Eins heruntergehen.
Ein Profi hat mir einmal erklärt, dass es sich um eine Reihe von Aufträgen handelt und dass es besser ist, mit einer größeren Zahl zu beginnen. Im Array hat das erste Element einen Index von 0 (Null), also nicht von 1, und auch aus diesem Grund brauchen wir OrdersTotal() - 1, nicht nur OrdersTotal().
Das ist sehr interessant. Und das erste, was ich tat, war, das Lehrbuch aufzuschlagen und zu versuchen, die Antwort dort zu finden. Und dann sahhttps://book.mql4.com/ru/trading/ordermodify, wie das Tutorial den Überlauf machte:
Das ist der Faktor, der mich in die Irre geführt hat...
Sehr interessant. Und das erste, was ich tat, war, das Lehrbuch aufzuschlagen und zu versuchen, die Antwort dort zu finden. Und dannhttps://book.mql4.com/ru/trading/ordermodify sah ich, dass das Lehrbuch übertrieben war:
Das ist der Faktor, der mich in die Irre geführt hat...
Haben Sie die nächste Zeile nicht bemerkt?
Haben Sie die nächste Zeile nicht bemerkt?
Nein. Aber irgendwie ist es schief, das zu schreiben. Ich möchte das Lehrbuch nicht kritisieren, aber... es ist viel angemessener, von 0 statt von -1 zu zählen. Sonst hätten Sie schon bei -30 anfangen können...
Wiepaladin80 bereits erwähnt hat, wäre der Wert von Arrays ab 0 angemessener als ab -N.
Nein. Aber irgendwie ist es schief, das zu schreiben. Ich will das Lehrbuch nicht kritisieren, aber... es ist viel angemessener, von 0 statt von -1 zu zählen. Sonst hätten Sie schon bei -30 anfangen können...
Wiepaladin80 oben darauf hingewiesen, von 0 der Wert von Arrays würde die meisten angemessen sein, wenn von -N.
Denken Sie jetzt logisch!
Diese Varianten sind identisch, denn wenn i = 0 ist, müssen wir von 1 bis OrderTotal() schauen, d.h. von 0+1 bis OrderTotal() - 1+1 (+1, weil i++ am Ende der for-Anweisung steht) Das Gleiche im Tutorial, nur von 1 bis OrderTotal() geschrieben und, um nicht von 2 bis OrderTotal()+1 zu zählen, hat der Lehrbuchautor in derOrderSelect-Funktion -1 zu i hinzugefügt. Verstanden?
Übrigens: So viele Programmierer es gibt, so viele Varianten gibt es auch. Jeder hat seine eigene Vision, seine eigene Handschrift!
Nein. Aber irgendwie ist es schief, das zu schreiben. Ich will das Lehrbuch nicht kritisieren, aber... es ist viel angemessener, von 0 statt von -1 zu zählen. Sonst hätten Sie schon bei -30 anfangen können...
Wiepaladin80 bereits erwähnt hat, wäre 0 für Arrays angemessener als -N.
Wenn Sie an der Suche nach Aufträgen interessiert sind, kann ich Ihnen das folgende Schema vorschlagen:
Nein. Aber irgendwie ist es schief, das zu schreiben. Ich möchte das Lehrbuch nicht kritisieren, aber... es ist viel angemessener, von 0 statt von -1 zu zählen. Sonst hätten Sie schon bei -30 anfangen können...
Wiepaladin80 oben dargelegt hat, wäre 0 der geeignetste Weg, um Arrays zu lesen, im Gegensatz zu -N.
Und jetzt denken Sie nach, einschließlich der Logik!
Diese Varianten sind identisch, denn wenn i = 0 ist, versuchen wir es von 1 bis OrderTotal(), d.h. von 0+1 bis OrderTotal() - 1+1 (+1, weil i++ am Ende der for-Anweisung steht). Und das Gleiche steht im Lehrbuch, nur von 1 bis OrderTotal() und um nicht von 2 bis OrderTotal()+1 zu zählen, addieren wir -1 zu i in der OrderSelect-Funktion. Verstanden?
Natürlich, das ist klar. Aber ich habe noch nie gesehen, dass Aufträge auf diese Art und Weise analysiert werden:
normalerweise nur ohne ==true... Dieser Punkt hat mir sogar gefallen. Obwohl es interessant ist, ist mir eine solche Methode in anderen EAs noch nie begegnet. Ich verstehe die Logik, aber trotzdem.