Fragen von Anfängern MQL4 MT4 MetaTrader 4 - Seite 237
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
Der Indikator von MT5 zeichnet eine Linie in zwei Farben.
Die Werte der Zeile befinden sich in demselben Puffer.
Gibt es eine Möglichkeit, die Farbe der Linie bei der Abfrage von Werten aus dem Indikator zu identifizieren?
Wenn es nicht möglich ist, das Parameterfenster programmatisch anzuzeigen, geben Sie bitte an, ob die Parameter auf irgendeine Weise initialisiert werden können
Was empfehlen Sie?
Zunächst müssen die Durchsuchungsbefehle nach Symbolen und Magiern gesichtet werden. Es bleiben Ihnen zwei Aufträge. Sie wählen den zu löschenden Eintrag in Ihrer Bedingung aus. Sie löschen einen und ändern den Stop-Loss.
Alexey, ich hatte um einen Vorschlag gebeten, wie man die Parameterberechnungsfunktion aufruft, BEVOR das Parameterfenster erscheint, nicht danach.
Die Frage ist offen: ist es möglich, das Parameterfenster PROGRAMMATISCH aufzurufen? Wenn nicht, ist es möglich, Parameter aus einer Funktion heraus zu initialisieren, BEVOR das Parameterfenster erscheint.
Ich würde gerne etwas wie folgt machen
input double BuyStop = GetMyBuyStop();
Ich erhalte jedoch die Fehlermeldung, dass nur Konstanten auf der rechten Seite stehen können (
Alexey, ich hatte um einen Vorschlag gebeten, wie man die Parameterberechnungsfunktion aufruft, BEVOR das Parameterfenster erscheint, nicht danach.
Die Frage ist offen: ist es möglich, das Parameterfenster PROGRAMMATISCH aufzurufen? Wenn nicht, ist es möglich, Parameter aus einer Funktion heraus zu initialisieren , BEVOR das Parameterfenster erscheint.
Ich würde gerne etwas wie folgt machen
input double BuyStop = GetMyBuyStop();
Es tritt jedoch ein Fehler auf, dass es nur eine Konstante auf der rechten Seite geben kann (
Es gibt nichts, bevor das Parameterfenster erscheint, alles beginnt erst später, wenn das Fenster bereits geladen ist
Genau das hat Vitaly gesagt!
Erstellen Sie ein Panel im Diagramm und verwalten Sie die Variablen von dort aus.
Vor dem Erscheinen des Parameterfensters ist nichts zu sehen, es beginnt erst danach, wenn das Fenster bereits geladen ist.
Ich weiß das, deshalb warte ich auf professionellen Rat. Vielleicht kann dies auf nicht standardisierte Weise geschehen, durch Win API oder etwas anderes.
Gibt es wirklich keine Möglichkeit, das Fenster programmgesteuert über den Code anzuzeigen?
Ich weiß das, deshalb warte ich auf professionellen Rat. Vielleicht kann dies auf nicht standardisierte Weise geschehen, durch Win API oder etwas anderes.
Gibt es keine Möglichkeit, das Fenster programmgesteuert über den Code anzuzeigen?
Vor der Initialisierung des EA (und die Parameter werden vor der Initialisierung eingegeben), ist der EA nicht verfügbar, er funktioniert nicht... Vor der Initialisierung des Expert Advisors steht Ihnen das Fenster mit seinen Parametern zur Verfügung. Aber das passt nicht zu Ihnen. Verwenden Sie also eine andere Eingabe der Werte, die Sie benötigen - nach der Initialisierung des EA. Sie haben Zugriff auf das Fenster MessageBox(). Aber es wird Ihnen nicht viel helfen - es gibt keine Werteingabefelder - nur Schaltflächen zum Zustimmen/Ablehnen/Abbrechen.
Sie müssen also Ihr eigenes Fenster verwenden. Sie können sie selbst aus Objekten erstellen. Suchen Sie danach in ObjectCreate(). Oder verwenden Sie Canvas. Aber Kanvas ist nicht für einfaches Handwerk geeignet.
Wenn der EA nicht verfügbar ist, bevor er initialisiert wird (und die Parameter vor der Initialisierung eingegeben werden), funktioniert er nicht... Bevor der EA initialisiert wird, steht Ihnen sein Parameterfenster zur Verfügung. Aber das passt nicht zu Ihnen. Verwenden Sie also eine andere Eingabe der Werte, die Sie benötigen - nach der Initialisierung des EA. Sie haben Zugriff auf das Fenster MessageBox(). Aber es wird Ihnen nicht viel helfen - es gibt keine Werteingabefelder - nur Schaltflächen zum Zustimmen/Ablehnen/Abbrechen.
Sie müssen also Ihr eigenes Fenster verwenden. Sie können sie selbst aus Objekten erstellen. Suchen Sie danach in ObjectCreate(). Oder verwenden Sie Canvas. Aber Kanvas ist nicht für einfaches Handwerk geeignet.
Artem, danke, ich habe auf deinen Rat gewartet. Während ich wartete, suchte ich selbst nach möglichen Lösungen. Heute Morgen habe ich herausgefunden, wie man das Einstellungsfenster programmatisch anzeigen kann!
Ich habe herausgefunden, dass das Fenster durch Drücken von F7 aufgerufen wird. Eine Suche im Internet hat ergeben, dass ich mit MQL ein Softkey-Display erstellen kann.
Der Rest ist eine Frage der Technik. Ich füge den Code hier ein, um ihn mit Ihnen zu teilen, falls er für jemanden nützlich sein könnte:
extern double BuyStop, SellStop;
...
Aber ich habe mich zu früh gefreut. Es ist mir gelungen, das Parameterfenster programmatisch zu öffnen, aber die Werte, die ich den Parametern in der Prozedur zugewiesen habe, wurden nicht gespeichert (((
Das heißt, wenn ich das Parameterfenster öffne, sehe ich die bei der Initialisierung angegebenen Werte, in meinem Fall Nullen.
Gibt es eine Möglichkeit, die berechneten Werte in das Parameterformular zu übertragen?