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

 
Реter Konow:

Ja, ganz genau. Alle Informationen, die die Engine benötigt, um eine bestimmte grafische Benutzeroberfläche zu reproduzieren und mit ihr zu arbeiten. Ich installiere es jetzt direkt in den Motor und mache es dann aus der Datei, die der Builder druckt, ladbar.

Wie kompliziert und verwirrend das ist.

Wäre es für den Benutzer Ihres Shaitan-Kessels nicht einfacher, ihn so zu gestalten, dass er, nachdem er die erforderlichen Formulare, Fenster und Elemente erstellt hat, einfach eine mqh-Datei ausgibt, um sich über #include mit dem Programm zu verbinden? Die Datei enthält bereits OnChartEvent(), OnTimer(), OnTick() und andere Verknüpfungselemente. Das Einzige, was bleibt, ist, ihm die notwendigen Aktionen vorzuschreiben, was es auf jeden Fall tun muss, aber Sie müssen auch Ihre Auszeichnungssprache lernen. Andernfalls brauchen Sie nichts davon - schreiben Sie einfach in mql, was Sie in der generierten mqh-Datei benötigen und seien Sie zufrieden.

Sie sind den Weg gegangen, eine Auszeichnungssprache zu erstellen und sie mit einer Sprache zu verbinden, die der Benutzer aus irgendeinem Grund nicht versteht. Diese Lösung wird keine mql-Sprachbenutzer für das Produkt gewinnen.

 

Wenn man sich die Wunder in diesem Thread anschaut, scheint es, als ob die größte geistige Anstrengung darin besteht, ein Narr zu bleiben.

 
Maxim Kuznetsov:
Aber es überschreibt alle Benutzereingaben und Bindungen, die in den Ereignissen enthalten sind?

Sobald sich die grafische Benutzeroberfläche ändert, drückt der Benutzer einen Knopf und druckt die neuen Dateien. Die Engine lädt die neuen Kernel und die Benutzeranwendung muss die aktualisierten Paarungsdateien verbinden.

In diesem Fall muss nur eine Datei ersetzt werden (Eigenschaften der Verbindung) und die andere Datei muss neu verbunden werden. Es ist jedoch möglich, bereits geschriebenen Code aus einer früheren Datei zu kopieren.

Die Hauptsache ist, dass man die Verbindungsdateien nicht ausfüllt, bevor man sich für die GUI entschieden hat. Wenn neue Fenster hinzugefügt werden, wird dies kaum Auswirkungen haben. Wenn alte Fenster und Elemente geändert werden, muss eventuell auch der Code im Programm überarbeitet werden.

 
Реter Konow:

Dies alles geschieht im Konstruktor. Der KIB-Code wird geschrieben und die Datei wird neu kompiliert.

So arbeiten Sie mit dem Konstruktorhttps://www.mql5.com/ru/blogs/post/717782

Angeschaut... Dumme, kindische Fehler bei den Namen von Dateien und Ordnern, man arbeitet im Editor, als ob man ihn zum ersten Mal öffnet...

Dabei habe ich festgestellt, dass es sich gar nicht um einen Konstruktor handelt. Ich dachte, Sie hätten einen visuellen Konstruktor...

Und Sie nennen dieses Konzept einen Durchbruch? Woher und wohin?

 
Artyom Trishkin:

Wie kompliziert und verwirrend das ist.

Wäre es für den Benutzer Ihres shaitan-boiler nicht einfacher, ihn so zu gestalten, dass er, nachdem er die erforderlichen Formulare, Fenster und Elemente erstellt hat, einfach eine mqh-Datei ausgibt, um sich über #include mit dem Programm zu verbinden? Die Datei enthält bereits OnChartEvent(), OnTimer(), OnTick() und andere Verknüpfungselemente. Das Einzige, was bleibt, ist, ihm die notwendigen Aktionen vorzuschreiben, was es auf jeden Fall tun muss, aber Sie müssen auch Ihre Auszeichnungssprache lernen. Andernfalls brauchen Sie nichts davon, schreiben Sie einfach in mql, was Sie in der generierten mqh-Datei benötigen und seien Sie zufrieden.

Sie haben sich auf den Weg gemacht, eine Auszeichnungs- und Konnektivitätssprache zu entwickeln, die der Benutzer aus irgendeinem Grund nicht versteht. Diese Lösung wird keine mql-Sprachbenutzer für das Produkt gewinnen.

Übrigens, ja.

Ich habe genau dasselbe Problem beim Neukompilieren. Natürlich habe ich nie fertige MQH-Dateien erstellt, ich schreibe nur einfache Textdateien und übertrage dann die Texte der Initialisierungsprozeduren auf die Basismodule, aber die Idee ist die gleiche.

