Die Ankunft einer neuen Generation von Handelssoftware. Wie sollte die EA-Schnittstelle aussehen? - Seite 13

 
Yury Kulikov:

Ich denke, wir sollten mit dem Experten beginnen. Ich habe drei Arten von Aufgaben genannt, die für den Sachverständigen relevant sind, aber es stellt sich heraus, dass sie in Ihrer Schnittstelle nicht machbar sind.

Was könnte helfen? Vielleicht eine tiefere Integration oder die Beschränkung des Projekts auf "Fernsteuerung".

Ich habe nicht gesagt, dass diese Aufgaben in meiner Schnittstelle nicht durchführbar sind). Ich meinte, dass OOP-basierte Technologien aufgrund der Inkompatibilität der Ansätze nicht in meinen Code integriert werden können. Ich werde diese Aufgaben selbst durchführen müssen, nachdem die grundlegenden (höchstprioritären) Dinge erledigt sind.
 

Ihre Energie für friedliche Zwecke einsetzen :-)

Natürlich verstehe ich, dass die Entwicklung von GUI-Bibliotheken eine kreative und in gewisser Weise sogar lohnende Angelegenheit ist (man schreibt Code, zeichnet Fenster und sieht das Ergebnis). Aber das ist so eine Sackgasse und so viel verschwendete Zeit...

Kurz gesagt, wie kann man eine alternative GUI mit MT verbinden?

- Eine DLL wird so geschrieben:

- beim ersten Aufruf wird eine eigene Spur erstellt und das Graph-Subsystem initialisiert

- für jeden Benutzer zwei Nachrichtenwarteschlangen - von MT zu GUI und umgekehrt.

- wird eine MQ4/5-Klasse erstellt, die im Wesentlichen die Nachrichten in diesen Warteschlangen verarbeitet/filtert und sie vom СhartEvent hin- und herbewegt

- eine optionale API für die gemeinsame Nutzung von Strukturen und die Synchronisierung von Arrays

Auf diese Weise können Sie sich an praktisch jedes moderne System anschließen:

- Sie können Dotnet mit seinen Winforms und OtherShare verwenden (es gab irgendwo auf der Ressource einen Artikel darüber, wie man Manager-Code einhängt und DLLs in C# erstellt)

- gtk und Design in Glade https://glade.gnome.org/

- Qt mit seinem Designer https://www.qt.io/ui/

- Sie können sogar einen http-Server mit einigen Einschränkungen betreiben :-)

Die "richtige" Architektur sieht so aus, dass die erkundbare GUI in einem separaten Thread läuft und die EAs/Indikatoren nicht verlangsamt. Die GUI wird von "speziell geschulten Leuten" entworfen und gezeichnet :-) Expert Advisor/Indikator ist praktisch ein "Modell" (wie in MVC und ähnlichem).

Glade - A User Interface Designer
  • glade.gnome.org
Glade is a RAD tool to enable quick & easy development of user interfaces for the GTK+ toolkit and the GNOME desktop environment. The user interfaces designed in Glade are saved as XML, and by using the GtkBuilder GTK+ object these can be loaded by applications dynamically as needed. By using GtkBuilder, Glade XML files can be used in...
 
Реter Konow:
Ich habe nicht gesagt, dass diese Aufgaben in meiner Schnittstelle nicht durchführbar sind). Ich meinte, dass die auf OOP basierenden Technologien aufgrund der Inkompatibilität der Ansätze nicht in meinen Code integriert werden können. Ich werde diese Aufgaben selbst durchführen müssen, nachdem ich die grundlegenden (höchstprioritären) Dinge umgesetzt habe.

OOP hat damit nichts zu tun. Natürlich können Sie Zeichenketten und Ereignisse über globale Variablen übergeben, aber das ist ein Sonderfall, aber nicht für ein groß angelegtes Projekt, das überdies den Anspruch erhebt, "eine neue Generation von Handelsprogrammen" zu sein.

 
Maxim Kuznetsov:

Ihre Energie für friedliche Zwecke :-)


Meine Ziele sind rein friedlich).

Ihr Vorschlag ist interessant. Ich schlage vor, dass Sie versuchen, sie umzusetzen.

Für mich persönlich ist es ganz klar: Die Lösungen anderer Menschen den eigenen vorzuziehen, ist eine Entscheidung gegen sich selbst.

MT hat seine eigene Sprache. Warum brauchen Sie das, wenn Sie C++ und C# haben? Warum wurde sie geschaffen?

Ich denke, sie wurde geschaffen, weil diese Sprachen nicht optimal auf die Aufgaben von Algotradern abgestimmt waren. Sie brauchten eine spezialisierte, angewandte Sprache.

Den Benutzern ist es egal, wie sie eine Schnittstelle erstellen, solange es einfach geht. Erstellen Sie eine Schnittstelle, wie Sie vorschlagen, kann nur von einem ernsthaften Profi erstellt werden, während für den Rest ist es manchmal schwierig, die Standard-MT-Bibliothek zu verwenden, ganz zu schweigen von den verschiedenen Verbindungen von Drittanbieter-Programmen durch DLL.

