La fonction StrToTime provoque l'erreur 4051 - page 3

 
Les fonctions StrToTime et StringToTime sont les mêmes.
RaptorUK:
Pourquoi voudrais-je être compatible avec mql5 ? J'utilise le code mql4 pour MT4.

Je n'ai pas dit que vous deviez le faire.
 
RaptorUK:
ResetLastError() avant l'appel à la fonction StrToTime(), puis appel à GetLastError() après . . . StrToTime() ne devrait pas provoquer d'erreur mais c'est le cas... c'est un bug. Un problème similaire a déjà été reconnu et corrigé : https://www.mql5.com/en/forum/149475/page2


Est-il écrit quelque part dans la documentation que StrToTime() utilise un gestionnaire d'erreurs ?

Si non, alors il y a

1) Aucune raison de le vérifier

2) Aucune raison de s'attendre à ce que la valeur renvoyée ait quelque chose à voir avec le résultat de la fonction StrToTime().

Par ailleurs, que signifie l'erreur 4051 ? Lot invalide montant ?????

 
graziani:


Est-il écrit quelque part dans la documentation que StrToTime() utilise un gestionnaire d'erreurs ?

Si non, alors il y a

1) Aucune raison de le vérifier

2) Aucune raison de s'attendre à ce que la valeur retournée ait quelque chose à voir avec le résultat de la fonction StrToTime().

Par ailleurs, que signifie l'erreur 4051 ? Nombre de lots invalides ?????

Cette erreur peut être générée par de nombreuses fonctions, même celles qui ne renvoient pas de valeur.

ERR_INVALID_FUNCTION_PARAMVALUE4051Valeur de paramètre de fonction non valide.
 

Pouvez-vous me montrer une référence dans la documentation où il est indiqué que StrToTime() utilise un gestionnaire d'erreurs et qu'une fois la fonction terminée, vous devez vérifier son succès en appelant GetLastError() ?

 

de toute façon, il y a une chose sur laquelle nous sommes d'accord, alors faisons plutôt du bruit à ce sujet :

Forcer que les commentaires dans le code source d'EA après la définition des variables externes/entrées soient visibles comme la définition des variables dans les propriétés d'expert dans le testeur de stratégie est arrogant, insolent et irrespectueux envers les programmeurs ! MQ n'a pas le droit d'imposer une telle règle et de forcer les utilisateurs à perdre du temps à modifier de nombreuses lignes de code source et à changer leurs habitudes de commentaire et d'écriture du code source, d'une manière aussi peu standard. S'ils veulent un tel comportement non standard, ils devraient l'implémenter en utilisant les directives #pragma, car c'est la manière standard et acceptée.

 
graziani: il doit être implémenté en utilisant les directives #pragma, car c'est la manière standard et acceptée.
Ou les "méthodes standard et acceptées", plus compactes, mais toujours contrôlées par le codeur.
Doxygen
int var; /*!< Detailed description after the member */
int var; //!< Brief description after the member
Ou style QT
int var; /**< Detailed description after the member */
 
graziani:

Pouvez-vous me montrer une référence dans la documentation où il est indiqué que StrToTime() utilise un gestionnaire d'erreurs et qu'une fois la fonction terminée, vous devez vérifier son succès en appelant GetLastError() ?

Non, je ne peux pas.

Une situation similaire a déjà été résolue avec TerminalInfoString() ... comme je l'ai déjà mentionné. Mais je comprends votre point de vue, si l'utilisateur a utilisé GetLastError() correctement, l'"erreur" n'aurait jamais été vue.
 
graziani:

de toute façon, il y a une chose sur laquelle nous sommes d'accord, alors faisons plutôt du bruit à ce sujet :

Il y a probablement plus d'une chose sur laquelle nous sommes d'accord.
 
RaptorUK:
Il y a probablement plus d'une chose sur laquelle nous sommes d'accord.

Il semble. Vous pouvez créer un club
 
RaptorUK: Pourquoi voudrais-je être compatible avec mql5 ? J'utilise le code mql4 pour MT4.
graziani: Str vs. String, vous devriez utiliser les nouvelles fonctions car elles sont les mêmes que dans MQL5, pour avoir une compatibilité avec la source.
Les documents mq4 ont été mis à jour. Ils sont tous les deux dans mt4. https://docs.mql4.com/convert/StrToTime et https://docs.mql4.com/convert /stringtotime
Raison: