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
Pendant le test des conseillers experts :
Exp_TEMA.mq5, de l'article : "Création d'un conseiller expert qui négocie sur différents symboles". L'expression Told[] Tnew[1]prend les valeurs suivantes :
Told[] L'expression n'a pas pu être évaluée
Tnew[1] Plage de tableau non valide.
Et My_First_EA.mq5, de l'article : "Un guide pas à pas pour écrire des conseillers experts MQL5 pour les débutants", l'expression
New_Time[1] obtient la valeur:Invalid array range
Que signifient les valeurs Expression could not be evaluated, Invalid array range, et comment affectent-elles les résultats des experts ?
Told - tableau vide sans taille
Tnew[1] - hors tableau, le tableau est décrit comme Tnew[1], donc ses éléments ne peuvent être accédés que comme Tnew[0], car l'index commence à zéro.
Told - tableau vide sans taille
Tnew[1] - hors tableau, le tableau est décrit comme Tnew[1], donc ses éléments ne peuvent être accédés que comme Tnew[0], car l'index commence à zéro.
Veuillez m'indiquer comment ouvrir une seule transaction par condition. Avec mon code, le terminal ouvre plusieurs transactions sur cette condition, mais je n'en ai besoin que d'une seule.
Le résultat est l'image suivante :
Comment puis-je vérifier si une transaction a été effectuée avec cette condition ou non ? J'ai essayé de cette façon, mais ça ne marche pas :
Veuillez m'indiquer comment ouvrir une seule transaction par condition. Avec mon code, le terminal ouvre plusieurs transactions sur cette condition, mais je n'en ai besoin que d'une seule.
Le résultat est l'image suivante :
Comment puis-je vérifier si une transaction a été effectuée avec cette condition ou non ? J'ai essayé de cette façon, mais ça ne marche pas :
Et pourquoi organiser la recherche dans la boucle s'il existe une chose aussi merveilleuse que PositionSelect?
Nous vérifions simplement l'existence de la position sur le symbole intéressant et si c'est vrai, nous allons boire du cognac et fumer des cigares... :)
PS
Si je comprends bien, PositionGetString sansPositionSelect ne devrait pas fonctionner. Nous n'avons pas besoin de connaître les symboles de toutes les poses ouvertes, n'est-ce pas ?
Il n'est pas nécessaire de chercher dans la boucle quand il existe une chose aussi merveilleuse que PositionSelect?
Il suffit de vérifier la présence d'une position sur l'outil qui nous intéresse et si le résultat est positif, nous allons tranquillement boire du cognac et fumer des cigares... :)
PS
Si je comprends bien, PositionGetString sansPositionSelect ne devrait pas fonctionner. Nous n'avons pas besoin de connaître les symboles de toutes les poses ouvertes, n'est-ce pas ?
Ce code tient compte de la présence d'une position ouverte :
Mais il continue à ouvrir des positions lorsque la condition Buy_Signal est remplie. Ce que je veux, c'est qu'avant que Sell_Signal ne se produise, une position à Buy_Signal ne soit pas réouverte. J'essaie de l'implémenter de cette façon :
Ça ne va pas.Ce code tient compte de la présence d'une position ouverte :
Mais il continue à ouvrir des positions lorsque la condition Buy_Signal est remplie. Je dois m'assurer qu'avant que la condition Sell_Signal ne se produise, aucune autre position ne sera ouverte par Buy_Signal. J'essaie de le mettre en œuvre de cette façon :
Ce n'est pas le cas.Pourquoi ce code ? Cela ne ressemble guère à ce que je voulais dire (je doute que tout y soit correct).
Et je voulais dire quelque chose comme ça :
On pourrait au moins le faire en bloc.
Pourquoi ce code particulier ? Ce n'est pas du tout similaire à ce que je voulais dire (je doute même que ce soit juste).
Et je voulais dire quelque chose comme ça :
Au minimum, tout peut être fait dans un bloc.
Ce code et le code ci-dessus n'ouvrent pas de position tant qu'ils ne sont pas fermés, mais ils en ouvrent une nouvelle après la fermeture sur la prochaine barre si la condition est remplie. Je l'ai mis en œuvre de cette façon :
Merci ! J'ai tenu compte de tous vos souhaits et tout fonctionne maintenant. J'ai posté le conseiller expert pour publication. Je peux faire quelques changements supplémentaires dans le code. Il n'y a pas de limite à la séduction))))