MT5 et la vitesse en action - page 43

 
Renat Fatkhullin:

J'ai téléchargé vos scripts de benchmark + exemple.

  1. Sur l'ordinateur local - vide en 10 minutes

  2. Sur un hôte VPS virtualisé chargé de plusieurs terminaux en 8 minutes

  3. Sur un serveur VPShost physique chargé avec de nombreux terminaux en 8 mins

Merci, ça a l'air cool !

Les tests ont été effectués sur un terminal 2630 de taille normale. Les terminaux de travail VPS consomment beaucoup moins de ressources et leur latence est inévitablement plus faible.

Les hôtes de travail de notre service VPS ont été utilisés.

Je dois utiliser WinAPI pour supprimer l'appétit du terminal de bureau.

votre VPS. Si quelqu'un d'autre a des recommandations valables, faites-le moi savoir.


Chers développeurs, veuillez avoir la possibilité de faire passer le terminal en mode de consommation minimale des ressources pour l'algotrading.

 
Renat Fatkhullin:

Indiquez le nom du serveur du courtier, s'il vous plaît.

Cela ne fait pas référence au serveur spécifique du courtier.
Il s'agit du choix de la mesure du ping dans le service que vous proposez.
C'est-à-dire que la carte suggère parfois une distance plus grande que le serveur de l'autre courtier, bien que par exemple ils soient tous deux en LD4.
Je ne nommerai pas de serveurs spécifiques pour la comparaison, juste en passant par ces serveurs, j'ai remarqué cette particularité.
En général, il serait préférable de disposer d'une liste de tous les sites parmi lesquels choisir.
Mais pour le moment, je suis intéressé par AMPGlobalEU-Live et son serveur américain.

 
fxsaber:

Merci, ça a l'air cool !

Mais je dois utiliser WinAPI pour freiner l'appétit du terminal de bureau.

Étant donné que les jeux Terminal font souvent plus de fps que les jeux PC en raison des perturbations très fréquentes, la carte vidéo est au premier plan. Surtout sur les vpscs sans cartes, toute la charge est mise sur le processeur étranglé.

C'est pourquoi vous avez raison de minimiser et de désactiver les panneaux sur les bureaux virtuels.

Nous avons même supprimé la moitié du code du terminal dans notre service et complètement supprimé la visualisation. Les terminaux sont devenus des appendices exécutifs du vpc-controller et ne fonctionnent qu'avec lui.

Les besoins en ressources sont donc beaucoup plus faibles. Tout ceci est décrit dans les articles sur le service VPS.

 
Renat Fatkhullin:

Comme le terminal présente souvent des fps plus élevés que les jeux PC en raison de la nécessité de mises à jour très fréquentes, la carte graphique est mise en avant. En particulier sur une machine virtuelle sans cartes, toute la charge est placée sur le CPU.

C'est pourquoi vous avez raison de minimiser et de désactiver les panneaux sur les bureaux virtuels.

Nous avons même supprimé la moitié du code du terminal dans notre service et complètement supprimé la visualisation. Les terminaux sont devenus des appendices exécutifs du vpc-controller et ne fonctionnent qu'avec lui.

Les besoins en ressources sont donc beaucoup plus faibles. Tout ceci est décrit dans les articles sur le service VPS.

Voici une autre question concernant votre VPS.
Y a-t-il des restrictions de socket dans le programme mql qui fonctionne sur votre serveur ?
Est-il possible de se connecter au broker OpenAPI indépendamment du programme mql, et non de l'API MQ.
Ou est-il possible de travailler uniquement avec le compte du courtier ?

 
Roman:

J'ai une autre question sur vos VPNs.
Y a-t-il une limitation pour les opérations de socket dans le programme mql sur votre VPS ?
Est-il possible de se connecter à partir d'un programme mql à l'OpenAPI du broker, et non à l'API MQ ?
Ou votre support opérationnel est uniquement lié au compte du courtier ?

