Toute question des nouveaux arrivants sur MQL4 et MQL5, aide et discussion sur les algorithmes et les codes. - page 103
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
Par exemple : Comment puis-je attendre la clôture d'une transaction ?
1. Lorsqu'un ordre est ouvert, on écrit le ticket dans la variable de niveau global ou statique, puis on surveille cet ordre jusqu'à ce qu'il soit de couleur bleue, oups, jusqu'à ce qu'il soit fermé par comparaison OrderCloseTime() > 0. Si le délai de clôture est supérieur à zéro, l'ordre est clôturé.
2. La substitution de l'opérateur GOTO est beaucoup plus efficace. Lisez la documentation sur les fonctions.
Y a-t-il un moyen de me montrer un exemple ? Comment puis-je attendre la clôture de la transaction précédente ?
double loss = 100;
int start()
{
int order;
if(OrdersTotal()==0)
{
order = OrderSend(Symbol(),OP_BUY,Lot,Ask,1*Point,Ask-loss*Point,Ask+loss*Point); // Вверх
order = OrderSend(Symbol(),OP_SELL,Lot,Bid,1*Point,Bid+loss*Point,Bid-loss*Point); // Вниз
}
return(0);
}
//+------------------------------------------------------------------+
Y a-t-il un moyen de me montrer un exemple ? Comment puis-je attendre la clôture de la transaction précédente ?
double loss = 100;
int start()
{
int order;
if(OrdersTotal()==0)
{
order = OrderSend(Symbol(),OP_BUY,Lot,Ask,1*Point,Ask-loss*Point,Ask+loss*Point); // Вверх
order = OrderSend(Symbol(),OP_SELL,Lot,Bid,1*Point,Bid+loss*Point,Bid-loss*Point); // Вниз
}
return(0);
}
//+------------------------------------------------------------------+
La plus simple est la séquence d'actions. D'abord, nous essayons de faire quelque chose avec un ordre déjà ouvert, et ensuite, s'il n'y a pas d'ordre ouvert, nous essayons de le fixer.
Nous divisons le traitement des positions et l'ouverture d'un nouvel ordre en deux fonctions distinctes définies par l'utilisateur. Ensuite, dans la fonction OnTick(), vérifiez la présence d'ordres ouverts et appelez l'une ou l'autre des fonctions en fonction du résultat obtenu.
Cela ressemble à ceci en mots :
{
if(OrdersTotal() > 0)
открытие();
else
сопровождение();
}
bool открытие()
{
// здесь код открытия
}
bool сопровождение()
{
// здесь код сопровождения
}
C'est le cas si le compte le prévoit, mais le plus souvent il s'agit de travailler avec d'autres Expert Advisors ou d'ouvrir des ordres manuellement.
Puis-je sélectionner par programme la date de début de l'historique du compte dans le terminal ?
Vous pouvez. Ce sera la première commande de l'histoire avec un fonctionnement de type 6 - balance.
Je n'ai pas besoin de la première commande dans l'historique ... l'historique est ouvert au maximum J'ai besoin de l'historique à partir d'une certaine date ... que je vais définir par programme (apparemment la question a été simplifiée au détriment des détails)
Mais la question est toujours "rationalisée", donc je dirai que nous devrions ignorer les ordres dont l'heure d'ouverture est antérieure à cette "date spécifique".
La réponse est également que vous le pouvez.
Mais la question reste quand même "rationalisée", donc je dirais qu'il faut sauter les commandes dont l'heure d'ouverture est antérieure à cette "certaine date"... bien sûr ça ne m'est pas venu à l'esprit... mais depuis 7 ans il y a beaucoup de commandes....
la question est soulignée en rouge dans la capture d'écran ... donc la question n'est pas épurée ?
Bien sûr, il ne m'est pas venu à l'esprit de filtrer par date... mais en 7 ans, il y a beaucoup de commandes...
Dans la capture d'écran, la question est soulignée en rouge et vous devez y mettre une certaine date... donc la question n'est pas épurée ?
Que voulez-vous faire exactement de manière programmatique ?
Je ne comprends pas votre question :(
Que voulez-vous faire exactement de manière programmatique ?
là où elle est soulignée en rouge, entrez la date et cliquez essentiellement sur ok... cela détermine la profondeur de l'historique dans le rapport