Fragen von Neueinsteigern zu MQL4 und MQL5, Hilfe und Diskussion über Algorithmen und Codes - Seite 1804

 
MakarFX #:

Ich habe einen Vorschlag. Geben Sie mir Ihr Telegramm unter vier Augen.

Ich habe im Moment einiges an Arbeit zu erledigen. Wenn ich Arbeit brauche, werde ich schreiben.

 
Mihail Matkovskij #:

In diesem Fall muss er nachgearbeitet werden, damit er nicht verdreht wird. Denn der Code, den ich hinzugefügt habe, ist für einen Roboter mit Eröffnungskurs-Signalen gedacht, wie ich bereits sagte. Ich dachte: Das ist seltsam. Und dann habe ich den Grund gefunden. Wenn Sie es von Anfang an richtig machen, werden Sie in Zukunft keine Probleme mehr haben. Man sollte also immer nach der Ursache und nicht nach der Wirkung suchen.

Sie sehen, wie kompliziert es ist))) Dieser Roboter ist so konzipiert, dass er auf aktuelle Preissignale reagiert.
 
Mihail Matkovskij #:

Im Moment habe ich noch einiges zu tun. Wenn ich Arbeit brauche, werde ich schreiben.

Ganz wie Sie wollen. Das ist nichts für mich, es gibt einen Kunden, aber mir fehlen die Kenntnisse.
 
MakarFX #:
Sie sehen, wie kompliziert alles ist))) Dieser Roboter ist so konzipiert, dass er mit den Signalen des aktuellen Kurses arbeitet.

Die eigentliche Schwierigkeit besteht darin, dass Sie es nicht richtig hinbekommen (beseitigen Sie nicht die Ursache für die Komplexität des Algorithmus, wie ich bereits gesagt habe). Deshalb müssen Sie Folgendes tun (ich wiederhole es noch einmal):

Forum zum Thema Handel, automatisierte Handelssysteme und Testen von Handelsstrategien

Alle Fragen von Neulingen zu MQL4 und MQL5, Hilfe und Diskussion von Algorithmen und Codes

Mihail Matkovskij, 2021.12.08 21:20

Wenn das der Fall ist, sollte der MA mit dem Index 1 auf dem unteren Zeitrahmen genommen werden. Dann brauchen Sie keine Änderungen vorzunehmen. Innerhalb der Eröffnungs- und Schlussphase der großen TF gibt es mehrere (oder viele) Balken auf der kleinen TF. Sie wissen, warum Zeitrahmen erfunden wurden, nicht wahr? Wenn nicht, dann beginnen Sie mit dem Studium dieser Frage aus der Geschichte der japanischen Kerzenständer. Kurzum, es geht darum, die technische Analyse zu vereinfachen. Und mit dem Aufkommen des digitalen Zeitalters vereinfacht es auch die Diskretisierung von Handelssystemen.

Aber lassen wir doch den gesetzestreuen Bürger entscheiden, was er tun soll. Ich denke, er wird völlig verwirrt sein, wenn er all das oben Gesagte liest. Aber genau darum geht es bei der Programmierung. Wenn Siein Zukunft nicht verwirrt werden wollen, dann geben Sie Ihren Algorithmus jetzt klar an!

Dasselbe gilt für Nerd Trader, der aus demselben Grund verwirrt war. Er wusste nicht, was er mit seiner Bewerbung anfangen sollte. Das gesamte Forum hat ihn gerettet, aber leider hat nichts geholfen .) Denn er weigerte sich hartnäckig, die Ursache für sein Problem zu erkennen.

 
MakarFX #:
Artem, die Strategie sieht eine Order im Markt vor, bis er bei TP oder SL schließt.

Und müssen wir für die nächste Strategie den Code neu schreiben? Und was ist, wenn die Person, die ihren EA schließlich geschrieben und getestet hat, versuchen möchte, die bestehende Position zu erweitern? Alles wird neu gemacht werden müssen.

