Mein Ansatz. Der Kern ist der Motor. - Seite 25

 
Yuriy Asaulenko:

Sie haben auch keinen Rückruf in MT. Alles geschieht über vordefinierte Ereignisse in MT, die ein für alle Mal festgelegt sind.

Sie werden weiterhin Terminalereignisse an die DLL senden, und es spielt keine Rolle, wo Sie sie verarbeiten, in MT oder in der DLL.

Hier ist ein Beispiel für meine Verbindungsschnittstelle:

Hier ist alles bereits durchdacht.

Dateien:
 
Реter Konow:

Selbst wenn man sich vorstellt, dass die ständige Überprüfung von Nachrichten von Sharp seitens der ICL-Anwendung nicht lästig ist, ist die Entwicklung eines Interaktionsformats eine sehr umfangreiche Aufgabe.

Diese Aufgabe umfasst Folgendes:

1. Entwicklung einer gemeinsamen Speicherorganisation.

2. Umsetzung der Interaktion zwischen den drei Parteien.

3. Synchrone Prüfung der drei Seiten (Sharp, DLL, MT-Anwendung).

Sehr zeitaufwendig.


In meinem Fall erhält der Benutzer die Datei und füllt sie aus. Und die Verbindung funktioniert.

Erfinden Sie das nicht. Ich mache das seit 8 Jahren mit verschiedenen Terminals und Sprachen, von VBA über Excel bis hin zu C++, und ich weiß nichts über diese Probleme).

Ich habe bereits geschrieben, dass Ihr System wahrscheinlich von Marktanbietern oder anderen Personen als MT-MQL eingesetzt wird, die nichts von der Existenz anderer Sprachen und Programmierumgebungen wissen.

 
Yuriy Asaulenko:

Erfinden Sie das nicht. Ich mache das seit 8 Jahren mit verschiedenen Terminals und Sprachen, von VBA über Excel bis hin zu C++, und ich weiß nichts über diese Probleme).

Schauen Sie sich meine Verbindungsdatei an.

Der Nutzer bindet diese Datei einfach über eine Inline in seinen EA ein. Und füllt sie aus. Und alles funktioniert...
 
Yuriy Asaulenko:

...

Ich habe bereits geschrieben, dass Ihr System wahrscheinlich von Marketplace-Verkäufern oder anderen Personen als MT-MQL angewendet wird, die nichts von der Existenz anderer Programmiersprachen und -umgebungen wissen.

Übrigens, ich entwickle gerade GUI-Verbindungen mit einem EA in einem Testgerät. Die GUI wird auf einem Chart sein und der EA wird im Tester laufen. Und sie werden miteinander kommunizieren. Der Expert Advisor im Strategy Tester reagiert auf die Aktionen des Benutzers in einem anderen Chart, der mit der GUI interagiert.

Ich habe herausgefunden, wie man das umsetzen kann.

Aber um die Kommunikation zwischen dem Expert Advisor im Strategy Tester und dem Sharp über die DLL... Das scheint nicht möglich zu sein.

 
Реter Konow:

Und um eine Verbindung zwischen dem EA im Tester und Sharpe über die DLL herzustellen... Ich glaube nicht, dass Sie das können.

Das scheint möglich zu sein. Soweit ich weiß, unterliegt die Kommunikation mit der DLL keinerlei Beschränkungen durch den Tester. Ich habe es jedoch nicht selbst ausprobiert.

 
Yuriy Asaulenko:

Das scheint möglich zu sein. Soweit ich weiß, schränkt der Tester die Kommunikation mit der DLL nicht ein. Ich habe es jedoch nicht selbst ausprobiert.

Ja, das ist natürlich möglich. Vergewissern Sie sich einfach, dass die DLLs zugelassen sind.
 
Nun, vielleicht können Sie... Die "masochistische" Entscheidung für Sharp ist jedoch ganz offensichtlich). Es gibt so viele Nuancen... Aber wenn man keine andere Wahl hat, natürlich schon.
 
Реter Konow:
Nun, vielleicht können Sie... Allerdings ist die "masochistische" Entscheidung für Sharp zu offensichtlich))) Es gibt da so viele Nuancen... Aber wenn man keine andere Wahl hat, natürlich.

