La grande et terrible MT4 pour toujours (ou comment organiser une transition) - page 24
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
En russe ? En espagnol ? En anglais ? Laquelle ?
naturellement dans toutes les langues que le terminal supporte
le format n'a pas d'importance - il peut s'agir d'un SB sous la forme d'une classe dont le constructeur reçoit la langue en tant que paramètre.
ou il peut s'agir d'un groupe de fonctions personnalisées dont le langage se termine par GetTxtErrDescription_RU()
ou même une fonction régulière comme GetLastError()
si vous le souhaitez
OK, oubliez ça, j'ai tout, et mon rang ne me permet pas de m'occuper du bien-être universel, laissez des personnes spécialement formées s'occuper de la convivialité et de l'ergonomie.
J'ai deviné pourquoi votre position est double.)))) Parce que vous avez placé deux bibliothèques dans CodeBase))))
Pourquoi n'aimez-vous pas GetTickCount() ; cela ne ralentit pas tout le code, contrairement à Sleep, vous pouvez au moins ajouter 500ms si le ping est élevé,
Dans mon multisymbole, pour chaque paire, un compteur séparé est activé après OrderSend, le reste de la logique continue de fonctionner.
Pourquoi n'aimez-vous pas GetTickCount() ; il ne ralentit pas tout le code contrairement à Sleep, vous pouvez utiliser au moins 500ms si le ping est élevé,
C'est une boucle active et ça bouffe le processeur. Que faire s'il y a 50 Expert Advisors de ce type dans le terminal ? Il y en a 8 sur un symbole où tous les 8 enverront des ordres sur l'épingle à cheveux.
C'est un cycle actif et ça mange le CPU. Que se passe-t-il s'il y a 50 Expert Advisors de ce type dans le terminal ? Il y en a 8 sur une paire où sur l'épingle à cheveux tous les 8 enverront des ordres.
Il est activé pendant une demi-seconde et seulement après l'envoi de l'ordre, il n'y a pas de commande pour lui, puis il vérifie d'abord la présence des positions ouvertes.
J'ai optimisé mon code, il est devenu plus rapide et a commencé à ouvrir 2 positions à la fois) au début Sleep a aidé, mais cela ralentissait les choses, j'ai 7 caractèresJe n'ai pas encore essayé le style MT4 moi-même. Théoriquement, cela devrait fonctionner. Je n'ai pas encore eu l'occasion de le regarder.
Ça marche. Il était intéressant de comparer deux versions (avec et sans attente de position).
Avec une position en attente après OrderSend.
Sans attendre la position, le résultat est immédiat.
J'étais sûr que la deuxième variante était plus rapide. Il s'est avéré que le temps d'exécution était égal.
En attendant la position ByPass.Is(), le code a retourné false une fois, alors que sans attendre il a retourné 740 fois. Dans l'ensemble, la béquille semble fonctionner.
Forum sur le trading, les systèmes de trading automatisés et les tests de stratégies de trading
Le grand et le terrible MT4 pour toujours (ou comment construire votre stratégie de migration)
Igor Makanu, 2021.05.10 10:28
cela semble fonctionner :
Mais très lente, et la solution est médiocre.
Sa vitesse est correcte. Manque de synchronisation à 37 reprises.
Sa vitesse est normale. Manque de synchronisation à 37 reprises.
J'ai vérifié sur fx : ce script a ouvert 10 ordres 5 fois rapidement, et la dernière fois, lorsque j'ai ouvert 10 ordres pendant 10 secondes sur la démo, la fermeture des ordres n'était pas rapide non plus.
Voici une égratignure sur le journal pour la commande 11143290 :
LL 0 11:19:31.444 Trades '20615687' : ordre #11143290 acheter 0.1 / 0.1 EURUSD au marché fait en 1580.643 ms
PO 0 11:19:33.621 Trades '20615687' : deal #1865643 buy 0.1 EURUSD at 1.21460 done (based on order #11143290)
CL 0 11:19:33.622 Trades '20615687' : achat sur le marché 0.1 EURUSD
JF 0 11:19:33.679 Trades '20615687' : accepté l'achat sur le marché de 0.1 EURUSD
QO 0 11:19:33.679 Trades '20615687' : achat sur le marché 0.1 EURUSD placé pour exécution.
KM 0 11:22:41.224 Trades '20615687' : marché vendre 0.1 EURUSD, fermer #11143290 acheter 0.1 EURUSD 1.21460
DR 0 11:22:41.280 Trades '20615687' : marché accepté vendre 0.1 EURUSD, fermer #11143290 acheter 0.1 EURUSD 1.21460
KQ 0 11:22:41.282 Trades '20615687' : marché vendre 0.1 EURUSD, fermer #11143290 acheter 0.1 EURUSD 1.21460 placé pour exécution
ON 0 11:22:43.824 Trades '20615687' : marché vendre 0.1 EURUSD, fermer #11143290 acheter 0.1 EURUSD 1.21460
DO 2 11:22:43.880 Trades '20615687' : marché vendre 0.1 EURUSD, fermer #11143290 acheter 0.1 EURUSD 1.21460 [L'ordre de fermer cette position existe déjà].
JN 0 11:22:46.280 Trades '20615687' : marché vendre 0.1 EURUSD, fermer #11143290 acheter 0.1 EURUSD 1.21460
OL 2 11:22:46.336 Trades '20615687' : marché vendre 0.1 EURUSD, fermer #11143290 acheter 0.1 EURUSD 1.21460 [L'ordre de fermer cette position existe déjà].
Je viens de vérifier sur le fx...n.
Je vais devoir jeter un coup d'oeil à ce serveur. Il serait bon de vérifier la béquille proposée ici, pour qui cela semble important.
Revenir sur ce sujet après un certain temps serait très réticent. Il est préférable de signaler les bogues dès le départ, s'il y en a.
Je vais devoir jeter un coup d'oeil à ce serveur. Il serait bon de vérifier la béquille proposée ici, pour qui cela semble important.
Je ne voudrais pas revenir sur ce sujet après un certain temps. Il vaut mieux signaler immédiatement les bogues, le cas échéant.
Dans le PM a jeté le serveur