MT5 Pour ceux qui se soucient de la vitesse. - page 4

 
 
Urain:

Le serveur est pingué + le temps de traitement du terminal.

Leping est le temps qu'il faut pour transmettre une requête (paquet d'informations) du client au serveur et inversement.

Ainsi, le ping dépend de la quantité de données transmises, où chaque bit d'information (adresse source, adresse de destination, bits de contrôle et paquet de données), lorsqu'il est transmis de mon ordinateur au routeur via Ethernet à 10MHz, prend 0,1 µs. C'est-à-dire que le transfert de 2 adresses et le récepteur et la source prend 8 octets ou 64 bits, ou 6,4 µs si la fréquence de 1 MHz (ce qui est également tout à fait possible parce que le fabricant écrit de 1 à 10 MHz) temps sera de 64 µs. et dans la réception des pings plus 64 alors sera de 128 µs ... et l'information n'a pas encore atteint l'Internet ... et les données dans le paquet n'est pas. Le paquet de données minimum est quelque chose comme 46 mots ... + 4 mots donc le temps peut être 128 + 800 = 1528 µs. Quelle est la quantité réelle de données dans le paquet est inconnue. A la réception=cette période est à nouveau passée.

Notez également que le concept du système comprend non seulement un logiciel metatradera mais aussi l'ordinateur de l'utilisateur, les lignes, le modem, le FAI, le serveur, le conseiller expert et les indicateurs.

En outre, le temps de réponse du serveur est très variable.

Une dernière chose - le programme terminal ne fonctionne qu'en flux, car Windows a beaucoup d'autres tâches ...

Le fait est que j'ai vu plusieurs fois que le terminal ne répondait pas pendant plus d'une minute à de forts mouvements de prix.

Le CV est le suivant ? Vous devez imaginer le processus physique, réfléchir à la durée d'exécution du processus et tester le programme sur des données réelles. D'ailleurs, cet homme est très instructif.

 
shelandr:

Le fait est que j'ai observé à plusieurs reprises que le terminal ne réagissait pas pendant plus d'une minute lorsque le prix évoluait fortement.

Le CV est le suivant ? Lorsque vous concevez un système et surtout lorsque vous le programmez, vous devez comprendre le processus physique, penser au temps d'exécution du processus et tester le programme avec des données réelles.

Essayez un autre courtier, le terminal n'a rien à voir avec cela.
 
shelandr:

Leping est le temps qu'il faut pour envoyer une requête (paquet d'informations) d'un client à un serveur et inversement.

Autrement dit, le ping dépend de la quantité de données transmises, où chaque bit d'information (adresse de la source, adresse du récepteur, bits de contrôle et paquet de données) dans la transmission de mon ordinateur au routeur via Ethernet à 10 MHz prend 0,1 µs. C'est-à-dire que le transfert de 2 adresses et le récepteur et la source prend 8 octets ou 64 bits, ou 6,4 µs si la fréquence de 1 MHz (ce qui est également tout à fait possible parce que le fabricant écrit de 1 à 10 MHz) le temps est de 64 µs. et dans la réception de pings plus 64 il sera de 128 µs. et l'information n'a pas encore atteint l'Internet ... et les données dans le paquet n'est pas. Le paquet de données minimum est quelque chose comme 46 mots ... + 4 mots donc le temps peut être 128 + 800 = 1528 µs. Quelle est la quantité réelle de données dans le paquet est inconnue. A la réception = ce temps est à nouveau passé.

Notez également que le concept du système comprend non seulement un logiciel metatradera mais aussi l'ordinateur de l'utilisateur, les lignes, le modem, le FAI, le serveur, le conseiller expert et les indicateurs.

En outre, le temps de réponse du serveur varie considérablement.

Une dernière chose - le programme terminal ne fonctionne qu'en flux, car Windows a beaucoup d'autres tâches ...

Le fait est que j'ai vu plusieurs fois que le terminal ne répondait pas pendant plus d'une minute à de forts mouvements de prix.

Le CV est le suivant ? Vous devez imaginer le processus physique, penser à la durée d'exécution du processus et tester le programme sur des données réelles. D'ailleurs, cet homme est très instructif.

