Testeur de stratégie MetaTrader 5 et MQL5 Cloud Network - page 16

 
Interesting:

Est-ce une tâche si difficile de faire un gestionnaire d'agents directs pour Linux (au moins pour les plus populaires) ?

Le problème est qu'un fichier aussi simple que metatester [64].exe (~2,5 Mo) comprend

  1. l'agent de test lui-même, y compris l'ensemble du sous-système d'exécution de MQL5, sa sandbox et toute la logique commerciale du terminal
  2. Toute la partie GUI de la visualisation de test (il s'agit d'une pure GUI Windows sans chance d'être portée)
  3. Partie GUI du gestionnaire d'agents
  4. Réseau de nuages MQL5
  5. mises à jour automatiques

Nous avons regroupé dans un seul fichier EXE, qui ne nécessite aucune autre bibliothèque/composant supplémentaire, tant de fonctions et simplifié le travail avec lui, que la reproduction de la même fonctionnalité avec la même qualité sous Linux est hors de question.
 
Renat:
Le fait que nous ayons regroupé dans un seul fichier EXE, qui ne nécessite aucune autre bibliothèque/composant supplémentaire, tant de fonctions et simplifié le travail avec lui, que la reproduction de la même fonctionnalité avec la même qualité sous Linux est hors de question.

L'éternel problème des plates-formes croisées de Microsoft.

Renat:

Le fait est qu'un fichier aussi simple que metatester [64].exe (~2,5 Mo) comprend

  1. l'agent de test lui-même, y compris l'ensemble du sous-système d'exécution de MQL5, sa sandbox et toute la logique commerciale du terminal
  2. Toute la partie GUI de la visualisation de test (il s'agit d'une pure GUI Windows qui n'a aucune chance d'être portée).
  3. Partie GUI du gestionnaire d'agents
  4. Réseau de nuages MQL5
  5. mises à jour automatiques

C'est clair. Je ne comprends pas pourquoi ils ne peuvent pas supprimer certaines des fonctionnalités et ne laisser que ce qui est disponible dans MQL5 Cloud Network?

Par exemple, je ne comprends pas la nécessité d'un tel schéma pour le deuxième point (dont le point principal est l'impossibilité de portage)...

 
Interesting:

L'éternel problème de Microsoft avec le multiplateforme.

C'est compréhensible. Je ne comprends pas pourquoi ils ne peuvent pas supprimer certaines des fonctionnalités et ne laisser que ce qui fonctionne dans MQL5 Cloud Network ?

Par exemple, je ne comprends pas la nécessité d'un tel schéma pour le deuxième point (l'impossibilité de portage est le point principal)...

Je préfère me poser des questions plus importantes :

  1. Qui a besoin d'un testeur dépouillé pour Linux ? Sans protections, sans support normal 32/64, sans architecture agréable et sans simplicité. Les développeurs n'en ont absolument pas besoin.
  2. Pourquoi les développeurs vont-ils passer une demi-année (minimum) de leur vie sur ce projet en crachant et en jurant ? Où est le profit du promoteur ?
  3. Pourquoi les développeurs ruineraient-ils une architecture propre en introduisant une horreur multiplateforme dans le code ?

Le développement de logiciels est une activité motivée par des réponses claires à des questions économiques.

Ceux qui ne tiennent pas compte de l'économie réelle réalisent des projets aériens, mettent les investisseurs en faillite, et ensuite... changer d'emploi et généralement tourner en rond :)

ps : MetaTrader 4 et MetaTrader 5 fonctionnent très bien sous Linux via Wine, et nous nous assurons explicitement que le terminal fonctionne bien dans Wine (nous corrigeons les petites choses de temps en temps).

 
Renat:

Dans la prochaine version, les agents testeurs ne pourront pas travailler dans le MQL5 Cloud Network, s'ils sont lancés sous des virtualiseurs ou émulateurs (Virtual PC, VMWare, Virtual Box, Wine, etc.). Ceci est fait pour minimiser la possibilité de corrompre les évaluations de performance.

