[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 241
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
On vous a déjà dit quelle était la raison. La question n'est pas i++ ou i-- mais plutôt de savoir à partir de quelle extrémité de la liste nous devons commencer à supprimer les ordres - le début de la liste (comme vous l'avez fait) ou la fin de la liste (comme vous devez le faire dans ce cas).
Pour comprendre ce qui se passe lorsque des commandes sont supprimées, vous devez savoir et comprendre comment les commandes sont stockées dans le tableau.
Lorsque vous supprimez d'abord le premier ordre (il est indexé par i=0), les index de tous les ordres sont décalés dans le tableau - le premier ordre devient nul, le deuxième devient le premier, le troisième devient le deuxième et ainsi de suite. C'est pourquoi tous les ordres ne sont pas complètement supprimés - en fait, lorsque i devient 6, le sixième ordre est déplacé en cinquième position dans le tableau des ordres et l'ordre n'est pas sélectionné par l'indice 6.
Lorsque vous supprimez des commandes à la fin de la liste, le décalage ne se produit pas - la première commande a une position zéro dans la liste, et elle continuera à l'avoir. Le 10ème ordre avait la position 9, il a été supprimé, puis le 9ème ordre, qui a une position 8 dans la liste est supprimé, et ainsi de suite, jusqu'au premier ordre ayant une position zéro dans le tableau des ordres.
Qu'est-ce qui est mieux et quoi ? )
J'ai configuré l'outil multidevise pour travailler avec plusieurs devises dans une seule fenêtre. Mais le problème est que le passage d'une monnaie à l'autre est si rapide qu'il n'y a pas le temps d'ouvrir un ordre. En 3 minutes, 4 ordres + 4 ordres en attente ont été ouverts. Et il y avait beaucoup d'échanges entre les monnaies.
http://vinin.ucoz.ru/forum/11
il y a 2 modifications d'utilisateur Mod_1 et Mod_2
Les deux ont des conditions de modification :
double TS;
int Min_Dist=MarketInfo(Symb,MODE_STOPLEVEL);
if (TS < Min_Dist)
TS=Min_Dist;
Comment le changer pour que la modification n'aille pas jusqu'au bout avec une condition de stop loss, pour acheter le stop loss est inférieur au trailing stop,
et pour la vente, le stop loss est plus grand que le trailing stop.
Bonjour.
Veuillez m'aider à trouver un bug.
Le code ci-dessous ne fonctionne pas sur le testeur, alors qu'il n'y a pas ce problème sur la démo. Il n'y a pas d'erreur dans le journal de bord.
Merci d'avance.
Quelle est la différence entre l'appel de fonctions depuis une dll dans MT4 et MT5 ? J'ai compilé la dll, elle fonctionne bien dans MT5, mais dans MT4 elle me donne une erreur :
2011.10.06 23:00:34 Exécuteur Solaris EURUSDm,M1 : ne peut pas appeler la fonction 'InfoOfTrading' de la dll 'Solaris.dll'(erreur 127)
Qu'est-ce que c'est que ça ? - Je me suis creusé les méninges. :(
faire un projet de dll Win32
Je vais poursuivre avec ma question ci-dessus.
J'ai également utilisé le code ci-dessus dans un autre EA. La situation avec cet EA était similaire à celle décrite ci-dessus, à la différence que les conditions du code étaient remplies exactement dans l'autre sens (dans la démo, là encore, tout fonctionnait sans erreur). Mais un jour, le testeur a fonctionné correctement et le code a fonctionné correctement selon les conditions qui lui étaient données.
C'est un vrai mysticisme.
En outre, il m'arrive parfois de ne pas pouvoir optimiser mon code pour une raison quelconque. Parfois, il recalcule quelque chose mais remet tous les résultats à zéro pour une raison quelconque. Il en est ainsi sur les terminaux de différents courtiers. Cependant, lorsque toutes les étoiles et constellations du ciel convergent probablement, tout commence à fonctionner comme il se doit.