Fragen von Anfängern MQL4 MT4 MetaTrader 4 - Seite 238
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
Artyom, 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 ich 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;
...
Sie sind herzlich willkommen. Sie können lange auf meine Antwort/Ratschläge warten :) Andere haben Ihnen das Gleiche gesagt.
Es gibt keine Lösung für den Marktplatz. Und Sie brauchen PostMessageW()
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?
Nein. Der Aufruf von Parametern mit F7 beendet den EA über OnDeInit und startet den EA erneut über OnInit. So funktioniert der EA in einem Chart. Krustig geht gar nicht. Das Parameterformular funktioniert nur in eine Richtung, die Werte für intput und extern werden dort programmatisch gelesen (in 5ka gibt es übrigens kein extern), bevor der EA initialisiert wird. Das zweite Mal wird OnInit während der aktuellen EA-Operation nicht aufgerufen.
Der einzige Weg, um Criss-Cross ist es, den EA-Code zu ziehen, Änderungen dort, kompilieren Sie es und rufen Sie den Parameter Form))) Aber das ist eine Sisyphusarbeit)) Ein Panel, das der Form der Parameter ähnelt, ist korrekter...
Nein. Der Aufruf von Parametern mit F7 beendet den EA über OnDeInit und startet den EA erneut über OnInit. So funktioniert der EA im Chart. Es wird nicht einmal krustig. Das Parameterformular funktioniert nur in eine Richtung, die Werte für intput und extern werden dort programmatisch gelesen (in 5ka gibt es übrigens kein extern), bevor der EA initialisiert wird. Das zweite Mal wird OnInit während der aktuellen EA-Operation nicht aufgerufen.
Der einzige Weg, um Criss-Cross ist es, den EA-Code zu ziehen, Änderungen dort, kompilieren Sie es und rufen Sie den Parameter Form))) Aber das ist eine Sisyphusarbeit)) Ein Panel, das der Form der Parameter ähnelt, ist korrekter...
Danke, ich werde es ausprobieren. Ich habe an eine andere Variante gedacht - das Formular der Parameter aufrufen, dann durch Funktionen API in Edit-Felder die Werte der Parameter zu schreiben.
Übrigens, wie kann ich erreichen, dass beim Starten eines EA das Parameterformular NICHT angezeigt wird? Ich rufe es programmatisch auf, so dass es in der ersten Sendung keinen Sinn hat.
Danke, ich werde es ausprobieren. Ich dachte an eine andere Möglichkeit - die Form der Parameter aufrufen, dann durch API-Funktionen, um in Edit-Felder die Werte der Parameter zu schreiben.
Übrigens, könnten Sie beraten, wie man das Parameterformular NICHT anzeigen, wenn ich den EA starten? Ich rufe es programmatisch auf, so dass es in der ersten Sendung keinen Sinn hat.
programmatisch eine Vorlage mit allen erforderlichen Parametern erstellen und dann ChartApplyTemplate()
Danke, ich werde es ausprobieren. Ich dachte an eine andere Möglichkeit - die Form der Parameter aufrufen, dann durch API-Funktionen, um in Edit-Felder die Werte der Parameter zu schreiben.
Könnten Sie mir übrigens sagen, wie ich das Parameterformular beim Start von Expert Advisor NICHT anzeigen lassen kann? Ich rufe es programmatisch auf, so dass es in der ersten Sendung keinen Sinn hat.
Ich verstehe die Logik nicht, warum das so ist) Es gibt OOP, jeder EA kann in eine Klasse verpackt werden, und rufen Sie es aus einer Klasse mit Parametern erhalten / berechnet wie gewünscht. Und das, ohne den Rahmen des μl zu verlassen.
Ich weiß nicht, wie man ein Formular so einstellt, dass es beim manuellen Start nicht angezeigt wird.
Wenn weiter zu verkrüppeln, ist es möglich, Parameter in parammysov.set schreiben und lesen Sie es. Aber das ist ein komplexes Add-on.
programmatisch eine Vorlage mit allen erforderlichen Parametern erstellen und dann ChartApplyTemplate()
Maxim, genial! Ich wusste nicht, dass die EA-Einstellungen in einer Vorlage gespeichert werden. Diese Option ist die einfachste, also werde ich es auf diese Weise tun. Es gibt nur ein Problem - beim Start wird die Form der Parameter nicht angezeigt.
Aber das ist nicht kritisch, ich brauche nur noch einmal auf OK zu klicken.
Hallo, helfen Sie mir, einen einfachen Algorithmus zu erstellen, bei dem alte Aufträge gelöscht werden, wenn neue Aufträge gebildet werden...
Leute. MT4 funktioniert nicht. Zeigt die gestrige Zeit als 23:59 an. Gleiche Situation online. Gleiche Situation vom Telefon über das mobile Internet. Was ist das?
Leute. MT4 funktioniert nicht. Zeigt die gestrige Zeit als 23:59 an. Gleiche Situation online. Vom Telefon über mobiles Internet dieselbe Situation. Was ist das?
Ich kann mir vorstellen, dass es ein freier Tag ist.