Buttons & Textfelder im mt4 Chart jetzt möglich - Seite 2

 
schön
 

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

 
fx1.net:

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.

 
Ghost: siehe meine Videos; sie nicht überhaupt spülen. seine Frage der Umsetzung. Wenn Sie entfernen und wieder auf jeden Tick kann dies geschehen, aber in anderen Fall sind sie mehr oder weniger statisch. Zumindest auf meiner Seite. Können Sie bitte posten, wie Sie das implementiert haben?
 
pro_:

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.

Ja, das kann ich bestätigen, das hat einmal funktioniert. Ich werde dieses wichtige Thema überprüfen

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.