La grande et terrible MT4 pour toujours (ou comment organiser une transition) - page 20
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
Tu ne peux pas parler avec ta langue. Tu devrais m'apprendre. Moi, s'il vous plaît.
Il y a un problème, et ce n'est pas seulement chez ce courtier.
Et le problème ne réside pas dans l'attente de l'exécution d'un ordre spécifique (c'est une autre affaire), mais dans le fait qu'au moment de l'exécution de l'ordre, ils disparaissent temporairement de toutes les listes (ouvertes, fermées, transactions, positions).
Nous pourrions utiliser une autre béquille, bien sûr. Mais nous voulons trouver une solution humaine. Et donc fxsaber travaille dessus en public, en écoutant les aboiements des sympathisants qui passent par là.
Personnellement, j'espère que vous pouvez comprendre la documentation
Personnellement, j'espère que vous avez suffisamment de recul pour comprendre de tels mots de documentation...
Et cela ne concerne pas seulement le gestionnaire d'événements OnTradeTransaction(), mais aussi toute partie du code après l'envoi de OrderSend(). Attendez l'achèvement de la transaction. Il n'y a pas d'autres options et il n'y en aura pas. Pensez simplement pourquoi tout est si simple dans mql4 ? Eh bien, c'est parce que ces attentes sont formulées loin de vos yeux. Et dans MQL5, vous pensez en quelque sorte que tous les contrôles et les attentes sont des béquilles. Pourquoi ?Alexey, vous êtes hors sujet. Désolé, je n'ai ni le temps ni l'envie de tout expliquer à nouveau.
J'ai essayé de cette façon :
J'ai exécuté mon code 5 fois, jusqu'à ce qu'exactement 10 positions soient ouvertes.
J'ai essayé de cette façon :
Exécuter mon code 5 fois, jusqu'à ce qu'exactement 10 positions soient ouvertes.
Il semble qu'une erreur se soit produite lors de la définition des entrées HistorySelect.
Il semble qu'une erreur se soit produite lors de la définition des entrées HistorySelect.
idée pour atteindre le serveur et se synchroniser
l'a réécrit comme un script :
l'a exécuté plusieurs fois, ouvre également 10 positions, a ajouté l'heure de début actuelle du script
l'idée d'atteindre le serveur et de se synchroniser
l'a réécrit comme un script :
Je l'ai exécuté plusieurs fois, j'ai également ouvert 10 positions, j'ai ajouté l'heure de début du script.
Que montrera ce changement ?
Que montrera ce changement ?
2021.05.09 21:35:06.210 tst (ETHUSD,H1) Benchmark.mqh : TimeAvg[GetMicrosecondsCount()] = 0 mcs.
2021.05.09 21:35:06.211 tst (ETHUSD,H1) Benchmark.mqh est activé.
2021.05.09 21:35:06.211 tst (ETHUSD,H1) Alerte : Bench_Stack = 0, 1 <= Time[tst.mq5 16 in OnStart : HistorySelect(TimeCurrent(),t_start)] = 20 mcs.
2021.05.09 21:35:06.308 tst (ETHUSD,H1) Alerte : Bench_Stack = 0, 1 <= Time[tst.mq5 16 in OnStart : HistorySelect(TimeCurrent(),t_start)] = 6 mcs.
2021.05.09 21:35:06.404 tst (ETHUSD,H1) Alerte : Bench_Stack = 0, 1 <= Time[tst.mq5 16 in OnStart : HistorySelect(TimeCurrent(),t_start)] = 10 mcs.
2021.05.09 21:35:06.501 tst (ETHUSD,H1) Alerte : Bench_Stack = 0, 1 <= Time[tst.mq5 16 in OnStart : HistorySelect(TimeCurrent(),t_start)] = 13 mcs.
2021.05.09 21:35:06.597 tst (ETHUSD,H1) Alerte : Bench_Stack = 0, 1 <= Time[tst.mq5 16 in OnStart : HistorySelect(TimeCurrent(),t_start)] = 10 mcs.
2021.05.09 21:35:06.694 tst (ETHUSD,H1) Alerte : Bench_Stack = 0, 1 <= Time[tst.mq5 16 in OnStart : HistorySelect(TimeCurrent(),t_start)] = 3 mcs.
2021.05.09 21:35:06.792 tst (ETHUSD,H1) Alerte : Bench_Stack = 0, 1 <= Time[tst.mq5 16 in OnStart : HistorySelect(TimeCurrent(),t_start)] = 4 mcs.
2021.05.09 21:35:06.888 tst (ETHUSD,H1) Alerte : Bench_Stack = 0, 1 <= Time[tst.mq5 16 in OnStart : HistorySelect(TimeCurrent(),t_start)] = 3 mcs.
2021.05.09 21:35:06.989 tst (ETHUSD,H1) Alerte : Bench_Stack = 0, 1 <= Time[tst.mq5 16 in OnStart : HistorySelect(TimeCurrent(),t_start)] = 4 mcs.
Les positions sont toujours de 10 pcs, pas encore de doublement.
Vous pouvez clairement voir par le temps d'exécution de HistorySelect qu'il ne demande rien au serveur de commerce.
Plusieurs versions.
Essayez de la même manière de vous débarrasser du doublement ici.
Forum sur le trading, les systèmes de trading automatisés et les tests de stratégie
Le grand et puissant MT4 Forever (ou comment élaborer une stratégie correcte pour passer à la vitesse supérieure)
fxsaber, 2021.05.05 02:04
Exécutez ce code sur un compte de démonstration vide et voyez si deux positions s'ouvrent en quelques secondes.
Je suis venu par hasard et je l'ai lu - c'est une honte !
Il ne faut faire confiance à personne !Vous pouvez clairement voir dans le temps d'exécution de HistorySelect qu'il ne demande rien au serveur de commerce.
Plusieurs versions.
Essayez de la même manière de vous débarrasser du doublement ici.
1. hélas, nous ne pouvons pas survivre dans notre métier sans elle ;)
2. j'ai demandé il y a quelques jours quelle build (pas bêta) est pertinente, silence, j'ai décidé de ne pas mettre à jour, sur un ordinateur portable et sur un PC il est difficile de comprendre quelles builds sont pertinentes - je n'ai pas travaillé avec les terminaux pendant quelques mois, je ne suis pas. Maintenant sur le PC build 2903.
3. je passe, vous êtes en charge de ce banquet, les développeurs sont silencieux, à mon avis... pouce dans le ciel, je pense que le problème est dans la latence du réseau, et les multiples sockets ? terminal, pas de synchronisation, un socket prix, un autre OrderSend, un autre où OnTrade()..... donc les paquets volent d'où et où
4. j'ai robotforex + 100 mbps optique (ETTH), j'avais un mauvais internet mobile et fhopin sur mon ordinateur portable avant
J'ai essayé pendant 2 minutes, le script a vacillé pendant 2 minutes, toujours une position, pas d'inversion, j'ai retiré le script à la main.