![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
Künftig soll das Skript gemäß dem Selbststudienplan Schritt für Schritt geändert werden:
Natürlich hätten Sie die Ratschläge des Tutorials nicht befolgen sollen. Sie mögen zwar wissen, wie man Linien, Aufträge usw. festlegt, aber Sie werden trotzdem nicht in der Lage sein, eine Strategie zu entwickeln, weil Ihnen die theoretische Grundlage fehlt. All diese Zeilen und Skripte werden Ihnen nicht helfen, die Grundlagen der Programmierung zu verstehen, und Sie kommen ohne sie nicht weit. Die ersten vier Monate habe ich nur gelernt und nicht einmal versucht, etwas zu schreiben. Natürlich hätte ich auch dreist sein können, wie Sie, aber die Qualität dieses Wissens ist schlecht. Es gibt immer Lücken in den Grundlagen, die in Zukunft gefüllt werden müssen...
Hallo, Peter! Ich lese das Lehrbuch nach Bedarf, d. h. wenn ich eine Wissenslücke sehe. Ich habe das Gefühl, dass ich jetzt eine kleine Pause einlegen und das Lehrbuch genauer studieren muss. Alle Empfehlungen von Forumsteilnehmern werden berücksichtigt, und ich versuche, mich an sie zu halten. Und jetzt bin ich erstaunt, dass ich es geschafft habe, in so kurzer Zeit etwas nur mit dem MQL5-Referenzbuch zu schreiben.
Mit freundlichen Grüßen, Vladimir.
Guten Abend an alle und gute Laune!
Ich füge ein neues Skript New6.mq5 ein, das Ihnen hilft, einen SellStop- und einen BuyStop-Auftrag mit einer festen Losgröße in einem bestimmten Abstand zum aktuellen Kurs im aktuellen Chart zu platzieren. In diesem Skript habe ich versucht, alles so zu beschreiben, wie ich es vorhin versprochen habe, in klarer und verständlicher Form für einen Programmierer der ersten Klasse.
Ich habe beim Schreiben des Skripts nur die Informationen aus der MQL5-Referenz verwendet!
Mit freundlichen Grüßen, Vladimir.
Dies ist ein gutes Beispiel. Ich schlage vor, sie als Ausgangspunkt zu verwenden. Die Grundlagen.
In Zukunft soll das Skript laut Selbststudienplan Schritt für Schritt geändert werden, d.h:
Nein, nein. Schließen Sie die neuen Funktionen noch nicht an. Verbessern Sie nun die bestehende Logik. Gleichzeitig sollten die Probleme bei der Skriptimplementierung behoben werden (sie sind bereits sichtbar). Wenn Sie wissen wollen, was Sie umschreiben sollen, sage ich es Ihnen.
Das Beispiel ist ein gutes Beispiel. Ich schlage vor, sie als Ausgangspunkt zu verwenden. Ausgangssituation.
Nein, nein. Schalten Sie jetzt noch keine neuen Funktionen ein. Verbessern Sie nun die bestehende Logik. Gleichzeitig sollten die Probleme bei der Skriptimplementierung beseitigt werden (sie sind bereits sichtbar). Was genau Sie umschreiben müssen, verrate ich Ihnen, wenn Sie daran interessiert sind.
Hallo Wassili! Natürlich können Sie mir sagen, was Sie umschreiben müssen, das würde mich interessieren!
Mit freundlichen Grüßen, Vladimir.
Hallo Wassili! Sagen Sie mir natürlich, was Sie umschreiben müssen, ich bin sehr interessiert!
Mit freundlichen Grüßen, Vladimir.
Programmierer haben zwei Probleme: Fehler, die vom Compiler erzeugt werden, und Architekturprobleme. Als Anfänger konzentrieren Sie sich darauf, mit dem Compiler zu kämpfen, während Ihr oberstes Ziel ein korrekt funktionierendes Programm ist. Allerdings verwandelt sich ein Anfängerprogramm sehr schnell in so genannten Spaghetti-Code, den der Autor selbst nicht schnell genug durchschauen kann. Deshalb schlage ich vor, dass Sie sich nicht auf den Compiler und die Korrektheit des endgültigen Skripts konzentrieren, sondern auf Fragen der Architektur. Es ist wie beim Erlernen des Klavierspiels: Zuerst lernt man, die Finger richtig zu halten und richtig am Instrument zu sitzen, niemand verlangt von einem Anfänger, Bach zu spielen.
Sie haben zwei Gruppen von Parametern, die das Verhalten Ihres Skripts bestimmen: Die erste Gruppe wird statisch, als Makro, festgelegt. Die zweite wird vom Benutzer beim Laden des Skripts im Diagramm festgelegt. Jetzt kann der Benutzer die Art der Bestellung nicht mehr auswählen, ohne dieses Skript neu zu kompilieren. Das ist nicht gut. Daher wäre es besser, auf diese Makros zu verzichten und stattdessen den zusätzlichen Parameter zu verwenden:
Dementsprechend haben wir eine neue Aufzählung definiert, die wir als Auswahlparameter für den Benutzer implementiert haben.
Programmierer haben zwei Probleme: Compilerfehler und Architekturprobleme. Als Anfänger konzentrieren Sie sich darauf, den Compiler zu bekämpfen, und Ihr ultimatives Ziel ist ein Programm, das korrekt funktioniert. Allerdings verwandelt sich ein Anfängerprogramm sehr schnell in so genannten Spaghetti-Code, den der Autor selbst nicht schnell genug durchschauen kann. Deshalb schlage ich vor, dass Sie sich nicht auf den Compiler und die Korrektheit des endgültigen Skripts konzentrieren, sondern auf Fragen der Architektur. Es ist wie beim Erlernen des Klavierspiels: Zuerst lernt man, die Finger richtig zu halten und richtig am Instrument zu sitzen, niemand verlangt von einem Anfänger, Bach zu spielen.
Sie haben zwei Gruppen von Parametern, die das Verhalten Ihres Skripts bestimmen: Die erste Gruppe wird statisch, als Makro, festgelegt. Die zweite wird vom Benutzer beim Laden des Skripts im Diagramm festgelegt. Jetzt kann der Benutzer die Art der Bestellung nicht mehr auswählen, ohne dieses Skript neu zu kompilieren. Das ist nicht gut. Daher wäre es besser, auf diese Makros zu verzichten und stattdessen den zusätzlichen Parameter zu verwenden:
Dementsprechend haben wir eine neue Aufzählung definiert, die wir als Auswahlparameter für den Benutzer implementiert haben.
Großartig, Sie haben mich tatsächlich zu dem veranlasst, was in Schritt 4 der schrittweisen Änderung des Skripts steht, nämlich die Auswahl der ausstehenden Aufträge zu erweitern.
Ich danke Ihnen!
Mit freundlichen Grüßen, Vladimir.
Das nächste Problem mit Ihrem Code ist, dass er sich zu einem langen verfahrenstechnischen Blatt ausweitet. Alle Anfänger schreiben auf diese Weise. Und das ist ein Problem, das sie über Jahre hinweg begleitet. Lernen Sie, Ihren Algorithmus in Teile zu zerlegen, angefangen bei den Grundlagen wie diesem Skript. Es gibt zwei Möglichkeiten, dies zu tun: durch Funktionen und Klassen. Das Konzept der Klassen ist anfangs zu schwierig zu verstehen, daher schlage ich vor, dass Sie sich auf die Arbeit mit Funktionen konzentrieren. Denken Sie über die Bedeutung von Funktionen nach:
Das nächste Problem mit Ihrem Code ist, dass er sich zu einem langen verfahrenstechnischen Blatt ausweitet. Alle Anfänger schreiben auf diese Weise. Und das ist ein Problem, das sie über Jahre hinweg begleitet. Lernen Sie, Ihren Algorithmus in Teile zu zerlegen, angefangen bei den Grundlagen wie diesem Skript. Es gibt zwei Möglichkeiten, dies zu tun: durch Funktionen und Klassen. Das Konzept der Klassen ist anfangs zu schwierig zu verstehen, daher schlage ich vor, dass Sie sich auf die Arbeit mit Funktionen konzentrieren. Denken Sie über die Bedeutung von Funktionen nach:
Vielen Dank, Vasily, für diese umfassende Beratung. Ich werde sie auf jeden Fall berücksichtigen und versuchen, mein Bestes zu geben.
Mit freundlichen Grüßen, Vladimir.
Das nächste Problem mit Ihrem Code ist, dass er sich zu einem langen verfahrenstechnischen Blatt ausweitet. Alle Anfänger schreiben auf diese Weise. Und das ist ein Problem, das sie über Jahre hinweg begleitet. Lernen Sie, Ihren Algorithmus in Teile zu zerlegen, angefangen bei den Grundlagen wie diesem Skript. Es gibt zwei Möglichkeiten, dies zu tun: durch Funktionen und Klassen. Das Konzept der Klassen ist anfangs zu schwierig zu verstehen, daher schlage ich vor, dass Sie sich auf die Arbeit mit Funktionen konzentrieren. Denken Sie über die Bedeutung von Funktionen nach:
Vasily, der Mann hat noch nicht einmal Arrays beherrscht. Es ist noch zu früh für ihn, sich solche Vorträge anzuhören).
Peter, jeder konstruktive Rat ist mir wichtig, auch Ihrer!
Mit freundlichen Grüßen, Vladimir.