Erreurs, bugs, questions - page 610

 

Bonjour.

Passage de 4 à 5. Je n'arrive pas à comprendre la question suivante. J'ai prescrit ma classe dans le fichier include, puis je l'utilise dans l'Expert Advisor. Ensuite, je veux créer un autre Expert Advisor et j'ai besoin de la même classe. Dois-je créer un autre fichier include ou le terminal va-t-il créer une copie du fichier existant et l'accrocher correctement à un autre EA (comme les bibliothèques de fonctions dans MQL4) ? Les classes peuvent-elles être enregistrées dans des bibliothèques et utilisées avec plusieurs Expert Advisors (comme les bibliothèques de fonctions dans MQL4) ? J'ai téléchargé le certificat pour 5-th, mais je n'ai pas trouvé de description détaillée de cette procédure. Peut-être y a-t-il quelque chose à lire qui m'aiderait à la comprendre ?

Merci d'avance.

 

RedFish:

Dois-je créer un autre fichier include ou le terminal va-t-il créer une copie du fichier existant et l'accrocher correctement à un autre EA (comme les bibliothèques de fonctions dans MQL4) ?

Lorsque vous créez une classe dans un fichier externe, faites le fichier avec l'extension mqh au lieu de mq5 et incluez ensuite ce fichier dans votre projet de n'importe quel expert/script/indicateur.

Peut-on ajouter des classes aux bibliothèques et les utiliser simultanément avec plusieurs EA (comme les bibliothèques de fonctions dans MQL4) ?

Bien sûr ! Fais-le comme ça.

 
sergeev:

Lorsque vous créez une classe dans un fichier externe, faites en sorte que ce fichier porte l'extension mqh au lieu de mq5 et connectez ce fichier à n'importe lequel de vos projets EA/Script/indicateur par le biais de include.

Bien sûr ! Faites-le comme ça.

Merci pour la réponse.

Comment connecter des bibliothèques avec des classes à un conseiller expert ? Dans MQL4, il y avait l'opération #import - j'ai listé les fonctions - #import, je l'ai fermée et tout a fonctionné. Dans MQL5, comment fonctionne cette procédure ? Je ne trouve nulle part une description de ce processus...

Merci encore.

 
RedFish:

Merci pour la réponse.

Comment connecter des bibliothèques avec des classes à un conseiller expert ? Dans MQL4, il y avait l'opération #import - j'ai listé les fonctions - #import, je l'ai fermée et tout a fonctionné. Dans MQL5, comment fonctionne cette procédure ? Je ne trouve nulle part une description de ce processus...

Merci encore.

Ces points sont décrits en détail dans l'aide : https://www.mql5.com/ru/docs/basis/preprosessor.
Документация по MQL5: Основы языка / Препроцессор
Документация по MQL5: Основы языка / Препроцессор
  • www.mql5.com
Основы языка / Препроцессор - Документация по MQL5
 
Terminal: При авторизации в журнал терминала выводится информация о времени и адресе предыдущего успешного подключения.

Cette mise en œuvre entraîne une violation de la sécurité - elle révèle l'adresse IP du trader si celui-ci décide soudainement de donner le mot de passe Invest à quelqu'un d'autre. J'ai vérifié - l'adresse IP est affichée à tous, qu'ils se soient connectés ou non à l'aide de leur mot de passe de négociant ou d'investisseur.

Cela signifie que l'IP de la dernière connexion (que la dernière connexion ait été effectuée avec le mot de passe Investisseur ou Commerce) est affichée lors de la connexion (que la dernière connexion ait été effectuée avec le mot de passe Investisseur ou Commerce).

Vous devez désactiver cette fonction pour le mot de passe investisseur et ne prendre en compte que les connexions utilisant le mot de passe commercial.

 
notused:

Cette mise en œuvre entraîne une violation de la sécurité - elle révèle l'adresse IP du trader si celui-ci décide soudainement de donner le mot de passe Invest à quelqu'un d'autre. J'ai vérifié - l'adresse IP est affichée à tous, qu'ils se soient connectés ou non à l'aide de leur mot de passe de négociant ou d'investisseur.

Cela signifie que l'IP de la dernière connexion (que la dernière connexion ait été effectuée avec le mot de passe Investisseur ou Commerce) est affichée lors de la connexion (que la dernière connexion ait été effectuée avec le mot de passe Investisseur ou Commerce).

Vous devez désactiver cette fonction pour le mot de passe investisseur et ne prendre en compte que les connexions utilisant le mot de passe commercial.

Oui, cela sera corrigé - déjà vu.
 
      ObjectSetInteger(0,highlevel,OBJPROP_TIMEFRAMES,OBJ_PERIOD_M10|OBJ_PERIOD_H4);
Comment puis-je préparer à l'avance une chaîne avec une énumération logique ( ?) comme : OBJ_PERIOD_M10| OBJ_PERIOD_H4, pour ensuite simplement substituer dans ObjectSetInteger () une variable prête sous forme de chaîne collée ? J'ai essayé de le coller symboliquement et ensuite de l'envelopper dans StringToInteger(), mais cela n'a pas fonctionné... Parce queOBJ_PERIOD_... - est un élément de type enum mais a le drapeau équivalent hexagonal de type int? Cette énumération ressemble plus à une opération OU par bit...
 
x100intraday:
Comment puis-je faire précéder une chaîne de caractères d'une énumération booléenne ( ?) comme : OBJ_PERIOD_M10| OBJ_PERIOD_H4, de sorte que je puisse simplement substituer une variable prête dans ObjectSetInteger () comme une chaîne collée ? J'ai essayé de le coller symboliquement et ensuite de l'envelopper dans StringToInteger(), mais cela n'a pas fonctionné... Parce queOBJ_PERIOD_... - est un élément de type enum mais a le drapeau équivalent hexagonal de type int? Cette énumération ressemble plus à une opération OU par bit...

Cela fonctionnerait-il avec #define?

Exemple :

#define Fl_Fnc __FILE__+" -> "+__FUNCTION__+"(): "
 
tol64:

Cela fonctionnerait-il avec #define?

Exemple :

J'ai peur d'imaginer comment. En fait, j'ai besoin d'une variante flexible, je n'ai pas besoin d'une seule chaîne sous forme inchangée, mais de plusieurs chaînes différentes à former, en boucle... Si c'est possible, j'aimerais voir un exemple plus précis...

En fait, la question se résume à autre chose. Je veux savoir s'il est possible d'obtenir OBJ_PERIOD_M30 proprement dit en tant qu'élément d'énumération à partir d'une chaîne de caractères qui contient un mot réservé du type "OBJ_PERIOD_M30 " et qui contient effectivement une valeur int sur laquelle on peut effectuer des opérations comme | ? C'est un cas simple. Mais je veux interpréter immédiatement toute ligne de la forme "OBJ_PERIOD_M15|OBJ_PERIOD_M30|OBJ_PERIOD_H1" comme une opération bit à bit avec des valeurs numériques sans entrer dans un tableau supplémentaire de valeurs numériques correspondantes et une "identification" ultérieure élément par élément avec une liste.

 

Bonjour, veuillez me conseiller, j'ai besoin d'utiliser cette construction void RAssignStringVector(int rhandle, string variable, string &vector[], int size) ;

Je reçois l'erreur 'vector' - invalid parameter for import function mt4R.mqh, comment puis-je passer un pointeur à un tableau de chaînes de caractères, cela fonctionne dans µl4, mais pas dans 5, que dois-je faire dans cette situation ?

Raison: