Bonjour,
l'éditeur dans la version >600 n'aime pas la fonction StrToTime.
Son appel provoque l'erreur 4051. Quel est le problème ?
Le code est ici :
<deleted>
OK, maintenant je sais... la prochaine fois...
avez-vous une solution à mon problème ?
//+------------------------------------------------------------------+ //| test.mq4 | //+------------------------------------------------------------------+ #property version "1.00" //--- input parameters input string TimeClose_="21:45"; //+------------------------------------------------------------------+ //| Expert initialization function | //+------------------------------------------------------------------+ int OnInit() { //--- //--- return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ //| Expert deinitialization function | //+------------------------------------------------------------------+ void OnDeinit(const int reason) { //--- } //+------------------------------------------------------------------+ //| Expert tick function | //+------------------------------------------------------------------+ void OnTick() { //--- datetime xxxxx = StrToTime("21:45"); Print("error: "+GetLastError()); } //+------------------------------------------------------------------+
- La prochaine fois, modifiez votre message original.
- N'appelez GetLastError() que si vous avez une erreur. Est-ce que xxxx == 0 ? Pourquoi ne l'avez-vous pas imprimé avec GLE ?
datetime xxxxx = StrToTime("21:45"); Print("error: "+GetLastError());
test EURUSD,H1 : erreur : 4051 - Peut-être que vous devriez essayer le nouveau StringToTime.
OK, maintenant je sais... la prochaine fois...
avez-vous une solution à mon problème ?
Le problème a peut-être été résolu. . https://www. mql5.com/en/forum/149475 mais veuillez quand même le signaler au Service Desk.
- La prochaine fois, modifiez votre message original.
- test EURUSD,H1 : erreur : 4051N'appelez GetLastError() que si vous avez une erreur. Est-ce que xxxx == 0 ? Pourquoi ne l'avez-vous pas imprimé avec GLE ?
- Peut-être devriez-vous essayer le nouveau StringToTime
@2 : comment puis-je savoir s'il y a une erreur, si je ne demande pas GLE ?
Ce code est pour découvrir, pourquoi mon EA donne des messages d'erreur. Aucun autre but.
@3 : le StringToTime cause la même erreur :(
Y a-t-il une autre possibilité ?
GLE ne vous dit pas SI vous avez une erreur. Il vous dit quelle est l'erreur QUAND vous en avez une.
GLE renvoie le dernier code d'erreur. Ce code est associé à quel code ? Inconnu. Il peut s'agir d'un élément associé au traitement interne du terminal ou d'un appel d'une fonction précédente que vous avez appelée.
D'21:45'
Ce n'est pas une chaîne, c'est déjà une date ( 21:45 du jour où vous avez compilé le code).
Lisez la doc StrToTime()
datetime var1 ; var1=StrToTime("2003.8.12 17:35") ; var1=StrToTime("17:35") ; // renvoie la date actuelle avec l'heure donnée var1=StrToTime("2003.8.12") ; // renvoie la date avec l'heure de minuit "00:00".
PARFAIT ! Maintenant, il fonctionne sans erreur =)
Ce doit être le format complet de la date !
TNX beaucoup !!
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Vous acceptez la politique du site Web et les conditions d'utilisation
Bonjour,
l'éditeur dans la version >600 n'aime pas la fonction StrToTime.
Son appel provoque l'erreur 4051. Quel est le problème ?
Le code est ici :
Le résultat avec chaque tick :Ce qui ne va pas ici. La compilation avec l'éditeur 509 ne provoque pas d'erreur, bien sûr.