Il n'y a aucune restriction sur les opérations de socket, sauf pour les accès à localhost/127.0.0.1.

Les permissions définies sur votre terminal sont héritées.

 
Renat Fatkhullin:

Comme le terminal présente souvent des fps plus élevés que les jeux PC en raison de la nécessité de mises à jour très fréquentes, la carte graphique est mise en avant. En particulier sur les vpsc sans cartes, toute la charge est placée sur le CPU, qui est étranglé.

Alors pourquoi ne pas faire un rafraîchissement instantané à 20 Hz, réduisant ainsi les fps ? Les visuels ne sont nécessaires que pour les yeux humains de toute façon. Il ne remarquera pas si c'est 200 fps ou 20.

Vous avez donc raison de minimiser et de désactiver les panneaux sur les virtualiseurs.

Malheureusement, vous avez besoin de WinAPI pour le faire. Et je n'ai toujours pas appris comment fermer la fenêtre Market Watch et Tools. Veuillez me dire comment le faire via WinAPI.

Market Products freine complètement les VPS de tiers. Aucune minimisation automatique ne peut être effectuée. Définir le masquage des graphiques est la même chose. De même, vous ne pouvez pas remplacer le lent GetMicrosecondsCount par un analogue avec une quantification en millisecondes. Un GetTickCount brut de 16 ms est imposé, ce qui est trop pour les mécanismes de l'environnement commercial instantané.

Pas pour commercialiser votre service VPS, vous le limitez comme ça ? Je suppose que ce n'était pas encore pertinent. Cependant, elle a déjà proposé des solutions de comptage et quelques béquilles.

Nous avons supprimé la moitié du code du terminal dans notre service et complètement supprimé la visualisation. Les terminaux sont devenus des appendices exécutifs de vps-controller et ne fonctionnent qu'avec lui.

Les besoins en ressources sont donc beaucoup plus faibles. Tout ceci est décrit dans les articles sur le service VPS.

Le terminal de bureau pourrait être rendu plus proche de l'algotrading, et la consommation de ressources pourrait être réduite grâce aux capacités MQL.

Dites-moi, si vous demandez un historique de ticks pour tous les symboles dans Market Watch (screener), le service VPS stockera-t-il 128K ticks pour chaque symbole comme un cache ?


Non.

bool CopyTicksClearCache( const string Symbol );
pour que seuls les derniers ticks puissent être interrogés sans ressources énormes, afin d'oublier les sauts dans OnTick.
 
Roman:

Cela ne fait pas référence au serveur spécifique du courtier.
Il s'agit du choix de la mesure du ping dans votre service proposé.
C'est-à-dire que la carte suggère parfois une distance plus grande que le serveur de l'autre courtier, bien que par exemple ils soient tous deux en LD4.
Je ne nommerai pas de serveurs spécifiques pour la comparaison, juste en passant par ces serveurs, j'ai remarqué cette particularité.
En général, il serait préférable de disposer d'une liste de tous les sites parmi lesquels choisir.
Mais pour le moment, je suis intéressé par AMPGlobalEU-Live et son serveur américain.

AMPGlobalEU-Live avec le serveur MetaTrader 4 à Londres sur LD4 montre un ping de 1.73 ms :


