L'arrivée d'une nouvelle génération de logiciels de trading. À quoi doit ressembler l'interface de l'EA ? - page 13

 
Yury Kulikov:

Je pense que nous devrions commencer par l'Expert. J'ai donné trois types de tâches qui sont pertinentes pour l'expert, mais il s'avère qu'elles ne sont pas réalisables dans votre interface.

Qu'est-ce qui pourrait aider ? Peut-être une intégration plus poussée, ou la limitation du projet à une "commande à distance".

Je n'ai pas dit que ces tâches n'étaient pas réalisables dans mon interface). Je voulais dire que les technologies basées sur la POO ne peuvent pas être intégrées dans mon code, en raison de l'incompatibilité des approches. Je devrai mettre en œuvre ces tâches moi-même, une fois que les éléments de base (les plus prioritaires) auront été réalisés.
 

votre énergie à des fins pacifiques :-)

Bien sûr, je comprends que le développement de bibliothèques d'interfaces graphiques est une activité créative et, à certains égards, gratifiante (vous écrivez du code, dessinez des fenêtres, voyez le résultat). Mais c'est une telle impasse et une telle perte de temps...

En bref, comment accrocher une interface graphique alternative à MT :

- une DLL est écrite qui :

- au premier appel, crée une trace séparée et initialise le sous-système graphique

- pour chaque utilisateur, deux files d'attente de messages - de MT à GUI et vice versa.

- une classe MQ4/5 est créée qui traite/filtre les messages dans ces files d'attente et les déplace dans les deux sens à partir du СhartEvent.

- une API optionnelle pour le partage de structures et la synchronisation de tableaux

De cette façon, vous pouvez vous connecter à pratiquement tous les systèmes modernes :

- vous pouvez utiliser Dotnet avec ses winforms et autresShare (il y avait un article quelque part sur la ressource sur la façon d'accrocher le code du gestionnaire et de faire une dll en C#)

- gtk et le design dans la clairière https://glade.gnome.org/

- Qt et son designer https://www.qt.io/ui/

- vous pouvez même faire tourner un serveur http avec quelques restrictions :-)

La "bonne" architecture s'avère être la suivante : l'interface graphique explorable vit dans un thread séparé et ne ralentit pas les EA/indicateurs. L'interface graphique est conçue et dessinée par des "personnes spécialement formées" :-) Le conseiller expert/indicateur est pratiquement un "modèle" (comme dans MVC et similaire).

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:
Je n'ai pas dit que ces tâches n'étaient pas réalisables dans mon interface). Je voulais dire que les technologies basées sur la POO ne peuvent pas être intégrées dans mon code, en raison de l'incompatibilité des approches. Je devrai mettre en œuvre ces tâches moi-même, après avoir terminé la mise en œuvre des éléments de base (les plus prioritaires).

L'OOP n'a rien à voir avec cela. Bien sûr, vous pouvez passer des chaînes et des événements par le biais de variables globales, mais il s'agit d'un cas particulier, mais pas pour un projet de grande envergure, qui plus est, prétendant être "une nouvelle génération de programmes commerciaux".

 
Maxim Kuznetsov:

votre énergie à des fins pacifiques :-)


Mes objectifs sont purement pacifiques).

Votre suggestion est intéressante. Je vous suggère d'essayer de le réaliser.

Personnellement, c'est assez évident pour moi : préférer les solutions des autres à la sienne est un choix contre soi-même.

La MT a son propre langage. Pourquoi en avez-vous besoin alors que vous avez C++ et C# ? Pourquoi a-t-il été créé ?

Je pense qu'il a été créé parce que ces langages n'étaient pas optimisés pour les tâches des algotraders. Ils avaient besoin d'un langage spécialisé et appliqué.

Les utilisateurs ne se soucient pas de savoir comment créer une interface, pour autant que cela puisse être fait facilement. La création d'une interface, comme vous le suggérez, ne peut être réalisée que par un pro sérieux, alors que pour les autres, il est parfois difficile d'utiliser la bibliothèque standard de MT, sans parler des différentes connexions de programmes tiers par DLL.

