![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
Victor, ich denke, der Schalter ist hier besser - er ist schneller und visueller.
Oh, übrigens - vernünftige Optimierung der Arbeit im Tester - ich habe es in letzter Zeit benutzt.
Übrigens heißt die Funktion FindLastOpenTime und gibt ein Ticket zurück.
Wäre es besser so?
Victor, ich denke, der Wechsel ist hier besser - er ist schneller und klarer.
Es ist wirklich klarer.
TheXpert:
Übrigens, die Funktion heißt FindLastOpenTime, ...
if (lOrderOpenTime<OrderOpenTime()) { lOrderOpenTime=OrderOpenTime(); Res=OrderTicket(); }
kann es direkt bei -1 anfangen zu funktionieren, ich bin mir nicht ganz sicher, warum es ein externes if...else braucht. Return, imho, ist wirklich besser lOrderOpenTime, dann return -1 wird es erlauben, den Fehler zu fangen.Ist es logisch, so etwas zu verwenden?
immer die Logik einer solchen Konstruktion in zyklischen Operanden getötet:
if (!OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) continue;
if (OrderSymbol() != Symbol()) continue;
if (OrderMagicNumber() != imagic) continue;
if (!(tip==-1 || isOrderType(tip))) continue;
siehe Hilfe :
Die continue-Anweisung übergibt die Kontrolle an den Beginn der nächsten externen while- oder for-Anweisung, was den Beginn der nächsten Iteration bewirkt. Dieser Operator ist das Gegenteil von break.
Es ist überhaupt nicht klar, und wenn ein Auftrag die Bedingungen nicht erfüllt, was dann? Die Schleife verlassen? wenn der continue-Operator direkt gegenüber dem break-Operator steht ...
Für mich ist die Standardlogik klarer und verständlicher:
Einstich #2. Logik (Logik) und Kürze haben wenig miteinander zu tun.
Ein Paradebeispiel dafür ist MQL, bei dessen Verwendung viele Menschen übrigens nicht zimperlich sind.
Das ist keine Logik - es ist ein Mord an der Logik. Darüber hinaus ist sie ein potenzieller Nährboden für implizite Fehler.
Sie sind sich nicht sicher, wo die Panne ist? Und warum die zweite? Wenn es die zweite ist, wo ist dann die erste?
Für diejenigen, die kein Büro oder keinen Reißverschluss haben.
Dima fügen Sie etwas für diejenigen, die nicht haben metaeditor.exe :-)
Victor, nochmals herzlichen Glückwunsch!