[Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas votre chemin. Je ne peux aller nulle part sans toi. - page 339
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
Messieurs, je suis toujours en train d'agoniser sur une question. Comment écrire ce qui suit ? Si le prix à xx.xx du jour courant est supérieur au prix à yy.yy du même jour....alors...J'ai besoin que ces prix soient comparés tous les jours. Je ne sais pas comment éviter de mentionner la date. J'ai essayé datetime Time 1=D'().().() 12:00 ' ; mais cela ne fonctionne pas dans le testeur. Il n'y a pas d'erreur d'écriture, mais lors des tests, on a l'impression que cette fois les données sont simplement ignorées.
Cela fonctionne comme suit :
int time=iTime(NULL,PERIOD_D1,0)+60*(60*heures+minutes) ;
double price=iOpen(NULL,PERIOD_M1,iBarShift(NULL,PERIOD_M1,time)) ;
https://www.mql5.com/ru/articles/1528
Je suis exactement cet article, mais comme je l'ai dit plus haut,
channel=ddeinit('MT4','BID') ; - tout va bien, channel = 7.2920e-304 - la connexion est établie
mais
rc = ddeadv(channel, 'EURUSD', 'disp(x)', 'x',[1 1]) ; - rien ne se passe,
malgré rc = 1.
Bien que cela semble fonctionner dans l'article, quel est le problème ?
Salut !
Pourriez-vous me dire comment suivre la fermeture d'une transaction au niveau du stop loss ou du profit dans la boucle ?
Quelle fonction doit être utilisée pour le faire correctement ?
Merci.
Salut !
Pourriez-vous m'indiquer comment suivre la fermeture d'une transaction au niveau du stop loss ou du profit dans la boucle ?
Quelle fonction doit être utilisée pour le faire correctement ?
Merci.
Il n'y a pas d'événement pour clôturer les ordres au niveau du stop loss ou du take profit, mais vous pouvez surveiller la disponibilité des ordres ouverts.
Renvoie le nombre total d'ordres ouverts et en attente.
La fonction sélectionne un ordre pour la suite du traitement. Renvoie VRAI si la fonction se termine avec succès. Renvoie FALSE si la fonction échoue. Pour obtenir les informations relatives à l'erreur, vous devez appeler la fonction GetLastError().
Le paramètre pool est ignoré si la commande est sélectionnée par le numéro de ticket. Le numéro de billet est un identifiant unique pour la commande. Pour déterminer dans quelle liste un ordre est sélectionné, nous devons analyser son heure de clôture. Si l'heure de clôture de l'ordre est 0, alors l'ordre est ouvert ou en attente et est pris dans la liste des positions ouvertes du terminal. Une position ouverte peut être distinguée d'un ordre en attente par son type. Si l'heure de clôture n'est pas égale à 0, alors l'ordre est clôturé ou en attente et a été sélectionné dans l'historique du terminal. La distinction entre un ordre fermé et un ordre en attente supprimé peut également être faite par type d'ordre.
Vous pouvez également trouver des solutions toutes prêtes, par exemple chez KimIV - https://www.mql5.com/ru/forum/107476/page2.
Il n'y a pas d'événement pour clôturer l'ordre au stop ou au takeout, mais vous pouvez surveiller la disponibilité des ordres ouverts
Renvoie le montant total des ordres ouverts et en attente.
Cette fonction permet de sélectionner un ordre pour le travailler ultérieurement. Renvoie VRAI si la fonction se termine avec succès. Elle renvoie FALSE si la fonction échoue. Pour obtenir les informations relatives à l'erreur, vous devez appeler la fonction GetLastError().
Le paramètre pool est ignoré si la commande est sélectionnée par le numéro de ticket. Le numéro de billet est un identifiant unique pour la commande. Pour déterminer dans quelle liste un ordre est sélectionné, nous devons analyser son heure de clôture. Si l'heure de clôture de l'ordre est 0, alors l'ordre est ouvert ou en attente et est pris dans la liste des positions ouvertes du terminal. Une position ouverte peut être distinguée d'un ordre en attente par son type. Si l'heure de clôture n'est pas égale à 0, alors l'ordre est clôturé ou en attente et a été sélectionné dans l'historique du terminal. La différence entre un ordre fermé et un ordre en attente supprimé peut également être faite par le type d'ordre.
Vous pouvez également voir des implémentations prêtes à l'emploi, par exemple de KimIV - https://www.mql5.com/ru/forum/107476/page2.
Merci beaucoup pour cette réponse complète !
Il n'y a pas d'événement pour clôturer l'ordre au stop ou au takeout, mais vous pouvez surveiller la disponibilité des ordres ouverts
Renvoie le montant total des ordres ouverts et en attente.
Cette fonction permet de sélectionner un ordre pour le travailler ultérieurement. Renvoie VRAI si la fonction se termine avec succès. Elle renvoie FALSE si la fonction échoue. Pour obtenir les informations relatives à l'erreur, vous devez appeler la fonction GetLastError().
Le paramètre pool est ignoré si la commande est sélectionnée par le numéro de ticket. Le numéro de billet est un identifiant unique pour la commande. Pour déterminer dans quelle liste un ordre est sélectionné, nous devons analyser son heure de clôture. Si l'heure de clôture de l'ordre est 0, alors l'ordre est ouvert ou en attente et est pris dans la liste des positions ouvertes du terminal. Une position ouverte peut être distinguée d'un ordre en attente par son type. Si l'heure de clôture n'est pas égale à 0, alors l'ordre est clôturé ou en attente et a été sélectionné dans l'historique du terminal. La différence entre un ordre fermé et un ordre en attente supprimé peut également être faite par le type d'ordre.
Vous pouvez également voir des implémentations prêtes à l'emploi, par exemple de KimIV - https://www.mql5.com/ru/forum/107476/page2.
Merci beaucoup pour cette réponse complète !
Messieurs, une question me taraude encore. Comment écrire ce qui suit ? Si le prix à xx.xx du jour courant est supérieur au prix à yy.yy du même jour....alors...J'ai besoin que ces prix soient comparés tous les jours. Je ne sais pas comment éviter de mentionner la date. J'ai essayé datetime Time 1=D'().().() 12:00 ' ; mais cela ne fonctionne pas dans le testeur. Il n'y a pas d'erreur d'écriture, mais lors des tests, on a l'impression que cette fois les données sont simplement ignorées.
Pour le testeur, c'est bon.
Bonjour.
Comment puis-je savoir si le SL ou le TP est déclenché. Par exemple, si une commande est clôturée par
SL ou TP, puis exécute ceci et cela. Je n'ai pas trouvé une telle fonction.
Supposons qu'un ensemble d'indicateurs ait été enregistré dans le modèle et que ce dernier ait été chargé pour une paire de devises.
- Après cela, les indicateurs de cette fenêtre ont-ils une relation avec les paramètres enregistrés dans le modèle ou deviennent-ils complètement indépendants ?
Supposons qu'un ensemble d'indicateurs ait été enregistré dans le modèle et que ce dernier ait été chargé pour une paire de devises.
- Les indicateurs de cette fenêtre ont-ils une relation avec les paramètres enregistrés dans le modèle ou sont-ils complètement indépendants ?
Les paires enregistrées sont "entrées" dans les indicateurs une fois lors de l'initialisation du modèle, puis "elles deviennent complètement indépendantes".
Tous les paramètres modifiés de l'indicateur sont sauvegardés dans le modèle. Si vous avez modifié les paramètres de l'indicateur, sauvegardez à nouveau le modèle.