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

 
Dmitry Fedoseev:

Ich denke schon. Aber wenn eine grafische Benutzeroberfläche, das ist eine andere Datei, und das ist nicht möglich auf dem Markt.

Das mag sein. Ich weiß es nicht. Aber ich denke, dass dieses Problem lösbar ist, wenn Peter etwas Wertvolles bekommt.
Sie brauchen nur eine Datei an den Marktplatz zu schicken, die Engine muss nicht mitgeschickt werden, und es funktioniert auch ohne die Engine.
Peter, oder habe ich etwas falsch verstanden?
 
Nikolai Semko:
Vielleicht. Ich weiß es nicht. Aber ich denke, dass dieses Problem lösbar ist, wenn Peter etwas von Wert hat.
Sie brauchen nur eine einzige Datei an den Marktplatz zu senden, die Engine muss nicht mitgeschickt werden und funktioniert auch ohne die Engine.
Pjotr, oder habe ich etwas missverstanden?

Du hast es richtig verstanden, Nikolay. Der Expert Advisor arbeitet ohne den Motor. Die Engine erstellt das GUI des EA, sobald der EA auf einem separaten Chart platziert ist und Befehle von diesem erhält. Der Motor kann zwischen verschiedenen EAs wechseln. Beim Umschalten wird einfach ein anderer Kernel aus einer Textdatei neu geladen. Sie kann auch an Ort und Stelle belassen werden, aber es sollte ein separates Diagramm erstellt werden, auf dem sie immer zu finden ist.

 
Es gibt eine Idee, die es dem Benutzer erspart, die Kernel-Datei überall hinzuschleppen, damit die Engine sie herunterladen kann. Bei der Erstellung einer GUI erzeugt der Konstruktor eine Kernel-Datei. Anstatt in einer Datei zu speichern, kann der Konstruktor den Kernel in einer Ressource speichern und eine Verbindungszeichenfolge für diese Ressource in die Datei Conventional Properties schreiben. Wenn der Benutzer die erstellte Connexion Properties-Datei verbindet, wird diese Ressource bei der Initialisierung seines EA in den Kernel integriert. Wenn dann eine Verbindung zur Engine hergestellt wird, liest diese einfach die Ressource mit dem Kernel aus dem EA und spielt die GUI ab. Es ist also nicht nötig, Dateien mit dem Kernel zu schleppen.
 
Maxim Kuznetsov:

Nach den derzeitigen Vorschriften können Produkte mit zusätzlichen Abhängigkeiten nicht über den Marktplatz vertrieben werden. Außerdem vermute ich, dass dies gesetzlich verboten oder ziemlich schwierig ist.

Externe ex*-Bibliotheken können nicht verwendet werden, auch nicht solche, die keine Aufrufe an die dll enthalten. Für Indikatoren, wie z. B. Peters Motor, gilt diese Einschränkung jedoch nicht.

 
Vasiliy Sokolov:

Externe ex*-Bibliotheken können nicht verwendet werden, auch nicht solche, die keine Aufrufe an die dll enthalten. Diese Einschränkung gilt jedoch nicht für Indikatoren, wie z. B. den Motor von Peter.

Ich habe mich speziell für diese Frage interessiert, indem ich den Service-Desk-Marktplatz befragt habe. Die Antwort war recht eindeutig, wenn auch nicht sehr erfreulich :-) Das Produkt des Marktes muss eine Sache für sich sein und darf nicht die Installation anderer Komponenten erfordern. Alle notwendigen Indikatoren und Bibliotheken sollten über die Ressource eingepflegt werden.

Was logisch ist - eine Person hat ein Produkt gekauft, und das Produkt (und alle seine Ansprüche) sollten sofort und ohne zusätzliche Arbeit verfügbar sein.
Und es gab keine Situation, in der eine Abhängigkeit aktualisiert wurde, aber der Expert Advisor ausfiel :-)

 

Und das ist im Allgemeinen der Handel:

mein Einkommen - "Kern - Motor"

;)
 
