Toute question des nouveaux arrivants sur MQL4 et MQL5, aide et discussion sur les algorithmes et les codes. - page 1178
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
s'agit-il du testeur ou de la version en ligne ?
Si vous êtes en ligne - regardez le code, quelque part l'événement de déplacement n'est pas acheminé normalement. Les panneaux d'ailleurs sur le site seulement cinq bibliothèques différentes, qu'est-ce que vous voulez dire ?
Et dans le testeur - il semble qu'il n'y ait aucun moyen, et pourquoi.
s'agit-il du testeur ou de la version en ligne ?
Si vous êtes en ligne - regardez le code, quelque part l'événement de déplacement n'est pas acheminé normalement. Les panneaux d'ailleurs sur le site seulement cinq bibliothèques différentes, qu'est-ce que vous voulez dire ?
Et dans le testeur - il semble qu'il n'y ait aucun moyen, et pourquoi.
Nous parlons de l'Internet. Je n'en ai vraiment pas besoin dans le testeur. Je ne suis pas sûr des bibliothèques - je ne suis pas un expert en programmation. Je viens de prendre un code de bouton prêt à l'emploi dans la référence MQL5.
Je l'ai déjà fait mais je n'ai pas eu d'erreur, je ne peux pas encore le réparer. Apparemment, c'est la raison pour laquelle la position du bouton est mise à jour au prochain tick. Je ne comprends pas comment faire bouger les boutons en même temps que le fond.
Après avoir envoyé des commandes de déplacement à TOUS les objets du panneau, faites ChartRedraw().
.
Il suffit de l'insérer après chaque condition if.
En conséquence, j'ai découvert que la fonction :
La commande est sélectionnée avec succès, mais siPrint("Order Selected !") ; estinséré après ce code:
alors une erreur se produit :
2020.06.17 01:38:24.136 2020.01.02 07:40:00 failed modify order #2 buy stop 0.1 EURUSD_i at 1.12086 sl : 1.12023 tp : 1.12275 -> 1.00000, sl : 1.00000 tp : 1.00000 [Prix invalide].
2020.06.17 01:38:24.136 2020.01.02 07:40:00 CTrade::OrderSend : modifier #2 à 1.00000 (sl : 1.00000 tp : 1.00000) [prix invalide]
J'utilise le même code dans un autre EA pour l'autotrading (la seule différence est l'absence d'un tel code) :
) et je n'ai aucun problème. Les commandes sont ouvertes et modifiées sans aucun problème.
Voici le code lui-même :
S'il vous plaît, dites-moi quelle est mon erreur ?
Il s'agit de l'Internet. Je n'en ai vraiment pas besoin dans le testeur. Je ne peux pas répondre à la question sur les bibliothèques, je suis complètement nul en programmation. Je viens de prendre un code de bouton prêt à l'emploi dans la référence MQL5.
Je l'ai déjà fait mais je n'ai pas eu d'erreur, je ne peux pas encore le réparer. Apparemment, c'est la raison pour laquelle la position du bouton est mise à jour au prochain tick. Je ne comprends pas comment faire bouger les boutons avec l'arrière-plan.
Et comment avez-vous déterminé que c'est sur le prochain tic et non sur celui-là ?).
Aidez-nous à comprendre. J'ai un code pour le panneau de trading pour ouvrir un ordre d' achat stop en attente suivi d'un ordre de suivi si l'ordre échoue. L'ordre est ouvert mais il n'y a pas de modification de l'ordre. Aucune erreur n'apparaît dans le journal et nous n'avons pas non plus de tentative de modification de l'ordre. J'ai essayé de retracer dans le journal à quel stade une erreur se produit en utilisant la fonction :
.
Il suffit de l'insérer après chaque condition if.
En conséquence, j'ai découvert que la fonction :
La commande est sélectionnée avec succès, mais siPrint("Order Selected !") ; estinséré après ce code:
alors une erreur se produit :
2020.06.17 01:38:24.136 2020.01.02 07:40:00 failed modify order #2 buy stop 0.1 EURUSD_i at 1.12086 sl : 1.12023 tp : 1.12275 -> 1.00000, sl : 1.00000 tp : 1.00000 [Prix invalide].
2020.06.17 01:38:24.136 2020.01.02 07:40:00 CTrade::OrderSend : modifier #2 à 1.00000 (sl : 1.00000 tp : 1.00000) [prix invalide]
J'utilise le même code dans un autre EA pour l'autotrading (la seule différence est l'absence d'un tel code) :
) et je n'ai aucun problème. Les commandes sont ouvertes et modifiées sans aucun problème.
Voici le code lui-même :
Pouvez-vous me dire quelle est mon erreur ?
De toute évidence, Normalize ne fonctionne pas correctement. Désimprimer asymbol.Digits() asymbol.TickSize(),. Point() vérifier .
Bonne journée à tous. J'ai rencontré ce problème lors de l'accès de l'EA à la DLL :
Impossible de charger 'C:\....\shablon.dll' [487]
L'erreur 487 semble signifierERROR_INVALID_ADDRESS mais le chemin vers la bibliothèque est correct. En fait, j'ai déjà mis cette dll dans tous les dossiers, cela n'aide pas.
Qu'est-ce que ça peut être ? Je vous serai reconnaissant de m'aider.
P.S. Au début cette dll était pour 32 bit et fonctionnait dans mt4*86. Je l'ai recompilé pour 64 bit, je l'ai mis sur mt5*64 maintenant et j'ai de tels problèmes.
Comment savoir ce qu'il y a sur le prochain tic-tac et pas sur celui-là ?).
Jusqu'à ce que le nouveau tic arrive, il n'y a pas de mouvement des boutons. C'est ce que je peux voir avec mes yeux. Dès que le prix change, les boutons bougent.
Aujourd'hui, cependant, même sur le nouveau tick, les boutons ont cessé de se redessiner, bien que je n'aie rien changé. Seul l'arrière-plan bouge.Apparemment Normalize ne fonctionne pas correctement. arrondit à un. Désimprimer asymbol.Digits() asymbol.TickSize(),. Point() vérifier .
Quand je fais une requête comme celle-ci :
J'obtiens ce résultat :
2020.06.17 13:49:53.270 2020.01.02 06:50:00 Symbole EURUSD_i Chiffres 5 Point 1e-05
Quand je fais une demande comme celle-ci :
J'obtiens ce résultat :
2020.06.17 13:51:58.787 2020.01.02 06:45:00 Symbole EURUSD_i Chiffres 0 Point 0.0
En même temps, je veux noter que si je n'insère pas la fonction Print, je n'obtiens aucune erreur, l'ordre n'essaie même pas de se modifier. C'est comme si CTrade ne voyait pas mon ordre.
La vérification du symbole et du numéro magique ne fonctionne pas :
Résultat :
2020.06.17 14:37:38.147 2020.01.02 06:50:00 Symbol Magic 0 Ticket 2
Le numéro magique doit être 12345, le symbole est euro dollar.
Pourquoi je ne peux pas avoir le symbole et le medgic ?
Si vous changez la chaîne de caractères :
aorder.Symbol()==asymbol.Name()
est changé en
et supprimer la validation par numéro magique, alors nous avons des problèmes avec les prix.
2020.06.17 01:38:24.136 2020.01.02 07:40:00 failed modify order #2 buy stop 0.1 EURUSD_i at 1.12086 sl : 1.12023 tp : 1.12275 -> 1.00000, sl : 1.00000 tp : 1.00000 [Prix non valide].
2020.06.17 01:38:24.136 2020.01.02 07:40:00 CTrade::OrderSend : Modifier #2 à 1.00000 (sl : 1.00000 tp : 1.00000) [prix invalide].
2020.06.17 01:38:24.136 2020.01.02 07:40:00 BUY STOP modification échouée ! Résultat Retcode : 10015, description du Retcode : prix invalide
Je me suis déjà creusé la tête, alors que ce même code fonctionne bien dans un autre conseiller expert.
Qu'est-ce que je fais de mal ?
Bonne journée à tous. J'ai rencontré ce problème lors de l'accès de l'EA à la DLL :
Impossible de charger 'C:\....\shablon.dll' [487]
L'erreur 487 semble signifierERROR_INVALID_ADDRESS mais le chemin vers la bibliothèque est correct. En fait, j'ai déjà mis cette dll dans tous les dossiers, cela n'aide pas.
Qu'est-ce que ça peut être ? Je vous serai reconnaissant de m'aider.
P.S. Au début cette dll était pour 32 bit et fonctionnait dans mt4*86. Je l'ai recompilé pour 64 bits et maintenant je le mets sur mt5*64 et j'ai de tels problèmes.
ERROR_INVALID_ADDRESS ne concerne pas le chemin. Vous passez les mauvais arguments.