Si je développais votre version, je ne serais pas en mesure de la diffuser dans la communauté, alors que, comme vous le savez, DLL peut être utilisé principalement pour moi-même. Et quel bien cette solution apporterait-elle aux autres ?

Votre solution est possible, mais elle ne peut pas être distribuée à grande échelle.

 
Yury Kulikov:

L'OOP n'a rien à voir avec cela. Bien sûr, vous pouvez passer des chaînes et des événements par le biais de variables globales, mais il s'agit d'un cas particulier, mais pas pour un projet de grande envergure, qui plus est, prétendant être "une nouvelle génération de programmes commerciaux".

Malheureusement, je ne peux pas tirer un quelconque caractère constructif de votre critique et en faire mon affaire. Peut-être que je ne comprends pas bien votre message...
 

Mes amis, je me remets au travail sur un projet qui a un peu stagné pendant que j'étais occupé à discuter sur le forum. Je posterai périodiquement ici l'état d'avancement de mon développement et répondrai à tout le monde.

Si vous avez des pensées, des idées ou des suggestions concernant l'interface des futures EA, n'hésitez pas à nous écrire.

Merci.

 
Реter Konow:

Toutefois, des difficultés telles que le manque de technologie, l'absence de normes communes, la faible qualité des graphiques créés et d'autres problèmes se sont posées aux programmeurs qui ont pris le risque de créer une interface utilisateur pour leur robot de trading. Il est devenu évident qu'il est beaucoup plus difficile de créer une interface utilisateur complète pour les MT que de coder la logique de négociation, d'écrire des algorithmes de collecte de statistiques ou de mettre en œuvre la reconnaissance des formes dans une stratégie. Ce sont ces difficultés qui sont devenues un obstacle à la transition du trading algorithmique vers un nouveau niveau de trading algorithmique, où la zone d'interaction nécessaire entre l'homme et le programme est considérablement étendue, ce qui accroît l'efficacité du trading et libère le potentiel des idées les plus originales. Le domaine de l'interaction, qui permet de compenser les inconvénients des programmes liés à une liaison "de fer" avec les algorithmes, par la souplesse de la pensée humaine.

Aujourd'hui, les EA sont comme des tramways qui roulent strictement sur des rails, et les utilisateurs ne connaissent rien d'autre, mais imaginez que les EA deviennent comme des voitures, avec la possibilité de braquer dans n'importe quelle direction ? Avec de telles "voitures", vous pouvez vous sentir beaucoup plus confiant sur le marché...

Bonjour à tous.

Très bien écrit sur le nouveau niveau du trading algorithmique. Le fait est qu'une interface moderne pour le trading est une chose très nécessaire. La manière de la créer est une question distincte. Nous avons, par exemple, des statistiques en direct sur notre site. Mais c'est possible si le robot est lié à une ressource externe et que l'interface utilisateur y est mise en œuvre. Nous n'avons pas essayé d'utiliser les infographies sur MT et nous les avons créées là où elles sont pratiques. En outre, un trader ordinaire sait comment utiliser un navigateur. Toute nouvelle interface doit être apprise et vous devez vous y habituer. Pour les utilisateurs, des statistiques individuelles sont en cours de réalisation, et beaucoup d'autres sont à venir.

Mais pour ce qui est du tram, où se dirige-t-on ? Qu'est-ce que tu veux dire ? Notre expérience a montré que les robots écrits, testés et réglés qui traversent le marché des devises "comme des tramways" sont plus sûrs et plus efficaces que ceux qui sont dirigés par des traders. Pour en revenir au tram, il est important de comprendre quel chemin il emprunte. Mais si le point final est le même, à quoi sert une voiture ? La probabilité d'un accident est beaucoup plus grande. Ce sont précisément ceux qui essaient de "piloter" qui nous posent problème.

 
Реter Konow:
C'est génial ! Je l'aimerais aussi. Cependant, l'intelligence artificielle pourrait devenir gourmande et prendre un pourcentage des bénéfices dans sa poche, ou mettre le propriétaire en faillite pour cause d'animosité personnelle).
Tout ce dont vous avez besoin est un grand bouton "être payé" sur l'écran et les verts sortiraient immédiatement du DVD ;))
 
