Toute question des nouveaux arrivants sur MQL4 et MQL5, aide et discussion sur les algorithmes et les codes. - page 1920
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
Merci pour le conseil, Alexey ! Je vais d'abord attendre une réponse dans ce fil de discussion, mais si rien ne se passe, je me tournerai vers le fil de discussion Erreurs, bugs, questions.
Sincèrement, Vladimir.
Vous n'obtiendrez aucune réponse des développeurs dans ce fil de discussion. Si vous avez trouvé une erreur, si vous vous êtes assuré qu'il s'agissait bien d'une erreur, signalez-la à la branche représentée par Alexey. Il n'est pas nécessaire d'attendre des modérateurs qu'ils agissent sur ce point - nous sommes aussi des êtres humains, et nous n'avons parfois pas le temps.
Il est peu probable que vous obteniez des réponses des développeurs dans ce fil de discussion. Si vous trouvez une erreur, assurez-vous qu'il s'agit bien d'une erreur, signalez-la à la branche d'Alexey. Il n'est pas nécessaire d'attendre des actions de la part des modérateurs à cette occasion - nous sommes aussi des personnes, et nous n'avons pas le temps.
Salut Artem !
Tout est clair.
Sincèrement, Vladimir.
Bonjour !!!!
Voici deux fonctions pour le conseiller de la grille : la première fonction est le calcul du profit, en tenant compte de la clôture partielle des ordres perdants.
La deuxième fonction est la fermeture des ordres avec fermeture partielle des ordres non rentables.
La situation est la suivante : si je ferme une grille d'ordres en tenant compte de la fermeture partielle des ordres perdants, j'obtiens une perte en raison de l'arrondi au plus grand côté de certains lots qui doivent être fermés.
La question est de savoir si vous pouvez utiliser ces deux fonctions pour écrire une fonction de calcul des ordres perdants, ou plutôt une partie d'un ordre à clôturer.
Si oui, aidez-moi à l'écrire.
Merci.
Bonjour !!!!
Si oui, aidez-moi à l'écrire.
Ce n'est pas le bon moment.
Vous voulez dire l'écrire pour vous ?
Ce n'est pas une bonne époque.
Vous voulez dire écrire pour vous ?
Ne te déchire pas Alexandre
perdu dans les affaires élémentaires :
comment organiser une pose de chalut - co-directed, pour une raison quelconque, il trawl une pose, c'est-à-dire qu'il ne trawl pas... MT5
je peux utiliser une simple section de code comme une énumération de positions pour un chalutage avec des positions de marché HEDGE - merci.
le problème est résolu ! Félicitations encore une fois à Vladimir Karputov ! !!
avec son chalut !
https://www.mql5.com/ru/code/17263
l'astuce clé est de regarder l'index dans la boucle et de le modifier avec l'option ticket !!!
Une tâche simple : vous devez supprimer tous les éléments du tableau J qui ont le même indice et la même valeur que les éléments du tableau I:
La chaîne de touches est mise en évidence. Résultat :
Attendu :
ArrayJ est dynamique, il semble y avoir quelque chose qui cloche... Mais je n'ai pas besoin non plus d'une statique.
Ça m'a brisé l'esprit. QUOI DE NEUF ? Ou est-ce l'équivalent de la vieille chanson :
https://www.mql5.com/ru/forum/1111/page3141#comment_27152680
и
https://www.mql5.com/ru/forum/1111/page3142#comment_27371998
à propos des constantes nommées ?
La chaîne de touches est mise en évidence. Résultat :
Attendu :
ArrayJ est dynamique, il semble y avoir quelque chose qui cloche... Mais je n'ai pas besoin non plus d'une statique.
1. il serait préférable de déplacer ArrayResize hors de la boucle.
2. ArrayRemove ne rend pas un élément du tableau "vide", il "déplace" les éléments suivants à sa place. Par conséquent, la correspondance des éléments dans les index ultérieurs est rompue.
1. ArrayResize devrait être déplacé hors de la boucle
2. ArrayRemove ne rend pas un élément du tableau "vide", mais "déplace" les éléments suivants à sa place. Par conséquent, la correspondance des éléments dans les index ultérieurs est rompue.
Il n'y a aucun doute sur le point 2, j'ai juste mis les intervalles ici pour que ce soit plus clair. De plus, dans Help, il est dit à propos d'un tableau statique :"Si la fonction est utilisée pour un tableau de taille fixe, la taille du tableau lui-même ne change pas : la "queue" restante est physiquement copiée à la position de départ."L'exemple dans l'aide utilise également un tableau de taille fixe, alors que j'en ai un dynamique.
Re 1. Nous ne pouvons pas le mettre en dehors d'une boucle, car dans une tâche réelle, nous ne connaissons pas à l'avance la taille de ArrayJ ou ArrayI, et encore moins celle de CommonArray, puisqu'ils ne coïncident pas tous.
J'ai aussi un exemple où le fait de mélanger les éléments ne casse pas la moitié du chemin, comme dans cet exemple :
Le résultat est bon :
Mais vous avez besoin de cette variante pour fonctionner. Le problème se produit apparemment si des éléments ayant la même valeur (voir le message précédent) se trouvent dans la queue à droite - ce qui est similaire au problème auquel je faisais référence ci-dessus.
Il n'y a pas de questions sur le 2, je mets les intervalles pour plus de clarté. En outre, dans l'aide, il est dit à propos des tableaux statiques :"Si la fonction est utilisée pour un tableau de taille fixe, la taille du tableau lui-même ne change pas : elle copie physiquement la "queue" restante à la position de départ."L'exemple dans l'aide utilise également un tableau de taille fixe, alors que j'en ai un dynamique.
Re 1. Nous ne pouvons pas le mettre en dehors d'une boucle, car dans une tâche réelle, nous ne connaissons pas à l'avance la taille de ArrayJ ou ArrayI, et encore moins celle de CommonArray, puisqu'ils ne coïncident pas tous.
J'ai également un exemple où le fait de mélanger les éléments ne casse pas la moitié du chemin, comme dans cet exemple :
Le résultat est bon :
Mais j'ai besoin de cette variante pour fonctionner. Le problème se produit apparemment s'il y a des éléments avec la même valeur dans la queue à droite (voir le post précédent) - ce qui est similaire au problème que j'ai mentionné ci-dessus.
1. Vous pouvez et devez le retirer de la boucle, comme je l'ai montré. Sauf si la taille de l'ArrayI change au cours de la boucle.
2. Puis quelque chose comme ceci