Erreur n° 1 lors de la modification des commandes - page 6

 
tara:
Comment avez-vous voté ?
Il faisait frais aujourd'hui (+15), alors je suis sorti avec mes vêtements. Et je n'ai rien piqué car ça ne me concernait pas.
 
Akella ...
 
tara:
Akella...

Ne soyez pas insolent ! Que voulez-vous dire ?

 
borilunad:

Toutes les vérifications sont effectuées avant la boucle, avec des conditions relatives à chaque type et un appel à cette fonction, qui vérifie uniquement les erreurs dans Modify() :

Si vous avez besoin d'autre chose, n'hésitez pas, mais je dois aller dîner. ;)

Boris, merci, bien sûr, pour votre aide. Mais il s'est avéré que mon insecte était enterré au mauvais endroit. C'était dans un autre endroit. Après l'envoi de l'ordre, dans la même méthode d'envoi de l'ordre, il y a eu une modification, puis, sur le même tick, une modification par une autre condition. Ainsi, lorsque l'ordre a été ouvert, il y avait des erreurs sur ce tick. Et il n'y a pas eu d'erreurs à d'autres moments.

Si nous allons plus loin, la fonction de vérification de Stop Loss et Freefall + correction de prix à cet endroit, si les conditions ne sont pas absolument respectées, est pourtant correcte, mais la courbe du compilateur ne veut pas la traiter correctement pour une raison quelconque. J'imprime tout, il reçoit tout comme il se doit, un niveau au-dessus tout est clair aussi. Mais aucun résultat. J'ai scié cette fonction en deux parties, et maintenant tout fonctionne.

Bien sûr, je n'aime pas du tout toutes ces courbes, mais je vais y survivre pour le moment...

 
hoz:

Boris, merci, bien sûr, pour votre aide. Mais, en fait, il s'est avéré que j'avais le mauvais endroit pour être enterré. C'était dans un autre endroit. Après l'envoi de l'ordre, selon la même méthode d'envoi, il y a eu une modification, puis, sur le même tic, une modification par une autre condition. Ainsi, lorsque l'ordre a été ouvert, il y avait des erreurs sur ce tick. Et il n'y a pas eu d'erreurs à d'autres moments.

Si nous allons plus loin, la fonction de vérification de Stop Loss et Freefall + correction de prix à cet endroit, si les conditions ne sont pas absolument respectées, est pourtant correcte, mais la courbe du compilateur ne veut pas la gérer correctement pour une raison quelconque. J'imprime tout, il reçoit tout comme il se doit, un niveau au-dessus tout est clair aussi. Mais ça n'a donné aucun résultat. J'ai scié cette fonction en deux parties, et maintenant ça marche.

Bien sûr, je n'aime pas du tout toutes ces courbes, mais je vais y survivre pour le moment...

Vous êtes les bienvenus ! Je n'ai pas tout en ordre non plus ! J'ai enfin terminé une autre EA. Je l'ai essayé toute la journée et ce n'est que maintenant qu'il se fixe correctement. Je vais encore avoir des surprises sur Real. L'essentiel est la persistance, la patience et la persévérance !
 
https://forum.mql4.com/ru/65622
 
azfaraon:
https://forum.mql4.com/ru/65622
Je vous conseille de contacter le professeur lui-même ! Vous voulez changer la logique de son système, et personne ne le fera mieux que lui, et il est peu probable que vous trouviez quelqu'un prêt à jouer avec le code de quelqu'un d'autre, surtout, très probablement dépassé, et pour la "sécurité" par un agent de sécurité sans titre !
 

Boris, le problème est que votre fonction ne tient pas compte d'un certain nombre de facteurs. Par exemple, si oui ou non un tradewolf est autorisé... etc. J'ai de telles chaînes dans ma fonction de modification :

   while (IsTradeAllowed() == true)
      {
         if (!IsExpertEnabled() || IsStopped() || li_Cnt > 200)
         {
            CLogs.WriteLog (StringConcatenate ("Error: Trying to send order ", GetNameOP (fi_Type), " | Price: ", DToS (fd_Price), " NOT IsTradeContextBusy"));

            if (!IsExpertEnabled())
            {
               CLogs.WriteLog ("Permit ExpertEnabled !!!");
            }
            return (-1);
         }

C'est le cas par exemple. Je veux donc dire que la brièveté n'est pas toujours pratique. Après tout, ces contrôles sont présents dans le torrent réel de toute façon. Alors pourquoi ne pas les mettre dans la boîte noire ?

et ne plus y penser ? C'est aussi plus facile comme ça...

Ce n'est plus simple que si vous disposez d'une plateforme adéquate. Dans notre cas, ce n'est pas la meilleure option. Mais il est possible de trouver une sorte de terrain d'entente. Des codes pas très longs, mais pas vides non plus.

 
hoz:

Boris, le problème est que votre fonction ne tient pas compte d'un certain nombre de facteurs. Par exemple, si oui ou non un tradewolf est autorisé... etc. J'ai de telles chaînes dans ma fonction de modification :

C'est le cas par exemple. Je veux donc dire que la brièveté n'est pas toujours pratique. Après tout, ces contrôles sont présents dans le torrent réel de toute façon. Alors pourquoi ne pas les mettre dans la boîte noire ?

et ne plus y penser ? C'est aussi plus facile comme ça...

Ce n'est plus simple que si vous disposez d'une plateforme adéquate. Dans notre cas, ce n'est pas la meilleure option. Mais il est possible de trouver une sorte de terrain d'entente. Des codes pas très longs, mais pas vides non plus.

Victor, j'ai une vérification de la résolution du commerce avant d'ouvrir une position, et aussi une vérification de l'équité suffisante et beaucoup d'autres choses, mais au début, pas dans les fonctions ! Alors pourquoi vérifier lors de la modification ?
 
borilunad:
Victor, j'ai un contrôle pour autoriser la négociation avant d'ouvrir une position, ainsi qu'un contrôle pour des fonds propres suffisants et bien d'autres choses, mais au départ, pas dans la fonction ! Alors pourquoi vérifier lors de la modification ?

Boris, c'est simple.

Tout d'abord, dans ce cas, vous ne l'oublierez pas à l'avenir car ce contrôle sera toujours présent.

Deuxièmement, cette vérification demande si peu de temps qu'elle ne donnera aucune optimisation du code et n'accélérera pas le processus. C'est-à-dire qu'il faut soit cocher la case "Autorisé à négocier" et saisir la fonction, soit saisir et cocher la case "Autorisé à négocier".

Troisièmement, je suis d'accord sur l'équité, elle devrait être mise en œuvre séparément. J'ai fait scier cette pièce. Et beaucoup de choses enlevées. Maintenant, la fonction est courte en général.

Raison: