La grande et terrible MT4 pour toujours (ou comment organiser une transition) - page 15
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, le dernier enregistrement de l'activité commerciale se trouve dans le deuxième journal.
Et c'est correct en termes de priorité :
Ici, je suis revenu à l'option sans impression et, là encore, il reste une position après exécution. Il s'avère que vous devez faire une sorte de pause après l'exécution des transactions. Mec, quelle béquille.
Eh bien, qui va le mettre à jour ? ))
mais lorsqu'il y a une position ouverte, le script la ferme et ne fait rien d'autre.
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
De plus, si j'essaie d'ouvrir une position, le script la ferme instantanément.
a réussi à écrire IsSynchronized(). Le code est un peu lourd. Je n'ai pas encore décidé sous quelle forme le poster.
Comment cela fonctionne-t-il ? Il est en quelque sorte trouvé mais en quelque sorte absent ? Quel est l'essentiel ou le principe de la solution ?
Mais lorsqu'il y a une position ouverte, le script la ferme et ne fait rien d'autre.
Tous les serveurs ne reproduisent pas l'ouverture de deux postes. Dans votre cas, il s'agit du troisième côté (un côté - deux positions, l'autre - une position).
Et c'est à peu près correct en termes de séquencement :
Forum sur le trading, les systèmes de trading automatisé et les tests de stratégies de trading
Le grand et puissant MT4 Forever (ou comment choisir la stratégie de migration)
Ihor Herasko, 2021.05.05 09:35
Et tout est là en termes de commande :
Les lignes en surbrillance confirment la séquence.
PositionsTotal = 1 - envoie un ordre de clôture.
La fermeture a lieu une fois l'exécution du script terminée. Le cache d'impression est un peu déformé.
Comment cela ? C'est en quelque sorte trouvé mais en quelque sorte pas là ?
Je n'ai pas encore eu le temps de le poster. Je le posterai dans les 24 heures.
Quelle est l'essence ou le principe de la solution ?
Il analyse la correspondance entre l'historique des transactions et l'environnement commercial actuel. Dans ce cas, il n'y a pas de ralentissement.
Il vérifie également Result.order.
Par conséquent, l'utilisation est la suivante : IsSync() renvoie false - l'environnement de négociation dans le Terminal est tordu, sinon nous pouvons procéder comme d'habitude.
Ajout d'empreintes. Il reste maintenant deux postes, comme prévu :
Résultat :
Ajouter Trade.ResultRetcodeDescription()
Aussi ResultDeal / ResultOrder / ResultComment et Order.État
Il y aura sûrement une réponse ici
ÉtatAjouter Trade.ResultRetcodeDescription()
Et aussi ResultDeal / ResultOrder / ResultComment et Order.État
Il y aura sûrement une réponse ici
ÉtatC'est fait :
Résultat :
Ajouter Trade.ResultRetcodeDescription()
Et aussi ResultDeal / ResultOrder / ResultComment et Order.État
Il y aura sûrement une réponse.
ÉtatCe n'est absolument pas le cas, car la condition pour envoyer un ordre au marché afin d'ouvrir une position est PositionsTotal == OrdersTotal == 0.