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
La position est inversée car le programme envoie deux requêtes identiques au serveur. Le programme envoie deux requêtes identiques au serveur car son code ne vérifie pas l'existence d'une requête envoyée précédemment (et ne vérifie pas le résultat du traitement de cette requête sur le serveur).
Yedelkin écrit : son code ne vérifie pas si une demande a déjà été envoyée. Pouvez-vous me dire quelle fonction est contrôlée ?
Chacun a une compréhension différente du bon code. Vous devez donc écrire le code "correct" à la fin. Et comme autre conseil - essayez de voir si ce code fonctionne de la bonne manière (utilisation schématique du drapeau sentRequest) :
Chacun a une compréhension différente du bon code. Vous devez donc écrire le code "correct" à la fin. Et comme autre conseil - essayez de voir si ce code fonctionne dans la bonne clé (utilisation schématique du drapeau sentRequest) :
Merci beaucoup ! Je l'essaie...
Le résultat est le suivant : le code ferme correctement une position longue et n'ouvre pas une position courte... Lors de la réouverture d'une position longue, l'EA ne la ferme pas selon la condition. Il y a des messages dans la fenêtre EA en permanence :
Comment puis-je utiliser ce code dans le corps du conseiller expert, s'il ne fonctionne qu'une fois) ?
oldiol: При повторном открытии лонга, эксперт не закрывает больше позу по условию. В окне эксперта всё время идут сообщения: Как же использовать этот код в теле эксперта, если он работает только 1 раз)?
Cela devrait être assez simple en la matière. Dans le code schématique, l'indicateur sentRequest doit être mis à zéro si la position ouverte n'est pas une position d'achat (dernière ligne de code). Voyez pourquoi ce drapeau n'est pas mis à zéro dans votre code lorsque soit il n'y a pas de position ouverte, soit la position ouverte n'est pas une position d'achat.
Hourra ! Cela a marché)))) Supprimé if(sentRequest) sentRequest=false ; Et écrit avant le bloc if(PositionsTotal()==0) sentRequest=false ; Merci beaucoup à Yedelkin pour son aide, BONNE chance !
oldiol : Lors de la réouverture d'un long, EA ne ferme plus la position par condition. Il y a des messages dans la fenêtre EA tout le temps : Comment puis-je utiliser ce code dans le corps de l'EA, si cela ne fonctionne qu'une seule fois) ? Désolé, mon erreur... Il y a une autre condition dans le code
if(PositionSelect(_Symbol)==true) // il y a une position ouverte
{
POSITION FERMER BLOC
} // ... donc
if(sentRequest) sentRequest=false;// on le place derrière la parenthèse suivante et tout fonctionne parfaitement. Yedelkin MERCI !