Toute question des nouveaux arrivants sur MQL4 et MQL5, aide et discussion sur les algorithmes et les codes. - page 861
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
Bonjour, pouvez-vous me dire pourquoi ça ne fonctionne pas ? Aucune erreur, mais les commandes ne s'ouvrent pas dans le testeur. J'essaie d'écrire un EA pour la rupture du haut et du bas d'un chandelier quotidien comme outil d'entraînement.
Bonjour, pouvez-vous me dire pourquoi ça ne fonctionne pas ? Aucune erreur, mais les commandes ne s'ouvrent pas dans le testeur. J'essaie d'écrire un EA pour la rupture du haut et du bas d'un chandelier quotidien comme outil d'entraînement.
Il ne s'ouvre pas, c'est-à-dire qu'il n'essaie pas ou qu'il essaie mais échoue ? Que disent-ils dans le journal ?
Bonjour, pouvez-vous me dire pourquoi ça ne fonctionne pas ? Aucune erreur, mais les commandes ne s'ouvrent pas dans le testeur. J'essaie d'écrire un EA pour la décomposition du haut et du bas d'un chandelier quotidien comme outil d'entraînement.
Analysez cette expression de la vôtre
Je ne comprends pas le sens de cette expression et je me trompe peut-être, mais vous devriez au moins remplacer "(TimeCurrent()==HourStart)" par "(TimeCurrent() - HourStart)".
Ensuite, si je vous comprends bien, vous essayez de placer un ordre d'achat limite s'il n'y a pas d'ordre d'achat limite et de position d'achat. Notez le "ET" exact. C'est-à-dire que la présence de n'importe lequel d'entre eux séparément vous convient, ainsi, à une position souhaitée du prix actuel, vous obtiendrez un nombre infini de ByLimits, un à chaque tick, jusqu'à ce qu'au moins l'un d'entre eux se déclenche et que la première position s'ouvre. De plus, vous ne vous souciez pas du prix actuel. Dès que la condition étrange sur le temps est remplie (juste au-dessus du poste), je pense qu'il y a une erreur, mais peu importe. Quoi qu'il en soit, si vous ne tenez pas compte de cela, l'EA commencera à placer des ordres erronés dès le premier tick, jusqu'à ce que le prix atteigne le haut d'hier, parce que vous utilisez le haut d'hier comme prix pour placer l'ordre. La limite d'achat est fixée en dessous du prix actuel, ce qui signifie que le prix actuel doit être supérieur au sommet d'hier, mais en attendant, l'ordre échoue.
Ainsi, la seule situation qui vous convient est celle où le prix a dépassé le sommet de la veille, où il n'y a pas de limite de temps et où il n'y a pas de transactions ouvertes. C'est une combinaison rare. En outre, il n'affectera pas le breakout, mais rebondira après le breakout (parce qu'il y a une bylimit), et il vous enverra beaucoup d'erreurs, à partir du premier tick au-dessus du maximum d'hier (c'est une autre erreur). La condition est déjà remplie, le conseiller expert lance l'ordre, mais il y a aussi un spread, la distance minimale autorisée par rapport au marché, etc.
J'ai du mal à comprendre le sens de cette expression, je me trompe peut-être, mais remplacez au moins "(TimeCurrent()==HourStart)" par "(TimeCurrent() - HourStart)".
C'est vrai, il y a une erreur ici. Vous avez besoin de si (TimeHour(TimeCurrent())==HourStart)
Maintenant, l'ordre s'ouvre parfois, mais il génère davantage d'erreurs (erreur OrderSend 130).
L'erreur ici n'est pas correcte en ce qui concerne les ordres limités.
C'est vrai, il y a une erreur ici. Il faut que si (TimeHour(TimeCurrent())==HourStart)
Maintenant, il ouvre parfois les transactions, mais il envoie plus d'erreurs (erreur 130 de OrderSend).
Il n'a pas raison en ce qui concerne les ordres limités.
Voici un script pour travailler avec le temps.
Il est vieux mais il fonctionne correctement.
Bonjour.
Veuillez m'aider à comprendre comment travailler avec des fichiers.
Lorsque le programme est en cours d'exécution, je sauvegarde les données reçues dans un fichier et je lis le CSV.
Le fichier augmente, la vitesse diminue. J'ai essayé de mettre à jour (écraser) certains des éléments des lignes. Pas question !
Vous ne pouvez pas supprimer une ligne sélectionnée ! Je ne peux pas ajouter un nouvel élément à une ancienne ligne !
C'est très étrange ! Vous pouvez facilement supprimer un fichier ou un objet graphique, etc. Mais lorsqu'il s'agit de travailler avec un fichier créé, c'est une impasse absolue !
Sur les forums, il n'y a qu'une seule recommandation : "Lire le fichier en mémoire, modifier ou supprimer la ligne et enregistrer le nouveau fichier sous l'ancien nom".
Cela ne me semble pas être la bonne solution. J'ai dû rater quelque chose. Aidez-moi à résoudre ce problème.
Ça ne me semble pas être la bonne décision. Je rate probablement quelque chose. Aidez-moi à résoudre ce problème.
Vous devriez être engagé de toute urgence par Microsoft pour corriger enfin cette"mauvaise solution" pour la gestion des fichiers.
Le traitement des fichiers n'est pas comme l'édition d'un fichier dans un éditeur de fichiers, c'est plutôt comme la fabrication d'un mot à partir de dés avec des lettres individuelles.
Si vous devez insérer une nouvelle lettre, tous les cubes qui la suivent doivent être déplacés vers la droite.
Si vous voulez supprimer une ancienne lettre, tous les dés qui la suivent doivent être déplacés vers la gauche.
Par conséquent, si le fichier n'est pas volumineux et que le travail ne nécessite pas l'accès au fichier, il est en effet plus facile d'écrire les données dans un nouveau fichier, de supprimer l'ancien et de renommer le nouveau fichier au nom de l'ancien.
Si je ne me trompe pas, la seule chose qui manque à MQL pour travailler avec des fichiers est la possibilité de réduire la longueur du fichier à la taille requise.
Voici un script pour travailler avec le temps.
Il est vieux, mais il fonctionne correctement.
J'utilisais aussi la fonction de Kim, puis j'ai trouvé le temps d'écrire la mienne :
désactivation de l'exécution - vous devez entrer des données invalides lors de l'initialisation du constructeur, par exemple 25 heures ou 70 minutesVous devez être engagé de toute urgence par Microsoft pour qu'ils corrigent enfin cette"mauvaise solution" pour la gestion des fichiers.
Travailler avec des fichiers n'est pas comme éditer un fichier dans un éditeur de fichiers, c'est plutôt comme fabriquer un mot à partir de dés avec des lettres individuelles.
Si vous devez insérer une nouvelle lettre, tous les cubes qui la suivent doivent être déplacés vers la droite.
Si vous voulez supprimer une ancienne lettre, tous les dés qui la suivent doivent être déplacés vers la gauche.
Par conséquent, si le fichier n'est pas volumineux et que le travail ne nécessite pas l'accès au fichier, il est en effet plus facile d'écrire les données dans un nouveau fichier, de supprimer l'ancien et de renommer le nouveau fichier au nom de l'ancien.
Si je ne me trompe pas, la seule chose qui manque à MQL pour travailler avec des fichiers est la possibilité de réduire la longueur du fichier à la taille requise.