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
Ein Ratschlag von einem Autodidakten:
Um den Übergang zu mql5 zu erleichtern, ist es wünschenswert, nicht int-Perioden-Variablen in mql4 zu verwenden, sondern aus der Enum ENUM_TIMEFRAMES
Und warum?
Denn wenn ich so etwas mit anderen Sprachen implementiere, habe ich Schwierigkeiten, herauszufinden, wie ich in das Terminal komme. Es kann alles öffnen, und wenn es über µl implementiert ist, kann man auch Bots über Buttons einbinden.
Sie können auch eine Datenbank und weitere Software installieren und alle Ihre Daten in einem einzigen Symbol mit sich herumtragen.Ich freue mich zu glauben, dass Ihre Probleme nicht ohne sie gelöst werden können. Man muss schon ins Detail gehen, um es nicht zu glauben :)
Spin
Jetzt müssen wir auf einen Tick den neuen Balken auf H1, M5 und D1 bestimmen. Das heißt, die ersten 1 Stunde und 5 Minuten schläft der Expert Advisor und erst um 1:05 Uhr eines neuen Tages muss er aufwachen und etwas tun.
Das sind dann 3 globale Variablen? Und was, wenn wir dasselbe in 2-3-7 Expert Advisors tun müssen? Wie viele Varianten von Namen für globale Variablen sollten wir noch erstellen?
Ich werde die Aufgabe auf meine eigene Weise lösen. Die Hauptsache ist, dass die Funktion gut funktioniert, das Programm nicht verlangsamt und auf beiden Terminals verwendet werden kann. Der Rest hängt von mir ab.
Ihr Zögern, eine Lösung anzubieten, ist eine beredte Antwort. Denn mit OOP wird das Problem einfach und standardmäßig ohne Nachdenken gelöst.
Ich werde das Problem auf meine eigene Weise lösen. Die Hauptsache ist, dass die Funktion gut funktioniert, das Programm nicht verlangsamt und auf beiden Terminals verwendet werden kann. Der Rest liegt in meinem Ermessen.
Ihr Zögern, eine Lösung anzubieten, ist eine beredte Antwort. Denn mit OOP wird das Problem einfach und standardmäßig ohne Nachdenken gelöst.
Ich freue mich zu glauben, dass Ihre Probleme nicht ohne sie gelöst werden können. Man muss schon ins Detail gehen, um es zu glauben :)
Ich habe viele Leute klagen hören, dass "die Arbeit mit Indikatoren auf MT5 viel komplizierter ist als auf MT4.
Nun, der OOP-Ansatz ermöglicht es, diese Arbeit zu vereinheitlichen, so dass es für den Expert Advisor keine Rolle spielt, auf welcher Plattform er läuft.
Ich habe es so organisiert.
Wenn wir einen Indikator benötigen (z. B. den MA), muss der Expert Advisor das Objekt CMA_IParams:public CIndicatorParamsI deklarieren, in dem er alle benötigten Parameter des MA speichert. Dann übergeben Sie einen Zeiger auf diese Struktur in der Funktion GetIndicator() an den Data Provider. Diese Funktion gibt den Zeiger auf die virtuelle Schnittstelle CIndicator zurück. Das war's. Diese Schnittstelle enthält alle notwendigen Daten über den aufgerufenen Indikator.
Wenn Sie einen anderen Indikator benötigen, wird das abgeleitete Objekt der Schnittstelle CIndicatorParamsI deklariert, alle Parameter des Indikators werden in dieses Objekt geschrieben und es wird an den Datenanbieter übergeben, stattdessen wird der Zeiger aufden erstellten Indikator zurückgegeben.
Wenn ein neuer Indikator benötigt wird, wird sein portabler Code in den Datenanbieter geschrieben, und dann kann jeder Benutzer einen neuen Indikator vom Datenanbieter anfordern, indem er seine Parameter an den Datenanbieter übergibt.
Wenn ein Expert Advisor z.B. so arbeitet, dass er "zum Mittelwert zurückkehrt", ist es sehr einfach, diesen Mittelwert zu ändern, z.B. die Mitte des Preiskanals anstelle des MA zu nehmen - einfach durch Änderung des Parameterobjekts.
Ich frage mich, wie das für Fans des verfahrenstechnischen Ansatzes organisiert ist?
Oft wird beklagt, dass "die Arbeit mit Indikatoren auf MT5 viel komplizierter ist als auf MT4.
Der OOP-Ansatz ermöglicht es also, diese Arbeit zu vereinheitlichen, so dass es für den Expert Advisor wiederum nicht einmal von Bedeutung ist, auf welcher Plattform er läuft.
Ich habe es so organisiert.
Wenn wir einen Indikator benötigen (z. B. den MA), muss der Expert Advisor das Objekt CMA_IParams:public CIndicatorParamsI deklarieren, in dem er alle benötigten Parameter des MA speichert. Dann sollte der Zeiger auf diese Struktur in der Funktion GetIndicator() an den Data Provider übergeben werden. Diese Funktion gibt den Zeiger auf die virtuelle Schnittstelle CIndicator zurück. Diese Schnittstelle enthält alle notwendigen Daten über den aufgerufenen Indikator.
Wenn Sie einen anderen Indikator benötigen, wird das abgeleitete Objekt der Schnittstelle CIndicatorParamsI deklariert, alle Parameter des Indikators werden in dieses Objekt geschrieben und es wird an den Datenanbieter übergeben, der Zeiger aufden erstellten Indikator wird stattdessen zurückgegeben.
Wenn ein neuer Indikator benötigt wird, wird sein portabler Code in den Datenanbieter geschrieben, und dann kann jeder Benutzer einen neuen Indikator vom Datenanbieter anfordern, indem er seine Parameter an den Datenanbieter übergibt.
Wenn ein Expert Advisor z.B. so arbeitet, dass er "zum Mittelwert zurückkehrt", ist es sehr einfach, diesen Mittelwert zu ändern, z.B. die Mitte des Preiskanals anstelle des MA zu nehmen - einfach durch Änderung des Parameterobjekts.
Ich frage mich, wie das für Fans des verfahrenstechnischen Ansatzes organisiert ist?
Es tut mir leid, ich muss gehen. Es kamen Bestellungen herein... Wenn es Ihnen nichts ausmacht, machen wir morgen weiter.
Es tut mir leid, ich muss gehen. Es kamen Bestellungen herein... Wenn es Ihnen nichts ausmacht, machen wir morgen weiter.
Gibt es einen Befehl, dass er nach Westen gehen soll?