Discussions sur le testeur de stratégie MT5 - page 11

 
Andrey Dik:

Vous parlez du dossier partagé C:\Users\User\AppData\Roaming\MetaQuotes\Tester\.

Le même principe est nécessaire pour le terminal en mode normal et non avec une spécification forcée du dossier partagé vers les bases d'historique au moyen de liens. Maintenant, cela fonctionne bien, mais veuillez implémenter cette fonctionnalité normalement en spécifiant un dossier pour les bases d'historique dans les paramètres du terminal.

:-)

J'ai déjà fait une demande, pour répartir le bac à sable avec les fichiers de données et les journaux sur le système de disque pour la vitesse.

Par exemple, il y a un disque SSD, un pour le système, un SSD pour les journaux, un SSD pour les données rapides.

Eh bien, ce serait bien si les journaux sur un SSD , les données sur l'autre - le terminal lui-même où mai être aussi sur le SSD

La vitesse d'accès aux données augmentera, en tenant compte du fait que chaque disque dispose de son propre contrôleur.

vous parlez d'autre chose - pour l'accès à une base de données commune - pour collecter les données d'une facturation pour différents terminaux dans un seul dossier - combien de personnes ont une telle configuration ?

Je viens d'acheter 12 téraoctets de disques durs et j'ai oublié le problème - les disques durs sont tellement gros maintenant que ce n'est pas pertinent.

 
Andrey Dik:
Non, ce qu'Andrew suggère, c'est que les développeurs fassent de l'accès aux dossiers publics une fonctionnalité régulière. C'est exactement ce qu'il suggère, c'est un appel à vous, pas à des millions de traders.

Une explication a été donnée :

  • Personne ne fera un goulot d'étranglement sous la forme d'un serveur (et une base de données unique signifie un gestionnaire d'accès. Et ce gestionnaire ne peut pas être un système de fichiers avec un accès verrouillé - tout ralentirait fabuleusement)
  • personne ne va faire un goulot d'étranglement d'écriture dans le système
  • Personne ne fera passer des dizaines de gigaoctets de données (et il s'agit bien de dizaines de gigaoctets) par un goulot d'étranglement.
  • le comportement des agents testeurs est raisonnable - ils utiliseront une base de données synchronisée en lecture seule
  • tout cela sur l'autel de la vitesse et de la faible latence.

L'architecture actuelle est très bonne, rapide et sûre. Nous avons écrit la cinquième génération de plates-formes de négociation pour une raison : nous connaissons la valeur de chaque solution.

 
Renat Fatkhullin:
  • Personne ne fera un goulot d'étranglement sous la forme d'un serveur (et une base unique signifie un gestionnaire d'accès. et ce gestionnaire ne peut pas être un système de fichiers avec blocage d'accès - tout sera fabuleusement lent)
Par conséquent, les programmeurs d'applications écrivent ces mêmes gestionnaires de fichiers avec des blocages d'accès et des freins fabuleux, car il n'y a pas d'autre solution dans MQL. Mais leurs âmes sont réchauffées par la "latence" magique et d'autres mantras de performance théorique, qui sont difficiles à appliquer dans la pratique.
 
Vasiliy Sokolov:
Bien. Par conséquent, les programmeurs d'applications écrivent ces gestionnaires de fichiers avec un blocage d'accès et des freins de conte de fées parce qu'il n'y a pas d'autre solution dans le cadre de MQL. Mais leur âme est réchauffée par la magie de la "latence" et d'autres mantras de performance théorique, qui sont difficiles à appliquer dans la pratique.

Oui - https://www.mql5.com/ru/docs/globals/globalvariablesetoncondition

La fonction fournit un accès atomique à une variable globale, elle peut donc être utilisée pour organiser le mutex lorsque plusieurs EA travaillent simultanément dans le même terminal client.

Et si la synchronisation entre les terminaux est nécessaire, il existe de nombreuses options. Même sur les fichiers, mais via les mutex des DLL, etc. C'est votre travail maintenant, puisque vous êtes hors du bac à sable de la sécurité.


Sans notre combat pour la vitesse, vous auriez une catégorie de logiciels complètement différente. Les bonnes choses ne sont pas visibles, elles semblent gratuites et évidentes.

Документация по MQL5: Глобальные переменные терминала / GlobalVariableSetOnCondition
Документация по MQL5: Глобальные переменные терминала / GlobalVariableSetOnCondition
  • www.mql5.com
Глобальные переменные терминала / GlobalVariableSetOnCondition - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Vasiliy Sokolov:
Ouais. Par conséquent, les programmeurs d'applications écrivent ces mêmes gestionnaires de fichiers avec des blocages d'accès et des freins énormes, car il n'y a pas d'autre solution dans MQL.

Tout cela a un sens pour moi. Si vous voulez des capacités multiterminales, faites-les vous-même, mais il est un peu, euh, irrationnel de le faire pour deux personnes et demie.

De plus, dans la grande majorité des cas, ces problèmes peuvent être résolus en une ou deux fois.

Et si nous parlons de deux personnes et demie, plus de personnes ont besoin de l'histoire personnalisée.

 
Yuriy Zaytsev:

Est-ce un défi ?

Chargez une seule arme ? :-)

On vous a dit que vous deviez créer un gestionnaire d'accès aux données à partir de différents terminaux !

Et quel est le problème de l'accès de différents terminaux à différentes données ! Pas de problème, mais il est plus pratique que tous les fichiers se trouvent au même endroit et qu'il ne soit pas nécessaire de télécharger les données à chaque fois que l'on déplace/réinstalle le terminal. Mais les développeurs ne veulent pas non plus faire cela. Vous n'avez pas besoin de gestionnaire d'accès pour ça.

Je parlais de 2 ou 3 terminaux accédant aux mêmes données. Il n'y a aucun problème à cela, il suffit que les terminaux comprennent que quelqu'un écrit déjà et n'essaient pas d'écrire. Et lorsque vous lisez, cela ne devrait pas poser de problème.

Vous n'avez aucune envie de lire, de comprendre ou d'argumenter. Je n'ai aucune envie de jeter des perles derrière elle. Je connais une solution de béquille (puisque les développeurs ne veulent pas faire de fonctionnalités régulières) - j'en suis satisfait.

 
xxz:
Et le fichier 2016.hcc ne devrait théoriquement jamais être mis à jour.

Renat Fatkhullin:

Une explication est donnée :

  • Personne ne construira un goulot d'étranglement sous la forme d'un serveur(et une base unique signifie un gestionnaire d'accès. Et ce gestionnaire ne peut pas être un système de fichiers verrouillé - tout ralentirait fabuleusement).
  • personne ne fera de goulot d'étranglement dans le système d'enregistrement
  • Personne ne fera passer des dizaines de gigaoctets de données (et il s'agit bien de dizaines de gigaoctets) par un goulot d'étranglement.
  • le comportement des agents testeurs est raisonnable - ils utiliseront une base de données synchronisée en lecture seule
  • tout est sur l'autel de la vitesse et de la faible latence

L'architecture actuelle est très bonne, rapide et sûre. Nous n'avons pas écrit la cinquième génération de plateformes de négociation pour rien - nous connaissons le coût de chaque solution.

Je suis bien conscient de cela...

parce que j'ai eu le privilège de développer des systèmes d'exploitation et des pilotes pour eux.

 
xxz:

Je ne vous comprends pas du tout !

Pourquoi deviens-tu un imbécile ?

Il est facile de rendre des fichiers comme "2017.hcc" accessibles au public au sein d'un courtier.

qui, comme je le comprends maintenant, sont mis à jour une fois tous les "cinq ans".

Quel est le problème ici ?

Surveillez votre langue et votre culture d'expression, s'il vous plaît. Il s'agit d'un forum technique.
 
Andrey Dik:
Yuriy Zaytsev:
Mes amis, arrêtez de vous chamailler. Suppression de l'inondation.
 
Artyom Trishkin:
Mes amis, assez de chamailleries. Je supprime l'inondation.
Non non, n'efface pas les mots de Yuri. Il affirme que le terminal écrit dans le fichier à chaque tic! Il s'agit d'une accusation de manque de professionnalisme de la part de MQ, je veux voir ce que Renat, dont les propos sont rapportés par Yuri, en fera. Ne me privez pas du plaisir d'apprécier le spectacle à venir.