Mais AMPGlobalEU-Live (en fait, il est préférable de le chercher sous le nom d'AMPGlobalUSA-Live) pour MetaTrader 5 avec un noyau physique de plateforme à Chicago affiche en fait 19,53 ms, car nos serveurs les plus proches sont à New York :

Tous leurs points ont été scannés manuellement - le minimum est de 19 ms.

Nous allons essayer de mettre des serveurs à Chicago dans les prochains jours. Je n'ai pas eu le temps de le faire.

 
Renat Fatkhullin:

AMPGlobalEU-Live avec le serveur MetaTrader 4 à Londres sur LD4 montre un ping de 1.73ms :


Mais AMPGlobalEU-Live (en fait, il est préférable de le rechercher sous le nom d'AMPGlobalUSA-Live) pour MetaTrader 5 avec un noyau physique de plate-forme à Chicago est en fait de 19,53 ms, car nos serveurs les plus proches sont à New York :

Tous leurs points ont été scannés manuellement - le minimum est de 19 ms.

Nous allons essayer de mettre des serveurs à Chicago dans les prochains jours. Je n'ai pas eu le temps de le faire.

Cela j'ai tout vu, et aussi analysé ))
Si vous mettez un serveur à Chicago, mettez-le directement à Aurora, où l'emplacement de l'échange et tous les fournisseurs.

 

J'ai vu plus d'une fois des situations où le terminal charge le CPU à 100 % au point qu'il ne réagit plus à rien.

Puis j'ai regardé les journaux et j'ai vu qu'il y avait des sauts de ticks sauvages dans OnTick. Cependant, si j'écris correctement un EA, cette situation désastreuse n'affectera pas les résultats du trading. Je l'ai analysé précisément, tout est clair.

Je me demande dans quelle mesure les mécanismes permettant de faire face aux retards dans les produits de marché sont répandus. Je n'ai jamais vu une seule fois une mention de la puissance de la machine pour fonctionner. Ping minimum - oui.

 
fxsaber:

Alors pourquoi ne pas faire un snapshot de la mise à jour à 20Hz, réduisant ainsi les fps ? Les visuels ne sont que pour les yeux humains de toute façon. Il ne remarquera pas si c'est 200 fps ou 20.

Parce qu'une foule d'utilisateurs viendra porter des accusations.

C'est simple.

Cela dit, nous utilisons effectivement de petites bennes.


Malheureusement, nous avons besoin de WinAPI pour le faire. Et nous n'avons toujours pas appris comment fermer la fenêtre Market Watch et Tools. Veuillez me dire comment le faire via WinAPI.

La fonction MQL5 qui réduit toutes les fenêtres et l'application elle-même est une excellente idée. Nous allons nous en sortir.

Cependant, si une personne exécute le terminal sur le VPS par elle-même, elle s'opposera fortement à ce que tout soit brusquement minimisé. Il peut et doit minimiser lui-même les fenêtres s'il quitte la session RDP.


Les produits du marché freinent complètement les VPS de tiers. La minimisation automatique ne peut pas être faite. Définir la carte cachée aux yeux - de la même façon. De même, vous ne pouvez pas remplacer le lent GetMicrosecondsCount par un analogue avec une quantification en millisecondes. Un GetTickCount brut de 16 ms est imposé, ce qui est trop pour les mécanismes d'instantanéité de l'environnement de négociation.

Vous ne semblez pas comprendre quoi que ce soit.

Ce n'est pas GetMicrosecondsCount qui vous ralentit, c'est l'OS qui quantifie les ressources CPU pour n'importe quel thread de votre vpc étranglé. Pour toute fonction, toute action, tout programme au sein de votre UPU.

Eh bien, aucun shell CPU ne peut découper et allouer les ressources de manière équitable lorsqu'il dispose de 20 (c'est encore respectable) systèmes d'exploitation avec 1500 threads d'exécution par copie. Prenez 8 à 16 cœurs et répartissez-les en 20 * 1 500 = 30 000 (trente mille pistes physiques).


Et pour comparer, nous avons notre hôte VPS avec 97 terminaux actifs : seulement 3 333 threads et seulement 205 processus - pas de surcharge du système du tout.


Voici mon ordinateur de travail à titre de comparaison - à l'exception des navigateurs, d'une copie de MT5 et de plusieurs programmes non coûteux, il n'y a rien d'autre : 3 876 fils sont actifs.



Il s'avère qu'un hôte VPS avec un tas de terminaux fonctionne de manière plus économique qu'un ordinateur de bureau. Le VPS a 8 cœurs et le bureau en a 128.