Wenn ich Ihre Version entwickeln würde, wäre ich nicht in der Lage, sie in der Gemeinschaft zu verbreiten, während die DLL, wie Sie wissen, hauptsächlich für mich selbst verwendet werden kann. Und was würde diese Lösung für andere bringen?

Ihre Lösung ist möglich, aber sie kann nicht weit verbreitet werden.

 
Yury Kulikov:

OOP hat damit nichts zu tun. Natürlich können Sie Zeichenketten und Ereignisse über globale Variablen übergeben, aber das ist ein Sonderfall, aber nicht für ein groß angelegtes Projekt, das überdies den Anspruch erhebt, "eine neue Generation von Handelsprogrammen" zu sein.

Leider kann ich Ihrer Kritik nichts Konstruktives abgewinnen und sie zu meiner Sache machen. Vielleicht habe ich Ihre Botschaft nicht ganz verstanden...
 

Freunde, ich mache mich wieder an ein Projekt, das ein wenig ins Stocken geraten ist, während ich im Forum gechattet habe. Ich werde hier in regelmäßigen Abständen über den Fortschritt meiner Entwicklung berichten und allen antworten.

Wenn Sie irgendwelche Gedanken, Ideen oder Vorschläge für die Schnittstelle zukünftiger EAs haben, schreiben Sie uns einfach.

Ich danke Ihnen.

 
Реter Konow:

Allerdings sind solche Schwierigkeiten wie der Mangel an Technologie, das Fehlen gemeinsamer Standards, niedrige Qualität der erstellten Grafiken und andere Probleme, die Programmierer, die das Risiko der Schaffung einer Benutzeroberfläche ihrer Handelsroboter nahm konfrontiert. Es wurde deutlich, dass es viel schwieriger ist, eine vollständige Benutzeroberfläche für MTs zu erstellen, als die Handelslogik zu kodieren, Algorithmen zur Erfassung von Statistiken zu schreiben oder die Mustererkennung in eine Strategie zu implementieren. Es sind diese Schwierigkeiten, die zu einem Hindernis für den Übergang des algorithmischen Handels zu einer neuen Ebene des algorithmischen Handels geworden sind, in der der Bereich der notwendigen Interaktion zwischen Mensch und Programm stark erweitert wird, was die Effektivität des Handels erhöht und das Potenzial der originellsten Ideen freisetzt. Der Bereich der Interaktion, der es erlaubt, die Programmnachteile der "eisernen" Bindung an Algorithmen durch die Flexibilität des menschlichen Denkens auszugleichen.

Jetzt sind EAs wie Straßenbahnen, die ausschließlich auf Schienen fahren, und die Benutzer wissen nichts von anderen, aber stellen Sie sich vor, wenn EAs wie Autos werden, mit der Möglichkeit, in jede Richtung zu lenken? Mit solchen "Autos" können Sie sich auf dem Markt viel sicherer fühlen...

Guten Tag zusammen.

Sehr gut geschrieben über die neue Ebene des algorithmischen Handels. Tatsache ist, dass eine moderne Schnittstelle für den Handel eine sehr notwendige Sache ist. Wie man sie erstellt, ist eine andere Frage. Wir haben zum Beispiel Live-Statistiken auf unserer Website. Es ist jedoch möglich, wenn der Roboter an eine externe Ressource gebunden ist und die Benutzeroberfläche dort implementiert ist. Wir haben nicht versucht, Infografiken auf MT zu verwenden, sondern haben sie dort erstellt, wo es sinnvoll ist. Außerdem weiß ein normaler Händler, wie man einen Browser benutzt, und an jede neue Schnittstelle muss man sich erst noch gewöhnen. Für die Nutzer sind individuelle Statistiken auf dem Weg, eine Menge mehr wird bald kommen.

Aber was die Straßenbahn betrifft: Wohin lenken Sie? Wie meinen Sie das? Unsere Erfahrung hat gezeigt, dass geschriebene, getestete und abgestimmte Roboter, die den Devisenmarkt "wie Straßenbahnen" durchqueren, sicherer und effektiver sind, als wenn Händler lenken. Um auf die Straßenbahn zurückzukommen - es ist wichtig zu wissen, welchen Weg sie nimmt. Aber wenn der Endpunkt derselbe ist - was ist dann der Sinn eines Autos? Die Wahrscheinlichkeit eines Unfalls ist um ein Vielfaches höher. Gerade diejenigen, die versuchen zu "lenken", bereiten uns Probleme.

 
Реter Konow:
Das ist großartig! Das würde ich auch gerne. Die künstliche Intelligenz könnte jedoch gierig werden und einen Prozentsatz des Gewinns in die eigene Tasche stecken oder den Eigentümer aufgrund persönlicher Animositäten in den Bankrott treiben).
Alles, was Sie brauchen, ist eine große Schaltfläche "Bezahlen" auf dem Bildschirm, und die Grünen würden sofort aus der DVD herauskommen).
 