Ich habe nie in Sharpe geschrieben, ich hatte kein Interesse, aber vor ungefähr 5 Jahren benutzte ich Delphi, um .dll mit Knöpfen und Formen zu verbinden, alles arbeitete ohne Probleme, und ich schrieb sogar das vollständige Projekt in Delphi während eines Tages, außerdem verbrachte ich einen halben Tag, der versucht, den Grund zu finden, warum Standardformen nicht arbeiteten, und als ich es durch das Rufen der Systemfenster verband, arbeitete alles richtig, aber MT4 war sehr langsam dann, es lags jetzt es fliegt

Ich habe keine Probleme zu verbinden .dll, synchronisieren mit Standard-Mutexe - starten Sie einen Thread, um eine Verbindung zum Terminal und das ist alles, dann geht alles von selbst - separat ein Formular in .dll, separat MT niemand wartet auf jemanden

SZS: beachten Sie, dass Delphi ist nicht praktisch genug, um .dll zu erstellen, aber was zur Hand war (was ich saß auf dann) ich verwendet )))


Aber was das Wesentliche angeht, verstehe ich nicht, warum man keine Standardklassen aus dem MT-Toolkit verwenden kann. Es wäre höchstens interessant, den Prozess der Grafikerstellung zu vereinheitlichen, vielleicht wäre es ein universelles Include, bei dem man Buttons/Dialoge etc. auskommentieren könnte.

 
Peter, denken Sie nicht, dass Ihr Ansatz etwas Neues ist.
Zu welchen Tricks Programmierer griffen, als es noch kein OOP gab.
Sie können es selbst sehen, in C-Programmen mit offenem Quellcode.
Alle Ihre Behauptungen, dass OOP kann und nicht kann, haben nichts mit der Realität zu tun.
Sie sprechen nicht über OOP, Sie sprechen über Ihre Vorstellungen von OOP. Es ist überraschend, dass Sie so viel darüber reden,
aber Sie haben sich nicht die Mühe gemacht, herauszufinden, was es ist.

Aus irgendeinem Grund vernachlässigen Sie die Erfahrungen anderer Leute, und die gibt es.
Es ist albern, vier Monate lang das zu lernen, was man bei Google findet, und trotzdem so viel mehr zu lernen.
Als Sie Ihre eigene Auszeichnungssprache erfanden, wollten Sie aus irgendeinem Grund nicht auch noch die Erfahrungen anderer Leute studieren.
Zum Beispiel gibt es einen kostenlosen QT Designer. Sie verwendet eine auf XML basierende Auszeichnungssprache.
Auch Delphi und C++ Builder verwenden heutzutage XML.
Es gibt auch den Ressourcen-Editor in MS Visusl Studio. Es ermöglicht Ihnen, Dialogfelder zu bearbeiten und sie in Ressourcen einzufügen.
Es hat auch seine eigene Auszeichnungssprache.

Aus meiner Erfahrung mit GUI:
Eine gute GUI-Bibliothek erleichtert die Arbeit mit der grafischen Benutzeroberfläche erheblich.
Ein visueller Editor bietet nur sehr wenig Komfort. In Wirklichkeit ist es nur ein Köder für Anfänger.
Auszeichnungssprachen werden in der Regel verwendet, um Formulare im visuellen Editor zu speichern. Ohne sie ist eine Auszeichnungssprache überflüssig.
Mit einer Bibliothek ist es für einen Programmierer einfacher , eine grafische Oberfläche im Code zu erstellen, als eine Auszeichnungssprache zu verwenden.
Ich glaube, Sie führen Ihre Auszeichnungssprache ein, weil Sie den Code verstecken wollen.

 
Igor Makanu:

Können Sie einen kostenlosen GUI-Builder vorschlagen, mit dem man den MQL-Code für Grafiken schreiben kann?

Ich möchte etwas ähnliches wie Delphi Drag-and-Drop machen, aber ich habe keinen freien GUI-Konstruktor gefunden, der es erlauben würde, den MQL-Code einzugeben.

GUI-Konstruktoren werden für eine bestimmte Grafikbibliothek erstellt. Wenn es einen GUI-Builder für MQL gäbe, wäre er hier zu finden.