Реter Konow:
Es gibt eine Idee, die es dem Benutzer erspart, die Kernel-Datei überall hinzuschleppen, damit die Engine sie hochladen kann. Bei der Erstellung einer GUI erzeugt der Konstruktor eine Kernel-Datei. Anstatt in einer Datei zu speichern, kann der Konstruktor den Kernel in einer Ressource speichern und eine Verbindungszeichenfolge zu dieser Ressource in die Kernel-Eigenschaftendatei schreiben. Wenn der Benutzer die erstellte Connexion Properties-Datei verbindet, wird diese Ressource bei der Initialisierung seines EA in den Kernel integriert. Wenn eine Verbindung zur Engine hergestellt wird, liest diese einfach die Ressource mit dem Kernel aus dem EA und spielt die grafische Benutzeroberfläche ab. Die Kernel-Dateien müssen also nicht gezogen werden.
Oh Mann, ich dachte, so wird es umgesetzt. Was nützt es, Konfigurationsdateien mit sich zu führen?
Und stell dir vor, Peter, du kannst den Motor auch in eine gemeinsame ex*-Datei als Klasse packen.
Und keine sechsflügligen Sieben*s :))
 
Nikolai Semko:
Oh, Gott, ich dachte, es ist auf Ihre Art und Weise implementiert. Was nützt es natürlich, wenn Sie Ihre Konfigurationsdateien mit sich herumtragen.
Und stell dir vor, Peter, du kannst den Motor auch in eine gemeinsame ex*-Datei als Klasse packen.
Und keine sechsflügligen Sieben*s :))

Können Sie es genauer beschreiben? Wie, was und warum.

 
Nikolai Semko:
...
Und stell dir vor, Peter, du könntest den Motor auch in eine gemeinsame ex*-Datei als Klasse packen.
...

Nikolai, wenn du vorschlägst, den Motorcode für jeden zu öffnen, um ihn in den EA einzubauen, dann habe ich darüber nachgedacht. Das würde die Entwicklung des Motors leider einschränken. Alles würde in einem einzigen Anwendungs-Thread ablaufen, was die genutzten Ressourcen einschränken würde, und die meisten der Vorteile, die durch die Parallelisierung der Berechnung erzielt werden können, würden verloren gehen. Außerdem werden die Nutzer beginnen, Änderungen an der Engine vorzunehmen und modifizierte Versionen zu verbreiten, was zu Chaos und neuen Entwicklungsproblemen führen wird.

Daher ist die Idee in der Theorie gut, aber in der Praxis leider...(.

 
Реter Konow:

Nikolai, wenn du vorschlägst, den Motorcode für jeden zu öffnen, um ihn in den EA einzubauen, dann habe ich darüber nachgedacht. Leider würde dies die Entwicklung des Motors einschränken. Alles würde in einem einzigen Anwendungs-Thread ablaufen, was die genutzten Ressourcen einschränken würde, und die meisten der Vorteile, die durch die Parallelisierung der Berechnung erzielt werden können, würden verloren gehen. Außerdem werden die Nutzer beginnen, Änderungen an der Engine vorzunehmen und modifizierte Versionen zu verbreiten, was zu Chaos und neuen Entwicklungsproblemen führen wird.

Daher ist die Idee in der Theorie gut, aber in der Praxis leider...(.

Peter, wo ist der Beweis?
Wo ist der Forschungsbericht, in dem die Ausführungsgeschwindigkeit eines Programms in einem ex5-Thread (es ist sogar sinnlos, mit ex4 zu experimentieren) und in zwei Threads verglichen wird?
Es war nur eine hypothetische Vermutung, die ich übrigens zum ersten Mal (hier) geäußert habe, als es mir nicht gelungen ist, von Ihnen wenigstens eine Formulierung der Vorteile Ihres Ansatzes zu erhalten.
Sie verwenden meine Hypothese bereits als Tatsache.
Persönlich gebe ich zu, dass es einen Vorteil geben könnte, aber rein aus Intuition (nicht aus Wissen) wette ich zu 75 %, dass es keinen Vorteil bringen wird, da die Interaktion und der Datenaustausch zwischen den beiden Programmen nicht frei ist und der Prozessor für beide ex5 ist. Die Antwort auf diese Frage kann jedoch nur von den Entwicklern selbst oder durch ein qualitatives Experiment gegeben werden.