Galerie der in MQL geschriebenen UIs - Seite 67

 

Im Prinzip kann jeder das Werkzeug benutzen, mit dem er vertraut ist. Ich fühle mich mit meiner Schnittstelle wohl, und deshalb entwickle ich sie auch. Mit anderen Worten, ich werde sie in meinem eigenen algorithmischen Handel verwenden. Die Veröffentlichung von Lösungen im Forum ist eine zusätzliche Motivation. Wenn sich meine Schnittstelle für jemanden als nützlich erweist - gut, wenn nicht - schadet es mir nicht.

In der Schnittstelle sehe ich ein leistungsfähiges Werkzeug, das es mir in Verbindung mit den algorithmischen Fähigkeiten von MT5 ermöglichen wird, die Ergebnisse des richtigen Handels zu skalieren. Ja, auf diesem langen Weg gehe ich "auf den Markt". Es dauert Jahre, aber so oder so brauche ich Zeit, um mich intellektuell zu entwickeln. Es hat keinen Sinn, mit Geld, aber ohne Verstand am Markt zu handeln, nicht wahr?

Die Entscheidung, WinForms oder etwas Ähnliches zu verwenden, ist meiner Meinung nach unvollständig. Sie führt zu einer technischen Loslösung von MT5 und zum Aufbau einer eigenständigen Multi-Window-Windows-Anwendung. In der ersten Phase wird sie über einen Datenkanal wie eine Nabelschnur mit der Plattform verbunden sein. Der Benutzer wird mit DLL-Abfragen herumspielen und vielleicht sogar erfolgreich sein. Falls gewünscht, kann er ein Kontextmenü erstellen und einige Vorlagen für die schnelle Erstellung von windows..... verwenden. Aber letztendlich... wird er in zwei oder drei IDEs gleichzeitig arbeiten, und in verschiedenen Programmiersprachen. Wie ist es also besser? Und noch wichtiger - wie kann es einfacher sein?

Außerdem kann der Benutzer eine Windows-Anwendung mit mehreren Fenstern direkt mit der API einer anderen Handelsplattform verbinden. Es wird also einfacher für ihn sein, als mit einem Timer zu arbeiten. Und der Markt sollte erwähnt werden. Sein Produkt wird dort nicht zugelassen sein. Im Allgemeinen gilt: Jedem das Seine.

 
Реter Konow #:

Wie werden Sie die Schnittstelle mit Ihrem Programmiercode kommunizieren lassen?

Wenn ein beliebiges Steuerelement in der Winform-Schnittstelle angeklickt wird, wird der C#-Liste ein Ereignis hinzugefügt und EA durchläuft den Timer, um festzustellen, ob die Liste ein Ereignis hat.
 
hini #:
Wenn Sie auf ein beliebiges Steuerelement in der Winform-Schnittstelle klicken, wird der C#-Liste ein Ereignis hinzugefügt, und EA führt eine Zeitschleife aus, um festzustellen, ob ein Ereignis in der Liste vorhanden ist.

Ok, können Sie den Rest der Fragen beantworten:

  • Wie viele Formulare (Fenster) können Sie in MT5-Charts "einbauen"?
  • Wie werden Sie Daten in Tabellen übersetzen?
  • Können Sie bei der Erstellung von Fenstern vorgefertigte Vorlagen verwenden?
  • Können Sie Ihre eigene Taskleiste und Ihr eigenes Kontextmenü in MT5 erstellen?
  • Wie implementieren Sie Software-Rückgabe-/Setzeigenschaften von Elementen? Durch Abfrage der DLL über die Timer-Funktion?
 

Infolgedessen laufen alle oben genannten Fragen, sowie viele andere, auf eine Hauptfrage hinaus:

Ist es möglich, eine vollwertige Handelsanwendung mit einer reichhaltigen grafischen Oberfläche unter Verwendung von C# und WinForms zu erstellen und gleichzeitig auf wundersame Weise mit MT5 verbunden zu bleiben und alle Lösungen über die Timer-Krücke zu implementieren?

 
Реter Konow #:

Okay, können Sie den Rest der Fragen beantworten?

  • Wie viele Formulare (Fenster) kann man in einem MT5-Chart "bauen"?
  • Wie wandelt man die Daten in eine Tabelle um?
  • Kann man beim Erstellen von Fenstern vorgefertigte Vorlagen verwenden?
  • Ist es möglich, in MT5 eine eigene Taskleiste und ein eigenes Kontextmenü zu erstellen?
  • Wie implementiert man Software Return/Set-Eigenschaften für ein Projekt? Polling einer DLL durch eine Timer-Funktion?
1. Unzählige
2. Daten werden per json-String an winform übergeben
3. die Schnittstelle lässt sich leicht per Drag & Drop erstellen
4. ja, das können Sie
5. ja, Abfrage durch einen Timer
 
Реter Konow grafischen Oberfläche unter Verwendung von C# und WinForms zu erstellen und gleichzeitig irgendwie auf magische Weise mit MT5 in Kontakt zu bleiben und alle Lösungen über die Timer-Krücke zu implementieren?
Ja, der Timer erhält Winform-Aktionen und kann Winform-Funktionen von überall aus aufrufen!
 
Ich bin vor allem daran interessiert, die Panel-Steuerung EA im Tester verwenden zu können
 
hini #:
Ich bin hauptsächlich daran interessiert, die Panel-Steuerung EA im Tester verwenden zu können
Lösen Sie dies mit Hilfe von C#. Viel Glück dabei.
 
Реter Konow #:
Lösen Sie dieses Problem mit Hilfe von C#. Viel Glück dabei.

Eigentlich ist es bereits von jemand anderem getan worden. Und der übliche Ansatz, nur MQL zu verwenden, um die Benutzeroberfläche zu erstellen, ist nicht geeignet, wenn man mit Strategietestern arbeiten muss.

Andererseits kann man Produkte, die c# verwenden, nicht auf dem MQL-Markt veröffentlichen.

Beide Ansätze haben ihren Nachteil.

 
hini #:
Ich bin hauptsächlich an der Möglichkeit interessiert, den EA zur Steuerung des Panels im Tester zu verwenden

Wenn Sie eine Handelsschnittstelle haben, wo liegt das Problem, das Senden eines Handelsauftrags durch die Aufzeichnung dieses Auftrags in einer Variablen zu ersetzen, mit anschließender Berechnung von Gewinn/Verlust, d.h. den Handel im Terminal zu emulieren.

Ich bin sicher, dass es viel einfacher zu implementieren ist als im Tester. Sie können den Chart mit der Funktion ChartNavigate() verschieben und den rechten Teil des Charts entweder mit einem Canvas oder mit dem üblichen OBJ_RECTANGLE_LABEL ausblenden.



S amuel Manoel De Souza #:

Eigentlich wurde das schon von jemand anderem gemacht.

Ja, hier https://www.mql5.com/ru/code/24829