Ich sage nicht, dass es falsch ist. Ich sage nur, dass es kurzsichtig wäre, jedes Mal einen neuen EA zu erstellen. Der Rahmen sollte einmal geschrieben werden, und dann können wir alles, was wir brauchen, durch Hinzufügen neuer Algorithmen ohne größere Änderungen zusammenstellen.

 
MakarFX #:

Der gleiche Weg, wie Sie vorgeschlagen, könnte getan werden, wenn der Code in MQL5 war. Dann könnte das Ereignis OnTradeTransaction behandelt werden. Und wir könnten dort überprüfen, ob die Bestellung geöffnet wurde. Dort kann auch die neue Öffnungszeit einer Bar eingetragen werden. Dann würde alles wie am Schnürchen laufen. Und in MQL4 müssen wir uns noch überlegen, wie wir den Moment der Eröffnung eines neuen Auftrags erfassen können. Es ist also auf jeden Fall eine Komplikation.

 
Mihail Matkovskij #:

Der gleiche Weg, wie Sie vorgeschlagen, könnte getan werden, wenn der Code in MQL5 war. Dann könnte das Ereignis OnTradeTransaction behandelt werden. Dort können wir sicher sein, dass die Bestellung geöffnet wurde. Dort kann auch die neue Öffnungszeit einer Bar eingetragen werden. Dann würde alles wie am Schnürchen laufen. Und in MQL4 müssen wir uns noch überlegen, wie wir den Moment der Eröffnung eines neuen Auftrags erfassen können. Das Ganze entpuppt sich jedoch als eine einzige Komplikation.

Alles wurde vor langer Zeit erfunden.

 
Artyom Trishkin #:

Längst ist alles gestohlen und erfunden worden.

Ich habe bereits gesagt, dass ich jetzt nicht die Möglichkeit habe, auf diese Details einzugehen, da ich an meinem eigenen Projekt arbeite. Ich habe ohnehin schon viel Zeit mit dem Schriftverkehr verschwendet. Ich hätte es einfach kapieren müssen... :)

 
Mihail Matkovskij #:

Ich habe bereits gesagt, dass ich im Moment nicht die Möglichkeit habe, auf diese Details einzugehen, da ich an meinem eigenen Projekt arbeite. Ich habe bereits viel Zeit für den Schriftverkehr verschwendet. Ich hätte einfach aufholen sollen... :)

GUT.

 
Mihail Matkovskij #:
Das Gleiche gilt für den Nutzer von Nerd Trader, der aus demselben Grund verwirrt war. Er wusste nicht, was er mit seiner Bewerbung anfangen sollte. Das ganze Forum hat ihn gerettet, aber leider hat ihm nichts geholfen .) Denn er weigerte sich hartnäckig, die Ursache für sein Problem zu erkennen.

Nichts dergleichen, ich habe das Problem bereits (teilweise) gelöst, und zwar durch Ausblenden/Anzeigen statt Neuanlegen. Wenn man auf die Schaltfläche klickt, funktioniert alles, wie es sollte (es erscheint eine Zeile zum Einstellen der Reihenfolge), aber ich habe auch die Bergtaste implementiert, das ist das Schlimme daran:


Durch Drücken von W wird die Taste SO gedrückt. Anstelle des Cursors sollte eine gelbe Linie erscheinen (da sich der Cursor unterhalb des Bid befindet), aber es erscheint eine grüne Linie, da er sich oberhalb des Asc befindet. Durch erneutes Drücken von W wird die Taste losgelassen, und die Linie sollte aus dem Diagramm verschwinden, aber das Szenario wiederholt sich: Die Linie erscheint wieder und wird nur ausgeblendet, wenn der Cursor bewegt wird.


Ich hatte eine Variante mit der Erstellung von nur einer Zeile und der Änderung der Farbeigenschaft des Objekts - dort wurden keine solchen Tricks beobachtet.
Grund der Beschwerde: