![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
Ghost, wir haben 0.3, die jetzt funktioniert. Ich bin mir bei 0.2 nicht sicher, aber 0.3 unterstützt sicher Text und Bgcolors bei CHECKBOX und BUTTONS (der Rest ist noch nicht implementiert).
Um den Status des Kontrollkästchens zu erhalten, werden wir eine neue Funktion definieren, aber derzeit kann tbIsClicked(handle) Klicks erkennen, so dass man eine interne Funktion erstellen kann, um den Status abzufangen, da er 1 oder 0 sein kann. Aber in den nächsten Versionen wird eine neue Funktion kommen, um den Status des Kontrollkästchens zu verwalten.
Um den Wert eines Textfeldes zu erhalten, verwenden Sie
string tbGetText(handle)
Es ist keine Funktion geplant, um den Wert eines Buttons zu erhalten, aber man kann den Text des Buttons setzen mit
tbSetText( obj, text, fontsize, fontname )
Diese Funktion kann auch den Wert eines Labels, Textfeldes usw. setzen: .....
fx1
Hier möchte ich ein neues kostenloses Addon für mt4 als Preview vorstellen. Ich teste derzeit ein Produkt namens mt4gui. Dieses Produkt ermöglicht es, Buttons, Text- und Listenfelder direkt im Chart zu platzieren; hier ist ein Preview-Screenshoot, der bereits funktioniert
http://fx1.net/wiki/uploads/img_7.png
Die Schaltflächen reagieren sofort nach dem Klick, ohne auf den Tick auf der Brokerseite zu warten. Wir werden dieses Produkt in den nächsten Wochen mit weiteren Funktionen verbessern. Der Grund, warum ich das hier poste, ist, um Ideen von der Community zu bekommen, was benötigt wird. Natürlich kann nicht alles realisiert werden, aber ich werde interessante Ideen hier filtern.
Hier ist ein Beispiel mit sehr einfachem Code, der die Verwendung demonstriert:
wie wäre es, wenn man ein Objekt zu einem Diagramm hinzufügen könnte? winapi
sich als sehr nützlich erweisen
Britanec,
ein solches Objekt ist in diesem Stadium sehr kompliziert zu implementieren, da wir alle gängigen Objekte bis zur Version 1.0 freigeben wollen, dann können wir zu fortgeschrittenen Themen übergehen, aber ich danke Ihnen für Ihre Vorschläge, lassen Sie uns über neue Ideen wissen
fx1.net
Ich glaube, ich habe mich in meinem letzten Beitrag nicht sehr klar ausgedrückt. Lassen Sie es uns noch einmal versuchen:
1) Die Art und Weise, wie Ihre Funktion Schaltflächen auf dem Bildschirm platziert, unterscheidet sich leicht von ObjectCreate in mql. Sie ist nicht an eine Ecke gebunden. Um also ein Objekt in Bezug auf die untere Ecke zu platzieren, gibt es negative Koordinaten. Außerdem bezieht sich die Platzierung auf das gesamte Fenster und nicht auf ein Diagrammfenster. Dagegen habe ich nichts einzuwenden, aber die Platzierung von Text neben einer Schaltfläche mit negativer Koordinate ist mit der allgemeinen mql-Funktion nicht möglich, oder vielleicht könnte ich es nicht. Ihre "pxy"-Funktion ist genauso gut wie andere, um Text in einem Diagrammfenster zu platzieren, aber sie hat die Aufgabe nicht erfüllt, da die Koordinaten anders angegeben sind.
2) Die Farben funktionierten in Version 2 nicht. Vielen Dank für das Update auf Version 3. Absolut kein Problem mehr mit den Farben. Ausgezeichnet.
3) Ich möchte Sie noch einmal fragen, ob es möglich ist, mit der Funktion tbPutObject Ihrer DLL Objekte in einem separaten Unterfenster zu platzieren. Ihr Produkt wäre meiner Meinung nach 10 Mal wertvoller, wenn das möglich wäre. Es wird so etwas wie eine Handelskonsole sein, und innerhalb eines Fensters sehr verwaltbar. Außerdem würde es alle in Punkt 1 angesprochenen Koordinatenprobleme lösen.
4) Ich habe das Beispiel, das du hier gepostet hast und das von der fx1 Seite. Und natürlich habe ich tbRemove für jedes der Objekte in deinit. Es werden nur die Objekte NICHT entfernt, wenn der Experte entfernt wird. Ich habe keine Ahnung, warum.
Ich möchte Ihnen noch einmal für das Produkt danken. Es ist wirklich hervorragend und genau das, wonach ich lange Zeit gesucht habe.
Es gibt jedoch ein Problem, auf das ich Sie aufmerksam machen möchte. Wenn die ExpertAdvisor-Schaltfläche des MT4 ausgeschaltet ist und eine Ihrer Schaltflächen angeklickt wird, passiert nichts, was korrekt ist, aber in dem Moment, in dem die ExpertAdvisor-Schaltfläche wieder eingeschaltet wird, führt der EA alle Befehle der Klicks aus. Nur zum Test habe ich auf Kaufen und Verkaufen geklickt, während der ExpertAdvisor ausgeschaltet war, und in dem Moment, in dem ich ihn eingeschaltet habe, hat er gekauft und verkauft. Ich denke, das ist etwas, das behoben werden muss.
fx1.net : DieSteuerelemente blinken sehr oft im Diagramm. Können Sie dieses Problem lösen? Ich denke, die Häufigkeit des Blinkens hängt von den Tick-Daten ab.
Ich glaube, ich habe mich in meinem letzten Beitrag nicht sehr klar ausgedrückt. Lassen Sie es uns noch einmal versuchen:
1) Die Art und Weise, wie Ihre Funktion Schaltflächen auf dem Bildschirm platziert, unterscheidet sich leicht von ObjectCreate in mql. Sie ist nicht an eine Ecke gebunden. Um also ein Objekt in Bezug auf die untere Ecke zu platzieren, gibt es negative Koordinaten. Außerdem bezieht sich die Platzierung auf das gesamte Fenster und nicht auf ein Diagrammfenster. Dagegen habe ich nichts einzuwenden, aber die Platzierung von Text neben einer Schaltfläche mit negativer Koordinate ist mit der allgemeinen mql-Funktion nicht möglich, oder vielleicht könnte ich es nicht. Ihre "pxy"-Funktion ist genauso gut wie andere, um Text in einem Diagrammfenster zu platzieren, aber sie hat die Aufgabe nicht erfüllt, da die Koordinaten anders angegeben sind.
pro_: ja, MQL macht das durch das Setzen einer separaten Eigenschaft und hält die Positionen positiv. Ich glaube, dass man dasselbe besser mit negativen Koordinaten machen kann, deshalb habe ich das so implementiert. Über pxy Funktion, seine in der Lage zu verstehen - Koordinaten mit geringfügig ändern. Ja, das ganze Fenster, denn als .dll können wir die Diagrammachse usw. nicht sehen. Auf der anderen Seite sehen sie statisch aus, man kann einfach ihre Breite und Höhe messen und die Texte x,y relativ dazu setzen.
2) Die Farben funktionierten in Version 2 nicht. Vielen Dank für das Update auf Version 3. Absolut kein Problem mehr mit den Farben. Ausgezeichnet.
v3 unterstützt Farben in Buttons, Checkboxen noch nicht.
3) Ich möchte Sie noch einmal fragen, ob es möglich ist, mit der Funktion tbPutObject Ihrer DLL Objekte in einem separaten Unterfenster zu platzieren. Ihr Produkt wäre meiner Meinung nach 10 mal wertvoller, wenn das möglich wäre. Es wird so etwas wie eine Handelskonsole sein, und innerhalb eines Fensters sehr verwaltbar. Außerdem würde es alle in Punkt 1 angesprochenen Koordinatenprobleme lösen.
Nun, die Hauptaufgabe bestand darin, sie im Chart-Fenster zu platzieren. Die Platzierung in einem separaten Fenster wäre sehr einfach, aber derzeit haben wir uns für einen Weg entschieden. Es ist ein kleiner Unterschied, ob wir sie im Diagramm oder in einem separaten Fenster platzieren. In späteren Versionen werden wir das vielleicht unterstützen. Ich habe Pläne, das Diagramm kleiner zu machen, ohne die Größe des MDI-Fensters zu verändern, in dem das Diagramm sitzt. Auf diese Weise könnten wir einen separaten Bereich auf der rechten oder unteren Seite haben, um zusätzliche Schaltflächen zu platzieren. Sie würden wie Schaltflächen neben dem Diagramm aussehen.
4) Ich habe das Beispiel, das du hier gepostet hast und das von der fx1 Seite. Und natürlich habe ich tbRemove für jedes der Objekte in deinit. Es werden nur die Objekte NICHT entfernt, wenn der Experte entfernt wird. Ich habe keine Ahnung, warum.
Es gibt jedoch ein Problem, auf das ich Sie aufmerksam machen möchte. Wenn die ExpertAdvisor-Schaltfläche des MT4 ausgeschaltet ist und eine Ihrer Schaltflächen angeklickt wird, passiert nichts, was korrekt ist, aber in dem Moment, in dem die ExpertAdvisor-Schaltfläche wieder eingeschaltet wird, führt der EA alle Befehle der Klicks aus. Nur zum Test habe ich auf Kaufen und Verkaufen geklickt, während der ExpertAdvisor ausgeschaltet war, und in dem Moment, in dem ich ihn eingeschaltet habe, hat er gekauft und verkauft. Ich denke, das ist etwas, das behoben werden muss.
Ja, Sie haben Recht. Ich habe dieses Problem nicht überprüft. Ich werde auch an diesem Problem arbeiten.
Vielen Dank für das Testen von mt4gui!
fx1.net: Bevor ich meinen Code poste, werde ich deinen Beispielcode überprüfen.
Kann es das Problem sein, dass ich tbSetText benutze, um den Text der Labels in jedem Tick zu aktualisieren?
Planen Sie, Radiobuttons in das Addon aufzunehmen? Wenn nicht, wie können wir den Status eines Kontrollkästchens ändern?
tbRemove und tbRemoveAll Fehler wurde in v0.4 behoben
Die Unterstützung fürCheckboxen wurde erweitert:
int tbSetChecked(int,bool);
int tbIsChecked(int);
Der Demo-Code auf der Website wurde aktualisiert.