[ARCHIVE !] Toute question de débutant, pour ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 4. - page 313
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
Non. Vous n'avez pas besoin de déclarer une variable à l'intérieur de la boucle à chaque itération.
J'espère que je n'ai rien supprimé, sinon le compilateur se plaindrait du mot else :
bool Torg=true ;
if(OrdersTotal()>0){for(int i=OrdersTotal()-1;i>=0;i--){
if ( !OrderSelect(i, SELECT_BY_POS, MODE_TRADES)){
if(OrderMagicNumber()!=MagicNumber) continue ;
if(OrderOpenTime()>=Time[0]) Torg=false ;
}
}
}
J'espère que je n'ai pas supprimé ce dont j'avais besoin, sinon le compilateur se plaindrait du mot else :
if(OrdersTotal()>0){// ligne inutile - s'il n'y a pas d'ordres, le compteur de la boucle sera à zéro et la boucle ne sera pas exécutée
for(int i=OrdersTotal()-1;i>=0;i--){// passer par tous les ordres
if (! OrderSelect(i, SELECT_BY_POS, MODE_TRADES)){// si aucun ordre n' est sélectionné, alors...
if(OrderMagicNumber()!=MagicNumber) continue ; //si le nombre magique n'est pas le nôtre, alors passez à une autre commande
if(OrderOpenTime()>=Time[0]) Torg=false ;
}
// Mais que faire si la commande est toujours sélectionnée dans la liste ?
}
}
P.S.
La ligne qui signale un numéro d'erreur lors de la sélection d'une commande n'aurait pas dû être supprimée pour une raison quelconque - il arrive parfois qu'elle saute. En général, il est préférable d'utiliser la gestion des erreurs partout où elles peuvent se produire.
if(OrdersTotal()>0){// ligne inutile - s'il n'y a pas d'ordres, le compteur de la boucle sera à zéro et la boucle ne sera pas exécutée
for(int i=OrdersTotal()-1;i>=0;i--){// passer par tous les ordres
if (! OrderSelect(i, SELECT_BY_POS, MODE_TRADES)){// si aucun ordre n' est sélectionné, alors.
if(OrderMagicNumber()!=MagicNumber) continue ; //si le nombre magique n'est pas le nôtre, alors passez à une autre commande
if(OrderOpenTime()>=Time[0]) Torg=false ;
}
// Mais que faire si la commande est toujours sélectionnée dans la liste ?
}
}
bool Torg ;
if(OrdersTotal()==0) Torg=true ;
if(OrdersTotal()>0){
for(int i=OrdersTotal()-1;i>=0;i--){
if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES)){
if(OrderMagicNumber()!=MagicNumber) continue ;
if(OrderOpenTime()>=Time[0]) Torg=false ;
if(OrderOpenTime()<Time[0]) Torg=true ;
}
}
}
Que pensez-vous de ça ?
Et si vous essayez de vérifier vous-même cette boucle dans le script ? Eh bien, juste en imprimant le résultat - quelle position la variable Torg prend dans différents cas. Vous pensez que vous ne pouvez pas le faire vous-même ?
Je ne pense pas.
Téléchargez - cela vous aidera - http://depositfiles.com/files/eg4fmn3bp