Cher Monsieur, vous devriez d'abord comprendre le sujet avant d'essayer de faire la leçon...
 
Renat:
Ces affirmations doivent être étayées par des preuves.

Vous les avez ?

Cher Renat, le plus drôle est que lorsque vous achetez un routeur ou tout autre appareil tel qu'une souris, par exemple, la documentation spécifie des protocoles tels que:

4x LAN (10/100/1000 Mbps)

Si vous achetez une saucisse Gosta, vous pouvez lire la teneur minimale en viande...

Lorsque vous achetez Metatrader, personne ne peut savoir quels paramètres de performance vous garantissez, car vous ne garantissez rien ... pas un seul paramètre de performance, ils n'existent tout simplement pas ...

Donc techniquement vous ne pouvez rien violer, ni le temps de réponse du serveur, ni la vitesse d'exécution des trades, ni le temps d'exécution des commandes...

Non seulement cela, mais vous parvenez même à conspirer le protocole d'échange avec le serveur ...

Cela équivaut à peu près à sécréter l'intervalle maximal entre deux bus ou deux trains, ou la composition de la viande dans une saucisse.

Bien sûr, le temps d'exécution du programme sera différent pour un processeur 8-core et un Atom single-core, mais il est possible de paramétrer une modification moyenne...

En termes d'opérations boursières, nous vivons encore à l'âge de pierre. Il existe donc des acheteurs de tels programmes et systèmes... C'est pourquoi des travaux sont en cours pour normaliser le protocole réseau FX API, dans lequel les paramètres du protocole seront décrits et la liaison ...

 
shelandr:

Le plus drôle, c'est que Shelandr travaille à la standardisation du protocole réseau de l'API FX, dans lequel les paramètres du protocole seront écrits.

C'est vrai. Vous vous réinventez. :)

LeFX a été peint et normalisé depuis longtemps.

Apprenez les maths, écoutez les gens et prenez des notes tranquillement. Ne parlez pas encore, vous avez l'air ridicule.

Home Page - FIX Trading Community
  • FIX Trading Community
  • www.fixprotocol.org
Welcome to the non-profit, industry-driven standards body with the mission to address the business and regulatory issues impacting multi-asset trading across the global financial markets...
 

Chère Shelandr,