Peter, wirklich - es würde Ihren Benutzern das Leben sehr erleichtern, wenn anstelle von Einstellungen, die Sie sich merken müssen, wie man sie benutzt, eine vorgefertigte MQH-Datei mit vorgefertigten Einstellungen erzeugt würde!

 
Artyom Trishkin:

Und das ist Ihr Konzept, das Sie einen Durchbruch nennen? Woher und wohin?

Dies ist ein Durchbruch - von Leuten, die fertige Expert Advisors mit einer Taste "hacken Teig" (oder zumindest mit zwei Tasten, eine andere - "hacken riesigen Teig") - zu Menschen, die in halbautomatischen Modus Handel, Eröffnung von Trades, begleiten sie und schließen mit Hilfe von Peters visuellen Komponenten!

Ich bin überzeugt, dass es wirklich ein Durchbruch sein wird, wenn solche Menschen auftauchen.

Ich habe nur Zweifel, dass das möglich ist. Die Menschen sind von Natur aus faul, und für den Handel mit der Hand (selbst mit halbautomatischen Geräten) braucht man viel Erfahrung, und woher soll die lokale Beau Monde die nehmen?

 
Georgiy Merts:

Übrigens, ja.

Das ist genau der Weg, den ich bei der Neukompilierung gehe. Ich mache zwar keine vorgefertigten MQH-Dateien, sondern schreibe reine Textdateien, aus denen ich dann den Text der Initialisierungsprozeduren in die Hauptmodule übertrage, aber die Idee ist die gleiche.

Peter, wirklich - es würde Ihren Benutzern das Leben leichter machen, wenn anstelle von Einstellungen, die Sie sich merken müssen, wie man sie benutzt, eine vorgefertigte MQH-Datei mit vorgefertigten Einstellungen erzeugt würde!

Ich habe nicht verstanden, über welche Einstellungen wir hier sprechen. Aber ich werde tun, was ich kann.

 
Реter Konow:

Erläutern Sie das genauer.

Keine Dokumentation, also Links aus dem Gedächtnis (irgendwo aus den Tiefen der Strecke) :-)

Sie erstellen eine Datei mit einer Funktion mit vielen verschachtelten Schaltern, die Nachrichten von den Schnittstellenelementen an "gedrückt" "losgelassen" sendet. Der Benutzer gibt dort Reaktionen auf Ereignisse ein.
Sie haben die Schnittstelle geändert, was ist nun mit dieser Datei?

Wie viel Arbeit muss ein Benutzer beispielsweise aufwenden, um das Panel in zwei Fenster aufzuteilen, von denen das eine Schaltflächen und das andere eine Tabelle enthält (damit der Benutzer es schließen kann und nicht auf dem Bildschirm verweilt)?
Und einige Spalten sollten zum Beispiel vertauscht werden. Es ist einfach typisch - ein Layout erstellen, es verwenden, das Erscheinungsbild durch ein bequemeres ersetzen

 
Реter Konow:

Ich weiß nicht, über welche Einstellungen wir hier reden. Aber ich werde tun, was ich kann.

Die Idee ist, dass, nachdem alle Formulare, Fenster und visuellen Elemente erstellt sind, eine fertige MQL-Datei erstellt wird, die direkt kompiliert werden kann.

So wie ich es jetzt verstehe, müssen die Benutzer alle Größen, Koordinaten, Einzüge usw. eingeben. Dies ist eine sehr mühsame und langwierige Arbeit. Es wäre schön, wenn dies automatisiert wäre. Das Ergebnis wäre eine MQH-Datei, die neu kompiliert werden kann.

 
Реter Konow:

Ich weiß nicht, über welche Einstellungen wir hier reden. Aber ich werde tun, was ich kann.

Lernen Sie OOP, und Sie hätten längst nicht nur das getan, was Sie könnten, sondern viel mehr - einen riesigen Raum für Kreativität, der Ihnen jetzt noch gar nicht bewusst ist. Schnell, effizient und professionell.
Aber Sie haben jahrelang mit Ihrem ständig aufgeblasenen Motor herumgepfuscht.
Und wenn Sie stolz auf die Menge an Code sind, die Sie geschrieben haben, sind Sie ein "Indianer" in der Programmierung. Dies ist keine Beleidigung - suchen Sie einfach nach dieser Definition, sie trifft genau auf das zu, was Sie tun.
Sie können einen Code mit tausend Zeilen schreiben und einen Code mit hundert Zeilen, und beide führen die gleichen Aktionen aus. Aber es ist viel schwieriger, aufgeblähten Code zu ändern oder zu ergänzen als nicht aufgeblähten Code. Aber du ziehst es vor, mit der Anzahl der Zeilen zu prahlen, die du geschrieben hast (und stößt Nikolai damit auf die Nase), und nennst das Ganze ein riesiges Projekt. Wie ein Kind, meine Güte.

Grund der Beschwerde: