Création d'une interface graphique pour les MQL en mode graphique. - page 14

 
Yuriy Asaulenko:
J'ai un TS externe, je n'ai pas besoin du retour GUI du terminal.

Donc vous n'utilisez pas de terminal ? Vous échangez par télépathie ?

 
Alexey Volchanskiy:

Donc vous n'utilisez pas de terminal ? Commerce par télépathie ?

)) Le terminal est un fournisseur de données et. un récepteur d'exécution d'ordres. C'est tout. Il n'y a rien à configurer dedans.
Laissez-moi être direct. Deux MT EA sont utilisés. L'un est un fournisseur de données et l'autre un récepteur exécutant des ordres. Cela donne un autre fil conducteur.
Tu comprends ? Je l'ai déjà dit.
 
Maxim Kuznetsov:

Honnêtement, je n'ai pas ressenti le besoin de joindre des formulaires aux tableaux.

Il y a un graphique actif qui est directement relié au tableau (toutes sortes de lignes, légendes, lettrages, etc.).

Mais il existe des contrôles GUI - paramètres, rapports, statistiques. De plus, ils sont assez gros et c'est un crime contre l'utilisateur de les placer dans un tableau :-)

Il suffit de placer le formulaire au-dessus du graphique. Vous devrez retirer le formulaire du gestionnaire de fenêtres et suivre les modifications de la géométrie du graphique et du focus.
Un tel "coucher de soleil à la main" :-) Au moins, vous n'entrerez pas dans les entrailles de MetaTrader et n'imposerez pas de nouveaux frissons et crochets sur ses fenêtres - c'est-à-dire que vous vous comporterez décemment.

Toute interface graphique appelée à partir d'une DLL présente la caractéristique la plus désagréable - les conseillers-experts/indicateurs qui l'appellent redémarrent périodiquement au moindre éternuement. Ce qui conduit à la réouverture des formulaires et à des cascades de grossièretés...
Peut-être les "services" annoncés depuis longtemps (ou quel que soit le nom qu'on leur donne) seront-ils dépourvus de cet inconvénient.

mise à jour/ sur le point de mettre le formulaire - pour mettre RectLabel sur le graphique et dans le chart-events pour suivre le changement des cordonnées. Quand vous le modifiez, mettez votre formulaire strictement au dessus :-) Il faut un peu de tambourin quand on change d'onglet, minimiser la fenêtre, pour cacher son formulaire à temps

Je ne suis pas d'accord. Si les ordres sont ouverts à l'aide de l'interface graphique, comme dans votre premier exemple, le formulaire correspondant doit appartenir au graphique correspondant. Par exemple, vous avez 5 graphiques ouverts et sur ces 5, les formulaires de gestion des ordres sont ouverts (pas les rapports ou les paramètres). La gratuité de 5 formulaires "appartenant" à des graphiques différents sèmera la confusion chez les utilisateurs. Et lorsque seul le formulaire appartenant au tableau actif est sous les yeux de l'utilisateur, c'est une autre affaire.

 
Алексей Барбашин:

Je ne suis pas d'accord. Si l'interface graphique est utilisée pour ouvrir des ordres, comme dans votre premier exemple, alors le formulaire correspondant doit appartenir au graphique correspondant. Par exemple, vous avez 5 graphiques ouverts et sur ces cinq, les formulaires de gestion des ordres sont en cours d'exécution (pas les rapports ou les paramètres). La gratuité de 5 formulaires "appartenant" à des graphiques différents sèmera la confusion chez les utilisateurs. Et lorsque seul le formulaire appartenant au tableau actif est sous leurs yeux, c'est une autre affaire.

Au fait, il y a aussi un tableau (arbre) des commandes, mais c'est juste un exemple...

La principale question que se posent les utilisateurs est "comment placer les graphiques/formes" sur 3 écrans :-) Pas d'onglets pendant les échanges - tout doit être visible

 
Yuriy Asaulenko:
)) le terminal est le fournisseur de données et. le récepteur exécutant l'application. C'est tout. Il n'y a rien à configurer là-dedans.
Pour clarifier. Deux conseillers MT sont utilisés. L'un est un fournisseur de données et l'autre un récepteur exécutant des ordres. Cela donne un autre fil conducteur.
Tu l'as dans la tête ? Je l'ai déjà dit.

Tu te moques de moi ou c'est une sorte de tour ? Cela fait deux jours que j'essaie d'obtenir une réponse. Quel canal le deuxième récepteur utilise-t-il pour recevoir ces demandes ? Peut-être que tu devrais être un scout. S'ils se font prendre, ils agiteront la main, cracheront et laisseront tomber, c'est toujours un sourcil...

 
Alexey Volchanskiy:

Tu te moques de moi ou c'est une sorte de tour ? J'essaie depuis 2 jours d'obtenir une réponse - quel canal de communication le second - récepteur-exécuteur reçoit-il ces demandes ???? Pourquoi ne rejoins-tu pas les scouts ? S'ils se font prendre, ils vous salueront, cracheront et vous laisseront tranquille, ce n'est qu'un seul arrière-train de toute façon...