Personne ne peut garantir la vélocité du dispositif d'extrémité (à part les spécialistes du marketing détachés), car presque tout en dépend :

  • Canaux de communication avec des tiers

    La latence du réseau est l'un des plus gros problèmes pour les traders. Et aucune revendication du TCP ne peut être acceptée. La solution consiste à héberger un VPS/serveur proche ou, plus généralement, à déplacer l'exécution vers les serveurs du courtier (si l'architecture le permet).

    Les plateformes MetaTrader 4/5 utilisent des points d'accès géographiquement distribués (serveurs proxy), parmi lesquels chaque terminal trouve le plus rapide et travaille avec lui. Cela permet d'accélérer radicalement la livraison des données du marché (ticks, graphiques, nouvelles) à chaque terminal.

  • Disponibilité des opérations de négociation asynchrones

    Dans le domaine du trading à haute fréquence (HFT), il est très important de pouvoir envoyer plusieurs transactions de manière asynchrone aussi rapidement que possible sans perdre une fraction de seconde à traiter le résultat. Cette méthode de négociation asynchrone est entièrement disponible dans MetaTrader 5 et réduit considérablement le temps moyen nécessaire pour envoyer un lot de transactions.

  • Files d'attente pour l'exécution des transactions sur les serveurs commerciaux

    Dans ce cas, la qualité du traitement des files d'attente techniques est entre les mains des développeurs et, en général, toute entreprise qui se respecte publie fièrement des chiffres de vitesse fabuleux, remplaçant implicitement le concept de "vitesse globale d'exécution". En général, dans de tels cas, on parle de valeurs extrêmes de centaines de milliers de transactions par seconde, d'une latence quasi nulle, etc.

    L'analyse de votre propre file d'attente de demandes sur le serveur est une tâche technique primitive. Cela ne nous pose pas de problème : les dizaines de milliers de transactions par seconde nécessaires sont facilement gérées. Si vous avez besoin de plus, la performance peut facilement être augmentée (nos courtiers ne posent pas encore de questions à ce sujet).

  • L'exécution effective des demandes

    C'est à l'entière discrétion du courtier qu'un ordre de transaction est retiré de la file d'attente pour être exécuté.

  • Exécution des ordres via les passerelles vers les ECN/STP ou les bourses.

    D'un point de vue technique, les délais sont déterminés par la latence du réseau, la qualité d'exécution de la passerelle et le système d'exécution ECN/STP/Exchange final. De notre côté, les passerelles d'exécution ECN/STP/Exchange sont mises en œuvre aussi efficacement que possible.


La seule façon pour le négociant final d'accélérer est de réduire la latence du réseau en plaçant le système d'exécution (terminal de négociation) aussi près que possible des serveurs de négociation du courtier.

Au niveau actuel de développement technique, le choix du langage de programmation et de l'API a peu d'effet sur la vitesse de génération des transactions commerciales du côté client. Cela dit, MQL5 est un langage de programmation très, très rapide grâce à un bon compilateur/optimiseur et à la génération de code exécutable 32/64 bits natif, il offre une exécution sécurisée en sandbox et propose une API énorme (documentation de plus de 3000 pages) pour accéder à tout l'environnement du marché.

Les systèmes de trading algorithmique comme MetaTrader 5 avec ce niveau d'intégration et ces capacités API sont presque inexistants sur le marché.

 
sergeev:

C'est plutôt ça. Vous vous réinventez. :)

Lefix a été peint et normalisé depuis longtemps.

Apprenez les maths, écoutez les gens et prenez tranquillement des notes. Ne parlez pas encore, vous avez l'air ridicule.

Alors pourquoi on se chamaille ? C'est ce que je demandais...

Entrez dans la documentation des mots comme :

Le programme de communication avec le serveur met en œuvre le protocole (préciser le lien vers le document, de préférence en russe, car nous sommes sur le site russophone). La taille du paquet de données est telle que les mots à une fréquence d'untel et quelque chose d'autre pour les moins avancés... et tout va bien...

Paramètres de performance du serveur, demandez à votre revendeur, il est au courant du dossier.

Sanks... Parce que je pensais que vous aviez un système à vitesse non garantie - c'est-à-dire que pour les fans de latence maximale garantie, ce n'est pas recommandé...

 
shelandr:

Entrez dans la documentation des mots comme :

Le programme de communication avec le serveur met en œuvre le protocole (préciser le lien vers le document, de préférence en russe, car nous sommes sur un site russophone). La taille du paquet de données est de tant de mots à une fréquence de untel et autre chose pour les moins avancés... et c'est tout...

Sainte naïveté.

Je recommande de penser à la protection des droits de propriété intellectuelle, des secrets commerciaux, de l'économie des produits et autres. L'égocentrisme réduit la compréhension que l'on a du monde.

 
Renat:

Chère Shelandr,

1 De notre côté, les passerelles d'exécution ECN/STp/Exchange sont mises en œuvre aussi efficacement que possible.

2 Pour le trader final, la seule façon d'accélérer est de réduire la latence du réseau en plaçant le système d'exécution (terminal de trading) aussi près que possible des serveurs de trading du courtier.


1 Je voulais ces paramètres dans la documentation.

2 Vous avez tout à fait raison, en ce qui concerne les programmeurs sous Windows...mais j'ai déjà écrit, que le système Windows n'est pas destiné aux systèmes en temps réel et sert des objectifs et des tâches très différents...bien que certaines personnes parviennent à faire par exemple regarder des vidéos HD, ce que j'utilise avec plaisir et parviennent occasionnellement à distribuer le format FulHD à des milliers de clients. Une information sur les stocks est une poussière par rapport à elle.

Mais en général, les échanges rapides sont mis en œuvre à partir de la boîte, comme Skype ou le client de messagerie.

Je ne veux pas changer de système d'exploitation, c'est votre choix... Je veux juste pouvoir communiquer avec votre protocole de serveur et me donner la possibilité de traiter les informations d'échange sur la plate-forme que je préfère et pouvoir contrôler la connexion et les informations qui sont pompées de mon terminal, ainsi que ce que le processeur fait et comment il le fait.

Cela me semble raisonnable.

Raison: