Vous manquez des opportunités de trading :
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Inscription
Se connecter
Vous acceptez la politique du site Web et les conditions d'utilisation
Si vous n'avez pas de compte, veuillez vous inscrire
Ce n'est pas si difficile de refaire celui-ci.
https://www.mql5.com/ru/code/470
Merci ! :-)
C'est la bonne chose à faire.
Quand vous le refaites, vous commencez à comprendre.
Il n'y a aucun problème avec les indicateurs. Il est possible de connaître le nombre et les indicateurs présents sur le graphique, de mettre un indicateur ou de supprimer un indicateur du graphique.
Cependant, pour les conseillers-experts et les scripts, cela n'est pas mis en œuvre, il suffit d'arrêter le fonctionnement du conseiller-expert en appelant ExpertRemove() depuis l'EA lui-même.
Il semble qu'il n'y ait vraiment que du fnctionnel sur les indices (bien que je n'aie pas vérifié jusqu'au bout).
J'ai regardé dans MQL4, il y a une fonction.
string WindowExpertName() Возвращает имя выполняющегося эксперта, скрипта, пользовательского индикатора или библиотеки, в зависимости от того, из какой MQL4-программы вызвана данная функция.
J'ai suggéré aux développeurs d'ajouter la fonctionnalité nécessaire aux informations du graphique et de telle sorte qu'il soit possible d'obtenir l'ifna à partir de n'importe quel graphique.Étant donné qu'un seul EA peut fonctionner sur un seul graphique, cette information n'a probablement pas été créée pour la détermination des indicateurs uniquement.
Mais il est vraiment possible d'obtenir des informations à partir d'autres cartes, si quelqu'un en a besoin.
Étant donné qu'un seul EA peut fonctionner sur un seul graphique, cette information n'a probablement pas été créée pour la détermination des indicateurs uniquement.
Mais il est vraiment possible d'obtenir des informations à partir d'autres cartes, si quelqu'un en a besoin.
J'ai découvert que l'indicateur peut obtenir son nom court de lui-même, mais pas son handle et cela est probablement dû à quelque chose.
C'est pourquoi, si vous passez en boucle par tous les graphiques et toutes les fenêtres de l'indicateur, vous atteindrez "lui-même" et resterez bloqué si vous ne trouvez pas de solution de rechange.
Bien sûr, vous pouvez le faire dans un script ou dans un conseiller expert, mais j'ai dû le faire dans un indicateur.
Mais ce n'est pas l'essentiel, ça m'est revenu en tête :
- il serait bon d'avoir un "graphique" vide spécial dans le terminal sans symbole et période et autres environnements, mais sur lequel un indicateur/script/expert peut également être lancé.
Une sorte de tableau pour divers panneaux et autres commandes/contrôles pour d'autres tableaux et programmes conventionnels.
Mais ce n'est pas le point principal, c'est juste une idée de plus :
- Il serait bon d'avoir un "graphique" spécial vierge dans le terminal, sans symbole, période et autres environnements, mais sur lequel un indicateur/script/expert peut également être lancé.
Une sorte de tableau pour les différents panneaux et autres commandes/contrôles d'autres tableaux et programmes conventionnels.
Qu'Allah vous entende, Renat.
Je pense que cette idée (pas du tout nouvelle) devrait être activement promue, et dans un contexte beaucoup plus large, à savoir :
Malheureusement, je suis pleinement conscient que cela ne sera pas mis en œuvre dans MT5 (avec 99,9 % de confiance). L'architecture du terminal, dans ses fondements, ne permet pas une mise à niveau facile, ni même une expansion de cet aspect particulier. Mais le développement du système ne s'arrêtera pas avec MT5, et d'ici à ce que MT6 soit trouvé (et peut-être que le processus est déjà en cours), nous devons faire en sorte que les développeurs mettent en œuvre architecturalement exactement ce schéma, au lieu d'hériter des habituels rationalisés ("un graphique - un conseiller expert", "chaque onglet de la fenêtre principale = graphique", etc.)
Il existe des difficultés privées dans la mise en œuvre d'une telle architecture, mais elles ne sont pas fondamentales et peuvent être vaincues. Mais la convivialité l'emportera de plusieurs ordres de grandeur. Au final, les développeurs bénéficieront également d'un certain confort - par exemple, des types de fenêtres spécifiques peuvent être introduits par étapes et progressivement, sans grand stress au niveau architectural.
Amen.
Qu'Allah vous entende, Renat.
Je pense que cette idée (pas du tout nouvelle) devrait être activement promue, et dans un contexte beaucoup plus large, à savoir :
Malheureusement, je suis pleinement conscient que cela ne sera pas mis en œuvre dans MT5 (avec 99,9 % de confiance). L'architecture du terminal, dans ses fondements, ne permet pas une mise à niveau facile, ni même une expansion de cet aspect particulier. Mais le développement du système ne s'arrêtera pas avec MT5, et d'ici à ce que MT6 soit trouvé (et peut-être que le processus est déjà en cours), nous devons faire en sorte que les développeurs mettent en œuvre architecturalement exactement ce schéma, au lieu d'hériter des habituels rationalisés ("un graphique - un conseiller expert", "chaque onglet de la fenêtre principale = graphique", etc.)
Il existe des difficultés privées dans la mise en œuvre d'une telle architecture, mais elles ne sont pas fondamentales et peuvent être vaincues. Mais la convivialité l'emportera de plusieurs ordres de grandeur. Au final, les développeurs bénéficieront également d'un certain confort - par exemple, des types de fenêtres spécifiques peuvent être introduits par étapes et progressivement, sans grand stress au niveau architectural.
Amen.
Qu'est-ce qui est si triste ?
Vous faites un faux tableau et voilà que les brooks se transforment en shorts élégants, ou en longs :) Désolé pour ce jeu de mots.
Qu'est-ce qu'il y a de si triste ?
Un faux graphique est créé et voilà, les brooks se transforment en élégants shorts, ou longs :) désolé pour le jeu de mots.
Quel est le problème avec le code. Pourquoi les erreurs"failed cancel order #0 buy 0.00 at market [Invalid request]" continuent-elles d'apparaître ?
MqlTradeRequest order_remove_mql_trade_request = {0};
order_remove_mql_trade_request.action = TRADE_ACTION_REMOVE;
i = OrdersTotal();
if(i > 0){
if(PositionGetInteger(POSITION_TYPE) == POSITION_TYPE_BUY){
for(i2 = 0;i2 <= i;i2++){
ul = OrderGetTicket(i2);
OrderSelect(ul);
if(OrderGetInteger(ORDER_TYPE) == ORDER_TYPE_BUY_LIMIT){
order_remove_mql_trade_request.order = ul;
OrderSend(order_remove_mql_trade_request,mql_trade_result);}}}
if(PositionGetInteger(POSITION_TYPE) == POSITION_TYPE_SELL){
for(i2 = 0;i2 <= i;i2++){
ul = OrderGetTicket(i2);
OrderSelect(ul);
if(OrderGetInteger(ORDER_TYPE) == ORDER_TYPE_SELL_LIMIT){
order_remove_mql_trade_request.order = ul;
OrderSend(order_remove_mql_trade_request,mql_trade_result);}}}}