Alexei, je pense que le schéma est le suivant : chaque graphique a un EA qui envoie des données à l'application. Ce sont les fournisseurs de données. Il y a un EA sur un graphique séparé qui interroge l'application pour les commandes. Cette EA accepte les demandes et les exécute. Par conséquent, les EA sur les graphiques eux-mêmes ne sont pas occupés à télécharger des enquêtes. Ils envoient les données et continuent à travailler dans leur mode. Et une EA séparée est engagée dans les sondages en permanence.

Mais je ne vois pas la nécessité d'un conseiller expert distinct. L'interrogation peut être gérée par l'indicateur car il sera dans un thread séparé de l'EA. Et lorsque l'indicateur détecte un ordre pour ce graphique, il peut envoyer un événement qui sera intercepté et exécuté par le Conseiller Expert.

 
Алексей Барбашин:

Alexei, je crois que le schéma est le suivant : chaque graphique a un EA qui envoie des données à l'application. Ce sont les fournisseurs de données. Il y a un EA sur un graphique séparé qui interroge l'application pour les commandes. Cette EA accepte les demandes et les exécute. Par conséquent, les EA sur les graphiques eux-mêmes ne sont pas occupés à télécharger des enquêtes. Ils envoient les données et continuent à travailler dans leur mode. Et une EA séparée est engagée dans les sondages en permanence.

Mais je ne vois pas la nécessité d'un conseiller expert distinct. L'interrogation peut être gérée par l'indicateur car il sera dans un thread séparé de l'EA. Et lorsque l'indicateur détecte un ordre pour un graphique donné, il peut envoyer un événement qui sera intercepté et exécuté par le conseiller expert.

J'en ai rien à foutre qu'il soit décomposé en 5 EA ou 100500. Je m'interrogeais sur le canal de communication, car il peut y en avoir plusieurs. Encore une fois, je le faisais il y a 10 ans sur les pipelines. À l'époque, il n'y avait pas de pips intégrés à mql, j'ai utilisé des C++DLL natives. Et le robot entier était en Sharp. Les commandes de l'Expert Advisor ont été accumulées dans la mémoire tampon de la DLL, car elles ont été émises de manière asynchrone pour des raisons de rapidité. Et MQL4 Expert Advisor accédait à la DLL à chaque tick (il n'avait pas encore de timer), passait les quotes et récupérait les commandes. Tout était multidevise, je ne comprends pas pourquoi nous avons besoin de beaucoup de graphiques.

Ici, j'ai décrit le mécanisme de l'échange en deux lignes. Est-il si difficile de décrire votre mécanisme au lieu d'un océan d'eau ?

 
Alexey Volchanskiy:

Ici, j'ai décrit le mécanisme de l'échange en deux lignes. Est-il si difficile de décrire votre mécanisme au lieu d'un océan d'eau ?

Merde. Première question sur l'interface graphique - comment communiquer. Il a répondu - pas question, je n'en ai pas besoin. Maintenant, il s'avère qu'il a besoin de savoir comment les conseillers communiquent. Il a écrit 100 fois à ce sujet.
Jetez un coup d'œil à mon blog. On a déjà discuté de tout ça en privé, et on semble avoir tout compris.
Si vous voulez obtenir de bonnes réponses, posez de bonnes questions). Apprenez à les formuler).
 
Yuriy Asaulenko:
Merde. J'ai d'abord posé une question sur l'interface graphique - comment communique-t-elle ? Il a répondu - pas du tout, ce n'est pas nécessaire. Maintenant, il s'avère qu'il a besoin de savoir comment les conseillers communiquent. 100 fois écrit à ce sujet.
Jetez un coup d'œil à mon blog. On a déjà discuté de tout ça en privé, et on semble avoir tout compris.
Si vous voulez des réponses normales, posez des questions normales). Apprenez à les formuler).

Vous êtes vraiment incapable de répondre à des questions. Je ne suis pas intéressé par la façon dont les conseillers communiquent. C'est tout, je ferme le fil, car il est inutile.

 
Alexey Volchanskiy:

J'en ai rien à foutre qu'il soit réparti en 5 conseillers ou 100500. Je m'interrogeais sur le canal de communication, car il peut y en avoir plusieurs. Encore une fois, je le faisais il y a 10 ans sur les pipelines. À l'époque, il n'y avait pas de pips intégrés à mql, j'ai utilisé des C++DLL natives. Et le robot entier était en Sharp. Les commandes de l'Expert Advisor ont été accumulées dans la mémoire tampon de la DLL, car elles ont été émises de manière asynchrone pour des raisons de rapidité. Et MQL4 Expert Advisor accède à la DLL à chaque tick (il n'avait pas encore de timer), passe les quotes et récupère les commandes. Tout était multidevise, je ne comprends pas pourquoi nous avons besoin de beaucoup de graphiques.

Ici, j'ai décrit le mécanisme de l'échange en deux lignes. Est-il si difficile de décrire votre mécanisme au lieu d'un océan d'eau ?

Intéressé par "chaque tick" pour un EA multi-devises. Quoi, un graphique a des événements d'arrivée de tics provenant de plusieurs instruments ? Ou "chaque tick" a une signification différente de l'événement commun, qui est géré par la fonction OnTick et est décrit dans le Help Desk comme "généré uniquement pour les Expert Advisors lorsqu'un nouveau tick est reçu pour le symbole, au graphique duquel l'EA est attaché" ?
Raison: