Das Problem der Umstellung von MT4 auf MT5. Oder, genauer gesagt, die Unfähigkeit, einige Algorithmen in MT5 ohne Fehler auszuführen. - Seite 10
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
Es ist seltsam, aber daran habe ich vorher nicht gedacht:
Es würde eine Reihe von Fehlerprüfungen, wie z.B. die Speicherzuweisung, überflüssig machen.
keine Option, wird der EA aus dem Diagramm entfernt, und Sie müssen nur "exit to OS" vor dem nächsten Tick von jedem Ort im Programm
Höchstwahrscheinlich ist es möglich, alles elegant in ein Makro zu verpacken, um sicher Funktionen aufzurufen, die mit der Nichtverfügbarkeit von Daten zum aktuellen Tick zu tun haben, hier ein "Dummy"
Für die Lesbarkeit des Codes wäre es schön, wenn man es einfach so schreiben könnte:
Ist dieser Versuch realistisch in einem Makro und "exit to OS" im Falle eines Fehlers verpackt?
Ist es realistisch, diesen Versuch in ein Makro zu verpacken und im Falle eines Fehlers das Betriebssystem zu verlassen?
Nein?
Ich schreibe oft alle Arten von Minimaxen direkt am Anfang einer Funktion, mit undefine am Ende. Natürlich nur, wenn die Handlung oft wiederholt wird, sonst macht sie keinen Sinn.
Und du irrst dich, was die Abtreibung angeht, sie ist perfekt mit einigen Fehlern.
Nein?
Ja!
aber idealerweise würde ich es stattdessen mögen:
wie diese:
es geht nicht darum, die Signatur der Open()-Funktion zu ändern... Aber in dieser Form werde ich bekommen, was ich wirklich möchte! ;)
----------------------
PS: als Option würden auch global beschriebene Variablen Tryerror oder bool Tryresult genügen - der Zweck eines einzeiligen "sicheren Aufrufs", wenn dieser Aufruf mit einem Fehler endet, ist der Exit aus dem Body OnTick()
wie diese:
Ich bezweifle, dass dies möglich ist, selbst bei den Pluszeichen (man kann eine Ausnahme machen, aber das ist unwahrscheinlich). Aber Dinge passieren, vielleicht wird jemand überrascht ...
Also, auf den ersten Blick:
das ist wahrscheinlich das Maximum in dieser Situation.
Völlig dumm, du kannst es doch, oder?
Ich habe es nicht kompiliert, aber es sollte funktionieren.
Ich bin so dumm, ich kann nicht anders, oder?
Ich habe es nicht kompiliert, aber es sollte funktionieren.
Shaitan die Maschine!!! Es hat funktioniert!!!
geprüfter und simulierter Fehler ( shift>5 )
2019.07.31 16:58:48.154 tst1 (EURUSD,H1) 0 : 1.115010
2019.07.31 16:58:48.154 tst1 (EURUSD,H1) 1 : 1.114670
2019.07.31 16:58:48.154 tst1 (EURUSD,H1) 2 : 1.114590
2019.07.31 16:58:48.154 tst1 (EURUSD,H1) 3 : 1.114400
2019.07.31 16:58:48.154 tst1 (EURUSD,H1) 4 : 1.115240
2019.07.31 16:58:48.154 tst1 (EURUSD,H1) 5 : 1.115450
2019.07.31 16:58:48.154 tst1 (EURUSD,H1) Fehler: etwas läuft schief
Und der Makrocode war wirklich einfach
DANKESCHÖN! - Sie sind wirklich ein Zauberer).
Sie können es gerne verwenden.
Das obige Makro hat einen Nachteil - der Typ des Helfers ist hart kodiert, man kann nicht an Try function returning string und dann double übergeben, ohne zwei Makros zu erstellen. Ich habe ein sportliches Interesse daran, wie man das umgehen kann (ein Makro für alle Typen zu schreiben). In µl ohne Optionen, in c++, obwohl es dort nicht wirklich gebraucht wird, aber trotzdem)? Niemand ist bereit, seine eigene Variante vorzuschlagen (man muss sich ja schließlich in Form halten)?
Sie können es gerne verwenden.
Das obige Makro hat einen Nachteil - der Hilfstyp ist fest verdrahtet, man kann keine Funktion, die einen String zurückgibt, an Try
Warum nicht? Das +-Zeichen wurde noch nie gestrichen!
So habe ich Ihr Makro ausgekämmt und so werde ich es auch verwenden:
Der Makro-ParameterEXCEPT ist eine Ausnahme-Aktion, die als Rückgabe oder einfach als ; - funktioniert, wenn Sie sich entscheiden, die Ausgabe im Protokoll zu löschen, aber nicht den Körper OnTick() zu verlassen
2019.07.31 19:01:28.353 tst1 (EURUSD,H1) 0 : 1.113350
2019.07.31 19:01:28.353 tst1 (EURUSD,H1) 1 : 1.114180
2019.07.31 19:01:28.353 tst1 (EURUSD,H1) 2 : 1.115110
2019.07.31 19:01:28.353 tst1 (EURUSD,H1) 3 : 1.115010
2019.07.31 19:01:28.353 tst1 (EURUSD,H1) 4 : 1.114670
2019.07.31 19:01:28.353 tst1 (EURUSD,H1) 5 : 1.114590
2019.07.31 19:01:28.353 tst1 (EURUSD,H1) double Open(int) : error #999 something goes wrong Txt
Nun, ich meine, es ist folgendermaßen:
Die Leute hier scheinen nicht zu spielen. Ach, kommen Sie.