Le mode serveur normal d'exécution des agents sous les virtualiseurs est entièrement préservé. Cela signifie que vous pouvez utiliser les agents sous n'importe quelle forme pour vos propres besoins.

quel est le problème, quel type d'overclocking a lieu sous la virtualisation ?

Quelle importance a l'endroit où se trouvent les noyaux ?

Je suis vraiment désolé si c'est possible de changer la note, honnêtement je ne comprends pas vraiment comment ...

qu'est-ce que la notation ? qu'est-ce que la notation ?

il y a une tâche pour le noyau - le noyau accomplit la tâche - il y a un temps pour le noyau d'accomplir cette tâche

il ne devrait y avoir aucun autre critère

tout cela peut être contrôlé dans le réseau en nuage MQL5

En bref

1-core dit que je suis prêt

2- MQL5 Cloud Network dit au cœur, aller au travail, fixer l'heure

3-core fonctionne pendant 3 secondes

4-core répond à MQL5 Cloud Network -> prendre votre tâche

5 - bien joué le noyau - vous l'avez fait en 3 secondes - voici des bonbons sous forme de 0,1 cents

un autre noyau

1-Core dit que je suis prêt.

2- MQL5 Cloud Network - > le noyau est à l'heure

3-core travaille pendant 30 secondes

Réponses 4-core à MQL5 Cloud Network -> prenez votre tâche

5 - bien joué le noyau - vous l'avez fait en 30 secondes - voici des bonbons sous la forme de 0,1 centimes d'euros

c'est simple - plus vous travaillez vite et plus vous travaillez dur, plus vous gagnez.

Le MQL5 Cloud Network ne devrait pas avoir de favoris - les tâches leur seront confiées plus souvent ...

C'est comme dans la vie - les favoris reçoivent des commandes plus souvent !)

ce qui signifie que le réseau en nuage ne doit pas seulement distribuer les tâches par liste, mais probablement en déplaçant les cœurs vers les files d'attente.

pour éviter que seuls ceux qui sont en haut de la liste obtiennent le poste - et ainsi de suite en cercle.

si nous supposons qu'il y a 100 tâches et environ 1000 cœurs

alors les 100 premiers obtiendront le poste

ils les achèveront - puis 100 autres tâches seront mises en file d'attente et elles seront à nouveau distribuées aux cœurs qui sont en tête de liste.

et le pont 900 sera inactif

donc les 100 premiers cœurs seront les plus susceptibles de gagner

---

si le problème n'est pas résolu, hélas !

