N'oubliez pas les processus de synchronisation. Un grand nombre de processus de la plate-forme sont asynchrones.
Par exemple, une intégration de passerelle avec une bourse ou un fournisseur de liquidités peut envoyer des rapports de transaction avec des délais de quelques secondes, voire de quelques minutes. Souvent, l'API ne donne pas du tout accès à l'historique pour la réconciliation, mais fournit des générateurs de rapports lents et non rythmés.
À l'ouverture du marché, ou en raison d'une reconnexion inattendue de la passerelle, les rapports peuvent être retardés. Ils sont répliqués dans l'historique sur le serveur et envoyés immédiatement de manière asynchrone aux terminaux. Grâce au tri par date, ils sont insérés aux bons endroits, et entre-temps vous pouvez ouvrir de nouvelles transactions.
La plupart des API d'intégration sont si illisibles et dysfonctionnelles qu'elles rendent presque impossible la création de passerelles garanties. Bien que certains pensent que c'est le résultat d'un sabotage délibéré de la part de leurs développeurs.
Faut-il donner le droit de choisir ? Qui a besoin de snaps physiques et qui en a assez pour travailler avec des index avec des risques appropriés.
Faut-il donner le droit de choisir ? Qui a besoin de snaps physiques et qui en a assez pour travailler avec des indices avec les risques appropriés.
Quel est le problème de garder un cache local sur l'EA et d'échantillonner par rapport à l'heure de la dernière mise à jour ? J'en ai un et je n'ai jamais eu de problèmes avec lui. Mes fonctions réseau ralentissent l'ensemble de l'interface à cause de son implémentation synchrone, ce serait bien d'avoir WebRequestAsync dès le départ, bien que je cherche déjà des DLL ou même des wrappers python et C++, car il y a une API de négociation en python :)
Mais travailler avec de grandes quantités de données sans mise en cache locale est très étrange.
PS. En général, les masques de hachage et la mise en cache sont très demandés en multidevises et c'est pourquoi j'ai demandé plus haut dans ce fil de discussion des masques de hachage normaux (lire rapides) prêts à l'emploi.
Для использования функции WebRequest() следует добавить адреса серверов в список разрешенных URL во вкладке "Советники" окна "Настройки". Порт сервера выбирается автоматически на основе указанного протокола - 80 для "http://" и 443 для "https://". Функция WebRequest() является синхронной, это означает, что она приостанавливает выполнение...
Pour le style MQL5, vous avez spécifiquement testé 10 000 échantillons de HistorySelect sur l'ensemble de la profondeur. Et vous avez également ajouté des cycles supplémentaires.
Sans une déclaration initiale claire des conditions, expliquant leur partialité évidente et donnant des chiffres choquants - c'est la tricherie et la manipulation la plus pure.
Renat Fatkhullin: Le test est tout à fait inacceptable.
Pour le style MQL5, vous avez spécifiquement testé 10 000 échantillons de HistorySelect sur l'ensemble de la profondeur. Et vous avez également ajouté des cycles supplémentaires.
Sans une déclaration initiale claire des conditions, expliquant leur partialité évidente et donnant des chiffres choquants - c'est la tricherie et la manipulation la plus pure.
Pour un tel jeu déloyal avec un ticket d'aconit.
Eh bien, votre perception est fausse. Il est démontré qu'il est correct de se cacher afin de ne pas avoir d'épine dans le pied.
Nous avons déjà optimisé un grand nombre d'opérations d'échantillonnage et nous pensons maintenant à la mise à jour optimale du cache, alors qu'en réalité 99% des échantillons seront complètement inutiles et seront manqués en fait.
En d'autres termes, à moins que vous ne rendiez les limites d'échantillonnage spécifiquement aléatoires, le cache affichera des occurrences proches de 100 %.
La semaine prochaine, il y aura probablement déjà une solution efficace.
cet exemple s'exécutera beaucoup plus rapidement.
HH Le script calcule l'heure d'ouverture/de fermeture de la dernière position dans l'historique des transactions.
Si vous n'avez pas de compte, veuillez vous inscrire
Autorisez l'utilisation de cookies pour vous connecter au site Web MQL5.com.
Veuillez activer les paramètres nécessaires dans votre navigateur, sinon vous ne pourrez pas vous connecter.
Vous êtes connecté. L'authentification à deux facteurs a été désactivée. Configurez-la à nouveau et scannez un nouveau code QR, ou continuez avec l'authentification à deux facteurs désactivée.
Vous n'avez que deux états : 5000 et unlim ?
Vous êtes le maître de votre propre bonheur.
En théorie, oui.
N'oubliez pas les processus de synchronisation. Un grand nombre de processus de la plate-forme sont asynchrones.
Par exemple, une intégration de passerelle avec une bourse ou un fournisseur de liquidités peut envoyer des rapports de transaction avec des délais de quelques secondes, voire de quelques minutes. Souvent, l'API ne donne pas du tout accès à l'historique pour la réconciliation, mais fournit des générateurs de rapports lents et non rythmés.
À l'ouverture du marché, ou en raison d'une reconnexion inattendue de la passerelle, les rapports peuvent être retardés. Ils sont répliqués dans l'historique sur le serveur et envoyés immédiatement de manière asynchrone aux terminaux. Grâce au tri par date, ils sont insérés aux bons endroits, et entre-temps vous pouvez ouvrir de nouvelles transactions.
La plupart des API d'intégration sont si illisibles et dysfonctionnelles qu'elles rendent presque impossible la création de passerelles garanties. Bien que certains pensent que c'est le résultat d'un sabotage délibéré de la part de leurs développeurs.
Faut-il donner le droit de choisir ? Qui a besoin de snaps physiques et qui en a assez pour travailler avec des index avec des risques appropriés.
Faut-il donner le droit de choisir ? Qui a besoin de snaps physiques et qui en a assez pour travailler avec des indices avec les risques appropriés.
Quel est le problème de garder un cache local sur l'EA et d'échantillonner par rapport à l'heure de la dernière mise à jour ? J'en ai un et je n'ai jamais eu de problèmes avec lui. Mes fonctions réseau ralentissent l'ensemble de l'interface à cause de son implémentation synchrone, ce serait bien d'avoir WebRequestAsync dès le départ, bien que je cherche déjà des DLL ou même des wrappers python et C++, car il y a une API de négociation en python :)
Mais travailler avec de grandes quantités de données sans mise en cache locale est très étrange.
PS. En général, les masques de hachage et la mise en cache sont très demandés en multidevises et c'est pourquoi j'ai demandé plus haut dans ce fil de discussion des masques de hachage normaux (lire rapides) prêts à l'emploi.Quel est le problème de garder un cache local sur l'EA et d'échantillonner par rapport à l'heure de la dernière mise à jour?
C'est ce que faitle scénario.
Quant au cache local, c'est ainsi que l'historique est implémenté dans MT4Orders.
Quant au cache local, c'est ainsi que MT4Orders a mis en œuvre l'histoire.
Je ne m'attendais pas à ce que le scénario, qui date de deux ans, soit
Forum sur le trading, les systèmes de trading automatisés et les tests de stratégies de trading
Conseiller expert OrderCloseTime MQL5
fxsaber, 2018.07.06 00:49
montrera de tels freins !
MQL5 pur est 100 fois plus lent que la mise en cache partielle (uniquement HistorySelectByPosition).
Le test est tout à fait inacceptable.
Eh bien, votre perception est fausse. Il est démontré qu'il est correct de se cacher afin de ne pas avoir d'épine dans le pied.
Si je comprends bien, après cette mise en œuvre.
Forum sur le trading, les systèmes de trading automatisés et les tests de stratégie
MT5 et la vitesse en action
Renat Fatkhullin, 2020.08.27 22:58
Nous avons déjà optimisé un grand nombre d'opérations d'échantillonnage et nous pensons maintenant à la mise à jour optimale du cache, alors qu'en réalité 99% des échantillons seront complètement inutiles et seront manqués en fait.
En d'autres termes, à moins que vous ne rendiez les limites d'échantillonnage spécifiquement aléatoires, le cache affichera des occurrences proches de 100 %.
La semaine prochaine, il y aura probablement déjà une solution efficace.
cet exemple s'exécutera beaucoup plus rapidement.
HH Le script calcule l'heure d'ouverture/de fermeture de la dernière position dans l'historique des transactions.
Il vous montre comment vous cacher correctement, afin de ne pas être déstabilisé.
Si vous "cachez" comme ça, ce sera super rapide.
Qui écrit comme ça ?
Si vous le mettez en cache comme ça, c'est super rapide.
Qui écrit comme ça ?
Les programmeurs C.