
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
Omg. Donc dormir n'aide pas ?
Cela m'a aidé. J'ai utilisé le conseil snelle_modas plus le sommeil. Cela a fonctionné.
Mais depuis, j'ai revu la façon dont les transactions sont ouvertes. Maintenant, je n'ai besoin d'aucune de ces deux solutions. Voici ce que j'ai écrit à angevoyageur hier. J'espère que cela vous aidera :
Bonjour,
La dernière fois que j'ai résolu le problème, j'ai utilisé la fonction de veille après la transaction. Mais avec mon nouveau robot, ce n'est plus nécessaire. Peut-être que c'est parce que l'ouverture d'une transaction est maintenant gérée différemment. Le premier robot avec lequel j'ai eu ce problème (peut-être que d'autres EAs avaient aussi cette façon d'ouvrir une transaction et c'est pourquoi j'ai eu le problème aussi (par exemple metaquant)) utilisait cette méthode :
Maintenant j'ouvre les ordres comme je l'ai appris dans la documentation et je n'ai plus ce problème :
Peut-être que cela aide. Je vois que doshur utilise une méthode similaire pour ouvrir des trades comme je l'ai fait quand cela a causé ce comportement.
CordialementIl y a donc un problème avec la classe ctrade ?
Je peux simplement dire que je n'ai plus ce problème après avoir supprimé la classe ctrade.
Vous pourriez créer une deuxième version de l'EA qui utilise la méthode "à l'ancienne" pour ouvrir une transaction et voir si cela aide.
D'un autre côté, la fonction sommeil a résolu le problème pour moi aussi.
Il y a donc un problème avec la classe ctrade ?
Je peux simplement dire que je n'ai plus ce problème après avoir supprimé la classe ctrade.
Vous pourriez créer une deuxième version de l'EA qui utilise la méthode "à l'ancienne" pour ouvrir une transaction et voir si cela aide.
D'autre part, la fonction sleep a également résolu le problème pour moi.
C'est un point intéressant.
J'utilise la classe ctrade pour ajuster la valeur du stoploss.
L'ouverture de la position elle-même se fait à l'ancienne.
Est-il possible que la classe ctrade envoie un nouvel ordre double lorsque j'ajuste l'ordre stoploss ? Cela semble étrange.
Je peux juste dire que je n'ai plus ce problème après avoir supprimé la classe ctrade.
Vous pourriez créer une deuxième version de l'EA qui utilise la méthode "à l'ancienne" pour ouvrir une transaction et voir si cela aide.
D'un autre côté, la fonction sleep a résolu le problème pour moi aussi.
C'est un bon point. Je devrais peut-être utiliser uniquement la variation du prix BID.
Une barre sur le graphique est également basée sur le prix BID ?
Pour le signal de déclenchement de mon EA, je ne suis intéressé que par la variation du prix sur lequel est basé le BAR 1 minute.
Puis-je demander si PositionSelect() vérifie le côté client ou le côté serveur ?
J'ai le fort sentiment que le problème est causé par le retard où le serveur (côté courtier) traite la demande et n'a pas mis à jour le côté client, c'est pourquoi PositionSelect() s'exécute à nouveau.
J'ai le sentiment qu'il n'y a pas de différence entre cTrade et MqlTradeRequest et que la fonction Sleep devrait aider à retarder tout ce qui est nécessaire pour que le côté client soit "mis à jour" avant que PositionSelect() ne s'exécute à nouveau, causant une double entrée. Vérification à partir de mon onglet journal, >2013.12.20 08:35:00 Trades '800****' : exchange buy 0.01 EURUSD at market placed for execution in 313 ms <
mettre en sommeil plus de 400 devrait être sûr ???
Que pensez-vous ?
Snelle_moda obtenez-vous toujours une double entrée en utilisant mqltraderequest pour envoyer l'ordre ?
J'ai encore une double entrée depuis le 03-10-2013. J'utilise les deux méthodes pour envoyer mon ordre. Voir mon post précédent.