Algorithmfx Algorithmfx:

Guten Tag zusammen.

Sehr gut geschrieben über die neue Ebene des algorithmischen Handels. Tatsache ist, dass eine moderne Schnittstelle für den Handel eine sehr notwendige Sache ist. Wie man sie erstellt, ist eine andere Frage. Wir haben zum Beispiel Live-Statistiken auf unserer Website. Es ist jedoch möglich, wenn der Roboter an eine externe Ressource gebunden ist und die Benutzeroberfläche dort implementiert ist. Wir haben nicht versucht, Infografiken auf MT zu verwenden, sondern haben sie dort erstellt, wo es sinnvoll ist. Außerdem weiß ein normaler Händler, wie man einen Browser benutzt, und an jede neue Schnittstelle muss man sich erst noch gewöhnen. Für Nutzer sind individuelle Statistiken auf dem Weg, bald wird es noch viel mehr geben.

Aber was die Straßenbahn betrifft: Wohin lenken Sie? Wie meinen Sie das? Unsere Erfahrung hat gezeigt, dass geschriebene, getestete und abgestimmte Roboter, die den Devisenmarkt "wie Straßenbahnen" durchqueren, sicherer und effektiver sind, als wenn Händler lenken. Um auf die Straßenbahn zurückzukommen - es ist wichtig zu wissen, welchen Weg sie nimmt. Aber wenn der Endpunkt derselbe ist - was ist dann der Sinn eines Autos? Die Wahrscheinlichkeit eines Unfalls ist um ein Vielfaches höher. Gerade diejenigen, die versuchen zu "lenken", bereiten uns Probleme.

Nachmittags.

Die Essenz meines Konzepts für die Berater der Zukunft (die für MT arbeiten) basiert auf der Überzeugung, dass es notwendig ist, alles Notwendige innerhalb eines Programms zu verbinden und zu zentralisieren.

Ich bin davon überzeugt, dass die maximale Effizienz eines jeden Programms gerade in seiner Zentralisierung und Vielseitigkeit liegt. Die Kombination der größtmöglichen Anzahl relevanter Merkmale und das Weglassen von Unnötigem kann die Effizienz eines jeden Mechanismus, auch des EA, qualitativ verbessern. Derzeit konzentrieren sich die meisten der vorgeschlagenen Varianten von Handelsrobotern auf Versuche, inkompatible Sprachen und Ressourcen auf unterschiedliche Weise zu verbinden. Sie schlagen vor, externe DLLs, in Visual Studios erstellte Schnittstellen, verschiedene Statistikdienste usw. zu verwenden. Ich sollte anmerken, dass die Aufgabe, die Kapazität des Handelsroboters zu erhöhen, auf diese Weise gelöst werden kann, aber es ist offensichtlich - diese Lösung ist unbequem und nicht für jeden geeignet.

Solange nicht jede Person, auch ein nicht sehr geschickter Algotrader, in der Lage ist, selbständig (oder mit der Hilfe von jemand anderem) ohne große Kosten einen Handelsroboter zu bauen, den er verwenden möchte, und solange er nicht mehr gezwungen ist, sich an externe Ressourcen zu wenden, um die kompliziertesten Aufgaben der Integration und Reparatur zu lösen, werden die Handelsroboter nicht auf eine neue Ebene springen. Das ist meine Überzeugung.

Externe Statistiken und Statistiken im Inneren eines Roboters sind grundverschiedene Dinge. Im ersten Fall kann nur der Benutzer die Statistiken überwachen und einige Parameter seiner Strategie zurücksetzen, im zweiten Fall können die Handelsstatistiken vom Expert Advisor in Echtzeit analysiert werden, so dass der Roboter selbst seine Einstellungen anpassen kann. Sie können Algorithmen zur Korrektur von Handelsstrategieeinstellungen schreiben, mit der Möglichkeit, die Strategie bei niedrigen statistischen Werten vollständig zu ersetzen. Das Entwicklungspotenzial dieser Idee ist offensichtlich. Das ist es, was ich mit "Lenkung" meinte, die einem Auto zur Verfügung steht und einer Straßenbahn nicht.

Eine Option, bei der sich der EA auf einer Plattform befindet, seine Schnittstelle auf einer anderen und die Statistiken auf einer dritten, sieht nicht gut aus im Hinblick auf einen idealen Mechanismus, den jeder für seinen EA haben möchte. ))

 
Alexey Volchanskiy:
Es genügt ein großer "Bezahlen"-Button auf dem Bildschirm, und das Grünzeug kommt direkt aus der DVD )).
Wir haben hier bereits eine Diskussion über eine solche Schaltfläche geführt. Das Thema ist sehr beliebt und erfordert eine spezielle Branche).