![MQL5 - Langage des stratégies de trading intégré au terminal client MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
Oh désolé - je ne reçois plus aucune erreur. Je n'ai que des ordres d'achat qui passent et aucun ordre de vente...
C'est en rapport avec mon fil de discussion précédent concernant les croisements de MA - je ne comprends toujours pas ! Mais je ne veux pas énerver qui que ce soit et battre un cheval mort alors que les gens me donnent la réponse (même si je ne comprends pas la réponse lol) ! Cheers RaptorUK pour votre aide !
Je ne peux pas parler pour les autres, je ne m'énerve pas....![](https://c.mql5.com/mql4/forum/2013/07/bigsmile.gif)
Si vous n'obtenez aucune erreur et qu'aucun ordre de vente n'est placé, alors OpenOrdersThisPair(Symbol()) n'est pas égal à 0, de quel type est cette fonction ? est-ce un int ou un double ? ou peut-être un bool ?
Je pense que c'est parce que les ordres ne sont pas simplement placés là où le croisement des moyennes mobiles a lieu, mais à un point différent.
Je sais que c'est le problème ! Je sais que j'ai déjà demandé à ce sujet sur un autre sujet, mais j'apprécierais vraiment la réponse à cette question (et oui, je sais que le code est bâclé, j'ai juste passé beaucoup de temps à hacher, compiler et exécuter la stratégie pour voir de première main comment ils communiquent les uns avec les autres. Sans parler de la façon inutile dont je l'ai écrit aussi... mais passons outre...)
Q.1) En ce qui concerne la ligne "double triggerbartime" et la section > than.... Tout ce que je veux comprendre, c'est comment dire à cette fonction de trouver quand toutes les moyennes mobiles sont plus grandes que la moyenne mobile comparée précédente, et ensuite oublier de s'assurer qu'elles restent dans le bon ordre... Au lieu de cela, tout ce dont j'ai besoin de m'assurer, c'est que le PRICE CLOSE reste au-dessus de "i12" (60 EMA) - si c'est le cas, alors il peut suivre les autres instructions IF et lancer un ordre long via "OrderEntry(0)" - Si ce n'est pas le cas, alors il doit regarder la ligne longue (i1>i2 && i2>i3...) et attendre qu'elle soit à nouveau vraie avant de considérer les lignes suivantes...
Je sais que la réponse est sous mes yeux, mais je deviens un peu frustré et j'apprécierais vraiment ce petit morceau de pépite..... Merci !
Je veux savoir où toutes les MA sont réparties, mais elles n'ont pas besoin d'être vraies TOUT le temps... Je veux juste que ce soit vrai avant toute autre chose... En partant du principe que c'est vrai, tout ce qui doit se passer à partir de ce prix est qu'AUCUNE barre ne clôture en dessous de l'EMA 60 (pour une position longue) afin de rester valide pour qu'une position longue soit sortie...
J'utilise TriggerBarTime pour trouver le point le plus haut à partir duquel toutes les moyennes mobiles se sont empilées dans le bon ordre et la barre qui procède alors à toucher l'EMA 21...
Donc, bien que vous ayez redressé l'indentation pour moi, cela fait à peu près ce que j'avais écrit auparavant (à moins que je ne manque quelque chose ?) C'est ma faute si je ne l'ai pas expliqué correctement.
(ah oui - je sais que ça devrait être bool c'était une erreur - je m'amusais simplement et j'ai oublié de les remettre en place).
double TriggerBarTime = (i1>i2 ..
c'est vrai ou faux 0 ou 1 rien d'autre Le troisième argument de iBarShift doit être un datetime. iBarShift(0) ou (1) sera TOUJOURS Bars-1.datetime TriggerBarTime;
J'ai ceci dans la section globale...Je ne comprends pas votre message précédent ? ^
Est-il possible de suggérer comment j'écris la ligne If par rapport à mon post au-dessus du vôtre ?