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
Ah-ha ! J'ai changé le numéro du ticket de 0 à 1 et tout a marché comme sur des roulettes. Oui, j'avais tort William... La fonction OrderSelect() était un problème. Il est évident que la fonction OrderSelect() doit sélectionner un ticket. Si le numéro du ticket est 0, quel ticket l'EA va-t-il sélectionner ? :O " ?". Merci à tous les deux pour votre aide.
Merci.
Veuillez vous référer à ce fil de discussion: https://www.mql5.com/en/forum/142545
Simon, je comprends que 0 n'est pas un numéro de ticket valide CAR 0 signifie qu'il n'y a pas de ticket à sélectionner. 1 représente un billet ET le numéro de billet spécifique que la fonction OrderSelect() tente de sélectionner.
Je vais lire le fil de discussion. Merci de l'avoir publié.
Merci.
Je comprends que 0 n'est pas un numéro de ticket valide CAR 0 signifie qu'il n'y a pas de ticket à sélectionner. 1 représente un ticket ET le numéro de ticket spécifique que la fonction OrderSelect() est en train de sélectionner.
Non, ce n'est pas correct. zéro comme numéro de ticket ne signifie rien, c'est INVALIDE. OrdersTotal() == 0 signifie qu'il n'y a pas d'ordres... il est évident que vous mélangez les résultats de différentes fonctions et les numéros de tickets par rapport aux positions des ordres.
Ne faites pas exactement ce que vous avez fait avant... à moins que vous ne vouliez exactement le même résultat. Vous ne pouvez pas supposer que vous avez le bon numéro de ticket... . . vous devez le trouver dans le pool d'ordres et le sélectionner. . .
Si vous voulez apprendre, faites cet exercice :
Non, ce n'est pas correct. zéro comme numéro de ticket ne signifie rien, c'est INVALIDE. OrdersTotal() == 0 signifie qu'il n'y a pas de commandes ... il est évident que vous mélangez les résultats de différentes fonctions et numéros de tickets.
Si vous voulez apprendre, faites cet exercice :
Avez-vous essayé l'exercice ? Montrez votre code quand vous l'avez fait . . .
Simon,
Je vais coder ce projet. Ça devrait être un jeu d'enfant. J'ai déjà fait une grande partie du travail. ;)
Oui, ça ne me dérange pas de faire cet exercice, vu que vous m'avez apporté votre soutien constant.
Merci.
Simon,
C'est fait. J'ai supposé que vous vouliez le fichier au format script, afin que vous puissiez simplement le glisser et le déposer sur un graphique, attendre que l'EA calcule quelques chiffres, puis le regarder retirer un ordre du marché.
Les différences entre ce que je construis actuellement et ce projet sont...
Ce que je construis actuellement :
if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)){
Ce projet :
La raison pour laquelle j'ai utilisé "if(OrderSelect(0,SELECT_BY_POS,MODE_TRADES)){", c'est parce que je traite avec un pool d'ordres et non une variable de ticket spécifique prédéfinie.
Mon build actuel pour le volume II utilise des variables prédéfinies car je dois sélectionner des tickets spécifiques pour exécuter la stratégie du volume II. Ce projet a été conçu pour simplement fermer un ordre en un clin d'œil.
J'ai effectivement eu quelques points d'interrogation au-dessus de ma tête lorsque j'ai codé l'exécution de la fonction contenant le prix Ask/Bid. C'est parce que, typiquement, quand j'envoie/ferme des ordres, je tape juste "Ask"/"Bid", mais j'ai réalisé que j'avais besoin de définir une variable qui pourrait être soit le prix Ask ou Bid basé sur la condition si l'ordre dans le marché était un ordre de vente OU d'achat. Ensuite, j'ai simplement ajouté l'habituel "si le total des commandes est supérieur à zéro", et j'étais prêt. Cela devrait suffire.
Merci.
OK, ce n'est pas ce que je voulais, mais j'aurais dû être plus clair dans mes exigences. ... votre code ne fixe pas de SL et de TP... mais laissez-moi quand même revoir mon exigence... . .
En utilisant le même compte de démonstration...
Lorsque vous avez terminé, veuillez montrer votre code et la ligne du journal indiquant le numéro de ticket.
Simon,
Ah, désolé, je n'ai pas entièrement lu vos premières instructions, et n'ai pas codé ce que vous avez demandé. Oh bien, vous avez ajouté une nouvelle liste d'exigences, donc je vais m'y mettre.
Avant de le faire, je vais préciser ce que je m'apprête à faire...
1. Trouver le numéro de ticket de l'ordre passé sur USDJPY.
2. Imprimer le numéro de ticket sur le journal sous la forme "Numéro de ticket pour USDJPY = ".
3. Utiliser le numéro de ticket pour sélectionner l'ordre ET modifier l'ordre pour qu'il ait un TP et un SL et le fermer.
4. Montrer le code et une ligne du journal montrant le numéro de ticket.
Ceci étant dit, je veux être sûr que nous sommes sur la même longueur d'onde.
Oui, je peux faire 1. (évidemment je ne peux pas utiliser les "fonctions de monnaie" pour isoler les tickets, n'est-ce pas ?)
Oui, je peux faire 2.
3. Ne voulez-vous pas dire, utiliser la fonction OrderSelect() pour sélectionner l'ordre ET le modifier pour qu'il ait un TP & SL et le fermer ?
4. Évidemment, je vais montrer le code ;)... une ligne du journal montrant le numéro du ticket (ce que vous auriez pu demander était un "instantané visuel" du journal montrant le numéro du ticket. Peu importe)
S'il vous plaît postez une réponse d'abord avant que je commence la tâche.
Merci.
Ceci étant dit, je veux être sûr que nous sommes sur la même longueur d'onde.
Oui, je peux faire 1. (évidemment je ne peux pas utiliser les "fonctions de monnaie" pour isoler les tickets, n'est-ce pas ?)
Oui, je peux faire 2.
3. Ne voulez-vous pas dire, utiliser la fonction OrderSelect() pour sélectionner l'ordre ET le modifier pour qu'il ait un TP & SL et le fermer ?
4. Évidemment, je vais montrer le code ;)... une ligne du journal montrant le numéro du ticket (ce que vous auriez pu demander était un "instantané visuel" du journal montrant le numéro du ticket. Peu importe)