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
Für ein Lehrbuch ist es im Allgemeinen besser, in Klammern zu schreiben:
Alle Operatoren der Form @=, wobei doggy für das Symbol einer beliebigen Operation steht, werden immer über den rechten Operanden ausgeführt, und zwar vollständig gezählt, bevor die Operation ausgeführt wird. Dies wird in Teil 2, unter Modifikationsoperationen, behandelt.
Die Margenberechnungsdatei wird in Teil 6 beschrieben, wobei vorausgesetzt wird, dass die vorherigen Teile beherrscht werden. Die Komplexität nimmt zum Ende des Buches hin zu - das bestreite ich nicht, daher habe ich versucht, in den folgenden Abschnitten auf die großen Konzepte und Prinzipien aus den vorangegangenen Abschnitten zu verweisen, wo diese als Bausteine (zur Auffrischung des Gedächtnisses) verwendet wurden, aber nicht für so kleine Dinge.
...Die Komplexität nimmt zum Ende des Buches hin zu - dagegen ist nichts einzuwenden, daher habe ich versucht, für die großen Konzepte und Prinzipien aus den vorangegangenen Abschnitten Verweise auf die folgenden Abschnitte zu machen, in denen sie als Bausteine verwendet wurden (um mein Gedächtnis aufzufrischen), aber nicht für so kleine Dinge.
Stanislav, im Gegensatz zu dir habe ich ein eher bescheidenes Niveau in der Programmierung. Ich versuche, den Code so zu schreiben, dass es einfacher ist, ihn im Debugger zu überprüfen. Deshalb verwende ich den ternären Operator nicht oft. Und wenn, dann verwende ich ihn mit Klammern... Es gibt so geschickte Leute, die mehrere ternäre Operatoren ineinander verschachtelt schreiben. Das kommt dem Makro-Programmierstil meines Kollegen fxsaber sehr nahe. Wahrscheinlich hat jeder Ansatz eine Lebensberechtigung. Und es ist schon eine Frage des Geschmacks...
Großen Respekt und Hochachtung für das Tutorial! Es werden einige interessante Dinge ausführlicher beschrieben als in der Dokumentation.
Es nützt ohnehin wenig, weil es am Ende immer noch die Marge falsch zählt, wenn die Menge mehr als drei beträgt.
Margin-Berechnung für zehn Kontrakte.
Bitte das Skript zur Überprüfung anhängen. Ich habe es jetzt auf der gesamten Marktübersicht laufen lassen - es stimmt mit der Standardfunktion überein, unabhängig vom Volumen.
Und der Compiler ist stinksauer:
Wahrscheinlich hat sich im Compiler etwas geändert. Zum Zeitpunkt der Veröffentlichung des Buches wurden alle Quellen ohne Warnungen oder Fehler kompiliert, außer in Fällen, in denen es zu Demonstrationszwecken absichtlich Unregelmäßigkeiten gab.
Ich versuche, den Code so zu schreiben, dass es einfacher ist, ihn im Debugger zu überprüfen. Deshalb verwende ich den ternären Operator nicht oft. Und wenn doch, dann verwende ich ihn mit Klammern....
Ich stimme zu. Ich halte mich auch an diese Regel, außer in einfachen Fällen - aber hier hat jeder seine eigene Schranke der Einfachheit. Die Lesbarkeit des Codes wird individuell behandelt, normalerweise suchen wir nach einer "goldenen Mitte" zwischen dem Ansatz "alles in einer Zeile" und "jedes Token in einer eigenen Zeile". Bei Klammern ist es ähnlich. Softwareunternehmen haben in der Regel eine Reihe von Regeln für das Layout des Quellcodes - in diesem Fall gab es keine.
Bitte fügen Sie das Skript zur Überprüfung an. Jetzt habe ich es auf der gesamten Marktübersicht laufen lassen - es stimmt mit der Standardfunktion überein, unabhängig vom Volumen.
Oh, Mann. Ich kann nicht glauben, dass ich diese Meldung nicht gesehen habe. Oh, Mann.
Eigentlich hat sich für mich nichts geändert.
Metaquot-Server, Terminalversion 4420.
Der Code sieht folgendermaßen aus
Das Ergebnis ist dieses.
Da hat jemand falsch gezählt.
Möglicherweise habe ich den Namespace MPM falsch entfernt. Ich weiß nicht, was er ist und warum er benötigt wird, aber er hat mich den EA nicht kompilieren lassen.
Eigentlich habe ich nur die Namespace MPM-Zeile und die geschweiften Klammern danach entfernt und OrderCalcMargin umbenannt und den Unterstrich hinzugefügt.
Im Allgemeinen wurde die Datei in dieser Form kompiliert. Ist es möglich, dass dies der Fehler ist?
Der Code lautet wie folgt
Das Ergebnis ist wie folgt
Jemand hat sich verzählt.
Hier ist in den News für Anfang 2024 (also nach dem Schreiben des Buches) über Build 4150 - https://www.metatrader5.com/en/releasenotes/terminal/2342 zu finden .
In den Server-Einstellungen und der Symbol-Spezifikationsschnittstelle haben sie die Margenabhängigkeit vom Volumen hinzugefügt.
Ich habe nicht herausgefunden, wie man von MQL5 aus zu diesen Eigenschaften gelangt.
Bei einem bestimmten Broker/Instrument ist diese Floating-Margin-Einstellung möglicherweise nicht aktiviert, so dass ich bei der Überprüfung in der MQ-Demo keine Unterschiede feststellen konnte.
Die Abhängigkeit vom Volumenrand wurde zu den Servereinstellungen und der Schnittstelle für Symbolspezifikationen hinzugefügt.
Ich habe nicht gefunden, wie man zu diesen Eigenschaften von MQL5 zu bekommen.
@Renat Fatkhullin
Gibt es Pläne, die Möglichkeit hinzuzufügen, diese Eigenschaften von MQL5 zu erhalten?
Forum über Handel, automatisierte Handelssysteme und das Testen von Handelsstrategien
Expert Advisors: MQL5 Programming for Traders - Quellcodes aus dem Buch. Teil 7
Stanislav Korotky, 2024.11.23 20:26
Hier habe ich in den Nachrichten für Anfang 2024 (d.h. nachdem das Buch geschrieben wurde) über Build 4150 gefunden - https://www.metatrader5.com/en/releasenotes/terminal/2342.
In den Server-Einstellungen und der Symbol-Spezifikationsschnittstelle wurde die Randabhängigkeit von der Lautstärke hinzugefügt.
Ich habe nicht herausgefunden, wie man von MQL5 aus zu diesen Eigenschaften gelangt.
Bei einem bestimmten Broker/Instrument ist diese Floating-Margin-Einstellung möglicherweise nicht aktiviert, so dass ich bei der Überprüfung in der MQ-Demo keine Unterschiede feststellen konnte.