Erreurs, bugs, questions - page 341

 
Urain:

Il est nécessaire d'envoyer des données prétraitées à un indicateur déjà en cours d'exécution. J'ai décidé d'utiliser le texte des objets graphiques comme stockage global des données. Je comprends que l'objectif des objets graphiques est différent et s'il existe une alternative, je serai heureux de l'entendre.

Mais ici, j'ai été confronté à une autre limite de la langue. La chaîne elle-même supporte une longueur presque infinie de caractères. Eh bien, la limitation se situe probablement quelque part dans le domaine de la limitation des tableaux en général. Et la chaîne passée en paramètre d'un objet graphique est limitée à 63 caractères. En conséquence, passer un tableau en tant que chaîne nécessiterait un tas d'objets graphiques (oui, j'ai oublié de vous dire que j'utilise le cryptage, c'est pourquoi les informations dans les chaînes prennent approximativement la même quantité d'espace que dans le type original). Avec les 63 caractères actuels, il n'est possible de faire passer que 15 couples heure/prix par un objet.

D'où la question suivante : pouvons-nous espérer qu'à l'avenir, le langage supprimera la limitation de la longueur du texte de l'objet graphique ou qu'il existera un mécanisme permettant de transmettre des données dans le fil de l'indicateur ?

J'ai rencontré le même problème, lors de la génération d'un événement personnalisé. Il y a une limite de 63 symboles, pas la chaîne entière.....

J'ai dû écrire une classe séparée pour coller le message ensemble à partir de tranches..... travaux ))))

Документация по MQL5: Работа с событиями / EventChartCustom
Документация по MQL5: Работа с событиями / EventChartCustom
  • www.mql5.com
Работа с событиями / EventChartCustom - Документация по MQL5
 
AlexSTAL:

J'ai rencontré le même problème en générant un événement personnalisé. Il y a la même limite de 63 caractères, pas toute la chaîne.....

J'ai dû écrire une classe séparée pour coller le message ensemble à partir de tranches..... travaux ))))

Oui, s'il n'y avait pas de restrictions, vous pourriez aussi utiliser les événements pour envoyer des tableaux de données.
 
Urain:
Oui, s'il n'y avait aucune restriction, vous pourriez utiliser des événements pour envoyer des tableaux de données.

Je ne suis toujours pas en mesure d'essayer de passer un handle d'objet à travers un événement. Et l'objet contient toutes les données nécessaires.

Si c'est pertinent en ce moment, essayez-le et faites un rapport plus tard.

// Il serait très intéressant d'avoir une mémoire partagée contrôlable à l'intérieur du terminal. Du moins, seulement pour les objets et les tableaux.

// Et lors de la déclaration d'un tel objet, le modificateur shared déterminera son placement dans cette mémoire.

 
MetaDriver:

Je n'arrive toujours pas à essayer de faire passer le handle de l'objet par un événement. Et l'objet contient toutes les données nécessaires.

Si c'est pertinent en ce moment, essayez et faites un rapport plus tard.

La valeur de l'identifiant est transmise correctement, mais le thread nécessaire ne dispose pas d'un tel identifiant. Par conséquent, la valeur ne pointe pas vers le handle requis.
 
MetaDriver:

// Il serait très tentant d'avoir une mémoire partagée contrôlable à l'intérieur du terminal. Du moins, seulement pour les objets et les tableaux.

// Et lors de la déclaration d'un tel objet, le modificateur partagé définirait son emplacement dans cette mémoire.

Quelque chose comme une mémoire terminale globale disponible pour tous les threads.
 
Urain:
Une sorte de mémoire globale du terminal ? disponible pour tous les threads.
Mm-hmm.
 
Urain:
La valeur du handle est transmise correctement, mais il n'existe pas de handle de ce type dans le thread souhaité. Par conséquent, la valeur ne pointe plus vers le bon handle.
C'est dommage.
 
J'ai téléchargé la version 420 d'icihttps://www.mql5.com/ru/forum/23/page11 mais en fait, elle installe la version 412. J'ai un problème ou ils ont oublié de changer le fichiermetaquotes.net?
Список изменений в билдах MetaTrader 5 Client Terminal
Список изменений в билдах MetaTrader 5 Client Terminal
  • www.mql5.com
Автоматическое обновление доступно через систему LiveUpdate:.
 
Urain:
Quelque chose comme une mémoire globale de terminal ? disponible pour tous les threads.

La solution la plus simple pour MQ serait de donner aux paramètres de la fonction

void OnChartEvent(const int id,const long &lparam[],const double &dparam[],const string &sparam[])

comme paramètres d'une fonction au lieu de variables, qui existent maintenant comme paramètres. Cette solution est bien sûr unilatérale, car il n'y aura toujours aucun moyen de transférer des données entre les EA, mais c'est toujours mieux que rien.

 
Urain:

1. La solution la plus simple pour MQ serait de donner des tableaux de données comme paramètres de fonction au lieu des variables, qui existent actuellement comme paramètres.

2. La solution est bien sûr unilatérale puisqu'il n'y aura toujours pas de possibilité de transférer des données entre les EA, mais c'est toujours mieux que rien.

1. Oui, peut-être.

2. Pourquoi n'est-ce pas possible ? Copiez-le pour vous, obtenez-le. Et ce qui doit être transféré - transféré par le prochain message.

Raison: