[ARCHIVE] Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 3. - page 157

 
wolf05632:
Bonjour à tous ! J'ai essayé de faire une recherche - je n'ai pas trouvé ! Comment décomposer une longue ligne de code en plusieurs lignes plus courtes ?

Donnez-moi un exemple.

Si nous parlons de comparaison (if), alors vous pouvez écrire dans des variables de type bool - chaque condition dans une ligne séparée, et dans le substitut final if seulement des variables.

 

Chers professionnels, le testeur donne une erreur :

ERR_INVALID_FUNCTION_PARAMVALUE4051Valeur du paramètre de fonction non valide


Voici l'enregistrement dans le fichier journal :

08.09.2011 20:40:02 28.12.2010 10:00 Robot 2 EURUSD,H1 : ouvert #277 acheter 0.50 EURUSD à 1.32316 ok

08.09.2011 20:40:02 28.12.2010 09:00 Robot 2 EURUSD,H1 : Erreur OrderClose 4051

08.09.2011 20:40:02 28.12.2010 09:00 Robot 2 EURUSD,H1 : Ticket invalide pour la fonction OrderClose

08.09.2011 20:40:02 28.12.2010 09:00 Robot 2 EURUSD,H1 : clôture #276 acheter 0.50 EURUSD à 1.32347 au prix de 1.32114


C'est-à-dire qu'il se négocie bien avant et après. S'il vous plaît, dites-moi, ce que cela signifie et comment le corriger ?

 
TheXpert:
Donc les MCs doivent passer par tout le terminal parce qu'on ne peut pas compter les zéros ?

La poisse ? C'est un bug et il doit être corrigé comme n'importe quel autre.

Chez Avto-VAZ, ils raisonnent probablement de la même manière que vous - le conducteur s'ennuie à courir après la voiture pour ramasser les morceaux de fer qui tombent, et ils doivent creuser à travers toute la voiture à cause de cela ?!

 
Xaoss1990:

Chers professionnels, le testeur émet une erreur :

Pouvez-vous me dire ce que signifie cette erreur ?
il dit

08.09.2011 20:40:02 28.12.2010 09:00 Robot 2 EURUSD,H1 : Ticket invalide pour la fonction OrderClose
 
sergeev:
il dit



Qu'est-ce que cela signifie ? Numéro de commande erroné pour la fonction de clôture de la commande ? Est-ce qu'il essaie de fermer un ordre qui n'existe pas ?
 
Xaoss1990:
Qu'est-ce que cela signifie ? Le mauvais numéro de commande pour la fonction de clôture de la commande ? C'est-à-dire qu'il essaie de fermer un ordre qui n'existe pas ?

Ajoutez quelques alertes temporaires au module OrderClose(), et mettez-y des variables (numéro de ticket, etc.) - puis vérifiez leurs valeurs dans le journal.

 
chief2000:

Donnez-moi un exemple.

S'il s'agit d'une comparaison (if), vous pouvez écrire dans des variables bool - chaque condition sur une ligne séparée, et mettre uniquement des variables dans le if final.




Nous parlons de "WOW" ! Supposons une longue expression mathématique. En VBA, disons que pour diviser une longue chaîne en deux, à n'importe quel endroit valide de cette chaîne nous devons mettre _

et l'expression restante peut être ajoutée sur une nouvelle ligne.

 
chief2000:

Ajoutez quelques alertes temporaires au module OrderClose(), et mettez-y des variables (numéro de ticket, etc.) - puis vérifiez leurs valeurs dans le journal.



Ajouté, c'est ce que j'ai obtenu :

08.09.2011 21:26:15 13.01.2010 11:00 Robot 2 EURUSD,H1 : ouvert #12 acheter 0.10 EURUSD à 1.45027 ok

08.09.2011 21:26:15 13.01.2010 17:00 Robot 2 EURUSD,H1 : clôture #12 achat 0.10 EURUSD à 1.45027 à 1.45083

08.09.2011 21:26:15 13.01.2010 17:00 Robot 2 EURUSD,H1 : Alerte : OrderTicket() = 12, lots = 0.1, Bid = 1.4508

2011.09.08 21:26:15 2010 01.13 17:00 Robot 2 EURUSD,H1 : Ticket invalide pour la fonction OrderClose

2011.09.08 21:26:15 2010 01.13 17:00 Robot 2 EURUSD,H1 : Erreur OrderClose 4051

2011.09.08 21:26:15 2010.01.14 01:00 Robot 2 EURUSD,H1 : ouvert #13 acheter 0.10 EURUSD à 1.45243 ok

Et ainsi de suite....

Je ne comprends pas quelle est la raison de cette erreur ((

 
Xaoss1990:

Je l'ai ajouté, voilà ce que j'ai obtenu :

08.09.2011 21:26:15 13.01.2010 11:00 Robot 2 EURUSD,H1 : ouvert #12 acheter 0.10 EURUSD à 1.45027 ok

08.09.2011 21:26:15 13.01.2010 17:00 Robot 2 EURUSD,H1 : close #12 acheter 0.10 EURUSD à 1.45027 au prix de 1.45083

08.09.2011 21:26:15 13.01.2010 17:00 Robot 2 EURUSD,H1 : Alerte : OrderTicket() = 12, lots = 0.1, Bid = 1.4508

2011.09.08 21:26:15 2010 01.13 17:00 Robot 2 EURUSD,H1 : Ticket invalide pour la fonction OrderClose

2011.09.08 21:26:15 2010 01.13 17:00 Robot 2 EURUSD,H1 : Erreur OrderClose 4051

2011.09.08 21:26:15 2010.01.14 01:00 Robot 2 EURUSD,H1 : ouvert #13 acheter 0.10 EURUSD à 1.45243 ok

Et ainsi de suite....

Je ne comprends pas ce qui provoque cette erreur ((

J'ai donné un exemple de la façon de déboguer un problème.

Voici un exemple de solution dans un cas : "Ticket non valide pour la fonction OrderClose" - https://www.mql5.com/ru/forum/100874

Si cela ne vous aide pas, il y a Google.

 
chief2000:

J'ai donné un exemple de la façon de déboguer le problème, et ensuite vous devez comprendre le code.

Voici un exemple de solution dans un cas : "Ticket invalide pour la fonction OrderClose" - https://www.mql5.com/ru/forum/100874

Si ça n'aide pas, il y a Google.

Je n'arrive pas à comprendre ce que signifie cette erreur #=4051

ERR_INVALID_FUNCTION_PARAMVALUE4051Valeur du paramètre de fonction non valide


Qu'est-ce que cela signifie ? Le numéro de commande est incorrect pour la fonction de clôture de la commande ? C'est-à-dire qu'il essaie de fermer un ordre qui n'existe pas ?

Il sort dès que l'ordre est fermé avec un stop. Et les déclencheurs d'arrêt...

Au secours, s'il vous plaît... J'ai lutté pendant des jours....