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
De plus, il n'est pas nécessaire de recréer l'objet à chaque tick, ce qui inonderait le journal d'erreurs avec un 4200 Object already exists, donc à la place, créez l'objet dans la fonction on init une fois et ensuite vous pouvez le déplacer à la date désirée plus tard.
pour éviter ce problème :
Vous pouvez également vérifier en amont si l'objet existe déjà :
ObjectFind(...
Marco, Paul
Merci beaucoup pour votre réponse et votre aide.
Cependant, le problème que je rencontre actuellement est de convertir l'information (date) que je récupère du fichier et de l'utiliser pour dessiner les lignes.
Dans le code, le fichier est enregistré sous # Lines dans la section des fichiers MT4 et la date enregistrée est par exemple 2019.05.18 05:30:00.
première étape, j'enlève les 3 derniers chiffres de la date et je la convertis en 2019.05.18 05:30 ... maintenant, l'étape suivante est ce que je ne parviens pas à faire pour que l'heure soit au format 'D'.
J'ai essayé ce qui suit
mais cela n'a pas fonctionné, j'ai donc converti la chaîne de caractères en heure.
Dans les deux cas, la ligne est créée à 1970.01.01 00:00. Le problème est donc de convertir la date du fichier en quelque chose de significatif que MT4 peut utiliser pour créer la ligne V.
Je joins le code, peut-être pouvez-vous repérer mon erreur ... dans le code, j'ai créé deux lignes mais aucune des lignes n'est créée à la date que je récupère du fichier.
vous faites cela mal en écrivant la date entre guillemets
comme elle l'est :
D'2019.05.18 05:30'
Les deux sont des dates. Tout comme
sont tous deux des doubles.vous faites cela mal en écrivant la date entre guillemets
comme elle l'est :
D'2019.05.18 05:30'
Je fais cela parce que je convertis le texte dans un format de date commeWilliam Roeder l'a illustré ci-dessus. Je ne suis pas sûr de l'erreur que j'ai commise puisque j'ai enregistré la date correctement et l'ai convertie au format 'D', mais je ne peux toujours pas créer la ligne, bien que si j'ai copié la date du fichier et créé manuellement une ligne, la date est correcte.
Je pense que vous aurez plus de chance de sauvegarder et de lire le temps en tant que valeurs entières longues comme les secondes depuis l'époque au lieu de ces conversions de chaîne de caractères en date.
La date est sauvegardée avec les secondes, par exemple c'est l'heure tirée du fichier 2019.05.19 15:00:00
Cependant, lors de mes tests, j'ai découvert que si j'utilisais la date avec les secondes, cela créerait la ligne en1970.01.01, c'est pourquoi j'ai supprimé les secondes, mais je n'ai toujours pas réussi à créer le fichier à l'emplacement correct de la date.
Dans ce cas, je pense que vous pouvez également examiner la structure temporelle :
Vous pouvez utiliser
TimeToStruct()
Fonction comme suit :
Ensuite, vous pouvez extraire toutes les valeurs souhaitées à partir de cela.
Il s'agit de valeurs entières, donc pas de chaînes de caractères à manipuler.