:-(((( , puis moins 8 de mes bons cœurs du pool, I7 - 3 GHz, 8 gigs de cœurs

Je ne vais pas quitter la machine virtuelle - elle est sous LINUX CentOS, je ne vais pas passer à un hôte Windows.

c'est exactement l'hôte qui travaille 24/7 !

----

j'ai fait exprès de le faire sur une machine virtuelle et j'ai alloué 2 des 3 cœurs de l'hôte à la machine virtuelle.

J'ai maintenant 47 cœurs dans le pool - dont seulement ces deux derniers

sont sur la même machine

64x 3 cœurs amd

c'est-à-dire que sur les 3 cœurs physiques, deux sont partagés une seconde fois mais à partir d'un système d'exploitation différent.

Renat, je ne comprends pas bien pourquoi ce serait un problème.

Si cela aide à tester et à trouver une solution - permettre l'utilisation de machines virtuelles sera une bonne chose

Je peux en faire deux de plus si nécessaire.

A propos - sur 47 cœurs, seuls ces deux-là ont été distribués 2 fois.

les autres sont tous physiquement une fois - même ceux sur une grande machine i7 sont tous sur des machines virtuelles mais une seule fois

--

 
Le problème est que vous ne pouvez pas facturer "par tâche". Le paiement est effectué pour les ressources utilisées = performance du CPU (PR) * temps.

Dans cette formule, il est essentiel d'avoir une estimation précise de la performance, ce qui est facile à truquer dans les virtualisations.
 

Sur l'un des ordinateurs, j'ai installé et exécuté des agents de test, mais ils ne fonctionnent pas. Plus précisément, le temps CPU est périodiquement occupé par les services de metatester (jusqu'à 100% par cœur), mais le gestionnaire des agents affiche des zéros (tâches et temps ; local et cloud) et sur le site mql5 ces agents ont des zéros dans le profil (mais les agents sont visibles dans le profil, pendant l'une des exécutions l'un d'entre eux avait une tâche puis une autre). Lorsque vous accédez à ces agents depuis MetaTrader5, vous recevez des messages indiquant qu'ils sont occupés.

Voici le contenu du répertoire MT5tester (à partir duquel j'exécute metatester.exe) et les sous-répertoires et fichiers joints :

MT5tester
    Tester
        Manager
            logs
                20110723.log
                20110725.log
            common.ini
    metatester.exe

Je joins ces fichiers. Comme vous pouvez le constater, le répertoire Tester ne contient pas les répertoires Agents* qui sont normalement créés.

Version metatester build 479, Windows Server 2003 R2 avec SP2, Enterprise Edition, anglais, 32 bit ; Intel Core 2 Duo T9300 2.5 Ghz CPU ; 4 GB RAM. Le répertoire MT5tester et tous les sous-répertoires et fichiers pour tous les utilisateurs (Everyone) est réglé sur Full Control, auparavant il est réglé sur Full Control pour l'utilisateur qui exécute metatester.exe (et se connecte à Windows) et pour l'utilisateur SYSTEM qui exécute les services metatester.

Dossiers :
pack.zip  2 kb
 

Les agents étaient enregistrés dans le MQL5 Cloud Network et travaillaient sur des tâches du réseau. À ce stade, les agents ne pouvaient pas être connectés à distance, car ils étaient très occupés.

Voici leurs statistiques incomplètes (tous les champs ne sont pas encore mis à jour) - environ 63 000 tâches ont été effectuées :

Intel Core2 Duo T8300 @ 2.40GHz, 3581MB


0 32483 0 2011.06.08 2011.07.25
Intel Core2 Duo T8300 @ 2.40GHz, 3581MB


0 29861 0 2011.06.08 2011.07.25


Les répertoires Agents ont été automatiquement supprimés lors de la désinstallation de ces agents (ils nettoient leurs propres déchets). Voici les lignes du journal de suppression de l'agent :

RQ    0    Tester    11:12:33    MetaTester 5 build 479 (12 Jul 2011)
HQ    0    Startup    11:12:33    initialization finished
NH    0    Service    11:12:47    Service 'MetaTester-1' stop initialized
MP    0    Service    11:12:50    Service 'MetaTester-1' stopped in 3031 ms
NH    0    Service    11:12:50    Service 'MetaTester-1' successfully uninstalled
PS    0    Service    11:12:51    Service 'MetaTester-2' stop initialized
KK    0    Service    11:12:56    Service 'MetaTester-2' stopped in 5500 ms
OS    0    Service    11:12:56    Service 'MetaTester-2' successfully uninstalled


En général, tout fonctionne comme prévu.

 
Renat:

Les agents étaient enregistrés dans le MQL5 Cloud Network et travaillaient sur des tâches du réseau. À ce stade, les agents ne pouvaient pas être connectés à distance, car ils étaient très occupés.

...

Les répertoires Agents ont été automatiquement supprimés lors de la désinstallation de ces agents (ils nettoient leurs propres déchets). Voici les lignes du journal concernant la suppression des agents :

...

C'est-à-dire d'autres agents :

CPU PR Tâches Revenu Créé Activité
Intel Core2 Duo T9300 @ 2.50GHz, 4094MB 0 0 0 2011.06.08 2011.06.08
Intel Core2 Duo T9300 @ 2.50GHz, 4094MB 0 2 0 2011.06.08 2011.07.22

Les répertoires Agents n'ont jamais été affichés alors que les services Metatester étaient en cours d'exécution (je suis au courant de la suppression des données lors de la désinstallation).

 
zdd:

C'est-à-dire d'autres agents :

CPU PR Tâches Revenu Créé Activité
Intel Core2 Duo T9300 @ 2.50GHz, 4094MB 0 0 0 2011.06.08 2011.06.08
Intel Core2 Duo T9300 @ 2.50GHz, 4094MB 0 2 0 2011.06.08 2011.07.22

Les répertoires Agents ne sont jamais apparus alors que les services metatester étaient en cours d'exécution (je suis conscient du fait que la désinstallation supprime les données).

Ce sont les mauvais agents - regardez les dates de création et de dernière activité.

Les bons à regarder sont les agents que j'ai cités - leurs dates de dernière activité sont exactement les mêmes que leur date actuelle et leurs journaux de désinstallation.

ps : installez à nouveau les agents et regardez les répertoires et leurs logs personnels

 
Renat:

Ce sont les mauvais agents - regardez les dates de création et de dernière activité.

Il est correct de regarder les agents que j'ai cités - leurs dates de dernière activité sont exactement les mêmes que leur date actuelle et leurs journaux de désinstallation.

ps : installez à nouveau les agents et regardez les répertoires et leurs logs personnels

Les agents que vous avez cités fonctionnent sur un autre ordinateur (avec un processeur T8300), sans aucun problème.

Vérifiez à nouveau (sur un ordinateur équipé du processeur T9300).

1. J'ai désinstallé les agents. Répertoire MT5tester désinstallé avec tout son contenu.

2. J'ai désinstallé tous les agents du profil, qui se trouvaient sur l'ordinateur avec le T9300.

3. j'ai créé le dossier MT5proba et lui ai donné un accès complet pour tout le monde.

J'y ai copié le fichier metatester.exe (build 479) (a été obtenu par LiveUpdate dans MetaTrader5). 5.

5. exécute metatester.exe, spécifie le compte, crée deux agents sur de nouveaux ports (l'un d'eux n'a pas démarré pour une raison inconnue, donc en crée deux autres, supprime ceux qui ne sont pas nécessaires). Je joins le fichier journal.

6. J'ai démarré MetaTrader5 sur un autre ordinateur, supprimé tous les agents distants dans le testeur de stratégie, créé deux nouveaux agents (adresse IP, port et mot de passe spécifiés). J'ai sélectionné chacun d'entre eux comme agent actuel et j'ai effectué le test unique d'une EA. Le type de CPU a été détecté, mais le test n'a pas été exécuté.

Testeur de stratégie MetaTrader5

Je montre le journal :

CS      0       zddbase 15:38:19        connecting to 192.168.0.33:4001
CD      0       zddbase 15:38:19        connected
EM      0       zddbase 15:38:19        authorized (agent build 479)
II      0       Tester  15:38:19        EURUSD,M1 (MetaQuotes-Demo): testing of Experts\proba.ex5 from 2011.07.10 00:00 to 2011.07.16 00:00 to be started
NF      0       zddbase 15:38:19        common synchronization completed
HL      0       zddbase 15:38:19        3768 bytes of group info loaded
DM      0       zddbase 15:38:19        1478 bytes of tester parameters loaded
MJ      0       zddbase 15:38:19        3256 bytes of input parameters loaded
FN      0       zddbase 15:38:19        initial deposit 10000.00 USD, leverage 1:100
CE      0       zddbase 15:38:19        successfully initialized
MO      0       zddbase 15:38:19        13 Kb of total initialization data received
QF      0       zddbase 15:38:19        Intel Core2 Duo  T9300 @ 2.50 GHz, 4094 MB
FQ      2       zddbase 15:38:19        symbol EURUSD synchronization error
QD      0       zddbase 15:38:19        cannot get history EURUSD,M1
HO      0       zddbase 15:38:20        connection closed
CD      0       zddbase 15:38:34        connecting to 192.168.0.33:4002
MF      0       zddbase 15:38:35        connected
CL      0       zddbase 15:38:35        authorized (agent build 479)
GK      0       Tester  15:38:35        EURUSD,M1 (MetaQuotes-Demo): testing of Experts\proba.ex5 from 2011.07.10 00:00 to 2011.07.16 00:00 to be started
LD      0       zddbase 15:38:35        common synchronization completed
JN      0       zddbase 15:38:35        3768 bytes of group info loaded
NK      0       zddbase 15:38:35        1478 bytes of tester parameters loaded
KM      0       zddbase 15:38:35        3256 bytes of input parameters loaded
LH      0       zddbase 15:38:35        initial deposit 10000.00 USD, leverage 1:100
MS      0       zddbase 15:38:35        successfully initialized
CM      0       zddbase 15:38:35        13 Kb of total initialization data received
OD      0       zddbase 15:38:35        Intel Core2 Duo  T9300 @ 2.50 GHz, 4094 MB
LS      2       zddbase 15:38:35        symbol EURUSD synchronization error
OG      0       zddbase 15:38:35        cannot get history EURUSD,M1
PQ      0       zddbase 15:38:35        connection closed

Pendant l'optimisation :

EF      1       Tester  15:43:50        genetic mode turned on due to 4443670 passes, to use complete algorithm decrease amount of optimized parameters
LJ      0       Tester  15:43:50        Experts\proba.ex5 on EURUSD,M1 from 2011.07.10 00:00 to 2011.07.16 00:00
NL      0       Tester  15:43:50        genetic optimization started
DK      0       Tester  15:43:50        size of initial task pack is 128
JP      0       zddbase 15:43:50        connecting to 192.168.0.33:4001
IG      0       zddbase 15:43:50        connecting to 192.168.0.33:4002
PS      0       zddbase 15:43:50        connected
NO      0       zddbase 15:43:50        connected
HE      0       zddbase 15:43:50        authorized (agent build 479)
PO      0       zddbase 15:43:50        authorized (agent build 479)
NP      0       zddbase 15:43:50        genetic pass (0, 2628127, 1) started
HI      0       zddbase 15:43:50        genetic pass (1, 2957422, 1) started
GQ      0       zddbase 15:43:50        common synchronization completed
GJ      0       zddbase 15:43:50        common synchronization completed
NN      2       zddbase 15:43:50        genetic pass (0, 2628127) tested with error "no history"
KF      0       Tester  15:43:50        genetic pass (0, 2628127) returned to queue
QR      0       zddbase 15:43:50        connection closed
PG      0       zddbase 15:43:50        connecting to 192.168.0.33:4001
HS      0       zddbase 15:43:50        connected
RQ      0       zddbase 15:43:50        authorized (agent build 479)
LJ      0       zddbase 15:43:50        genetic pass (0, 2628127, 1) started
QS      0       zddbase 15:43:50        common synchronization completed
JI      2       zddbase 15:43:50        genetic pass (1, 2957422) tested with error "no history"
GM      0       Tester  15:43:50        genetic pass (1, 2957422) returned to queue
GJ      0       zddbase 15:43:50        connection closed

Les journaux montrent que l'agent n'a pas réussi à charger l'historique. Rien n'a changé dans l'arborescence des répertoires des agents par rapport à ce que j'ai donné précédemment (pas de répertoires Agents*, pas d'historique).

Les agents ne sont pas encore apparus dans le profil mql5, ils ne chargent pas encore le CPU (cela fait 1 heure qu'ils ont commencé)...