Algorithmfx Algorithmfx:

Bonjour à tous.

Très bien écrit sur le nouveau niveau du trading algorithmique. Le fait est qu'une interface moderne pour le trading est une chose très nécessaire. Comment en créer un est une question distincte. Nous avons, par exemple, des statistiques en direct sur notre site. Mais c'est possible si le robot est lié à une ressource externe et que l'interface utilisateur y est mise en œuvre. Nous n'avons pas essayé d'utiliser les infographies sur MT et nous les avons créées là où elles sont pratiques. En outre, un trader ordinaire sait comment utiliser un navigateur. Toute nouvelle interface doit être apprise et vous devez vous y habituer. Pour les utilisateurs, les statistiques individuelles sont en cours de réalisation, et il y en aura bientôt beaucoup plus.

Mais pour ce qui est du tram, où se dirige-t-on ? Qu'est-ce que tu veux dire ? Notre expérience a montré que les robots écrits, testés et réglés qui traversent le marché des devises "comme des tramways" sont plus sûrs et plus efficaces que ceux qui sont dirigés par des traders. Pour en revenir au tram, il est important de comprendre quel chemin il emprunte. Mais si le point final est le même, à quoi sert une voiture ? La probabilité d'un accident est beaucoup plus grande. Ce sont précisément ceux qui essaient de "piloter" qui nous causent des problèmes.

Après-midi.

L'essence de mon concept de conseillers du futur (travaillant pour MT), est basée sur la conviction qu'il est nécessaire de connecter et de centraliser tout ce qui est nécessaire, au sein d'un seul programme.

Je suis convaincu que l'efficacité maximale de tout programme réside précisément dans sa centralisation et sa polyvalence. En combinant le maximum de caractéristiques pertinentes et en supprimant tout ce qui est inutile, on peut améliorer qualitativement l'efficacité de tout mécanisme, y compris l'EE. À l'heure actuelle, la plupart des variantes proposées de robots de trading sont axées sur des tentatives de connecter des langages et des ressources incompatibles de différentes manières. Ils suggèrent d'utiliser des DLLs externes, des interfaces construites dans Visual Studio, différents services statistiques, etc... Je dois noter que la tâche d'augmenter la capacité du robot de trading peut être résolue de cette façon, mais il est évident - cette solution est peu pratique et ne convient pas à tout le monde.

Tant que chaque personne, même un algotrader peu compétent, ne sera pas en mesure de construire de manière autonome (ou avec l'aide de quelqu'un d'autre) et sans grandes dépenses un robot de trading qu'il souhaite utiliser, et tant qu'il ne sera pas obligé de se tourner vers des ressources externes pour tenter de résoudre les tâches les plus compliquées d'intégration et de réparation, les robots de trading ne franchiront pas un nouveau palier. C'est ce que je crois.

Les statistiques externes et les statistiques à l'intérieur d'un robot sont des choses fondamentalement différentes. Dans le premier cas, seul l'utilisateur peut surveiller les statistiques et réinitialiser certains paramètres de sa stratégie, dans le second cas, les statistiques de trading peuvent être analysées par le conseiller expert en temps réel, ce qui permet au robot lui-même d'ajuster ses paramètres. Vous pouvez écrire des algorithmes pour corriger les paramètres des stratégies de trading, avec la possibilité de remplacer complètement la stratégie à des valeurs statistiques faibles. Le potentiel de développement de cette idée est évident. C'est ce que j'entendais par "direction", qui est disponible pour une voiture et non pour un tram.

Une option où l'EA se trouve sur une plateforme, son interface sur une autre, et les statistiques sur une troisième, n'a pas l'air bien en termes de mécanisme idéal que tout le monde veut que son EA soit. ))

 
Alexey Volchanskiy:
Il suffit d'un gros bouton "get paid" sur l'écran, et les verts sortent directement du DVD ;)).
Nous avons déjà eu une discussion ici sur un tel bouton. Le sujet est très populaire et nécessite une branche spéciale).