Probador de Estrategias de MetaTrader 5 y MQL5 Cloud Network - página 30

 
Renat:

Me temo que con 24 agentes en 8 núcleos (4 esencialmente + hypertrading) gastarás todo el rendimiento de la CPU en proporcionar infraestructura.

Exponer un número excesivo de agentes hace que su índice de rendimiento de relaciones públicas descienda drásticamente, lo que se traduce en un múltiplo de la tasa.

Lo tengo todo configurado con 8 EAs. Gracias por la información.
 
papaklass:

Hace tiempo que no uso la nube. Decidí utilizarlo en la selección de parámetros. El trabajo de la nube fue gratamente sorprendente.

Si se tritura el sistema de red distribuida durante mucho tiempo, el resultado es bueno.
 
Renat:
Si se tritura un sistema de red distribuida durante mucho tiempo, se obtiene un buen resultado.
PF      0       MQL5 Cloud Europe 2     00:24:16        genetic pass (264, 0, 188) started
JL      0       MQL5 Cloud Europe 2     00:29:07        connection closed
ID      0       MQL5 Cloud Europe 2     00:29:07        connecting to 3.agents.mql5.com:443
GL      0       Tester  00:29:07        cloud server MQL5 Cloud Europe selected for genetic computation
KO      0       MQL5 Cloud Europe 2     00:29:07        connected
JP      0       MQL5 Cloud Europe 2     00:29:10        authorized (server build 696)
RG      0       Tester  00:30:11        Best result 32.12073652718463 produced at generation 20. Next generation 21
KJ      0       MQL5 Cloud Europe       00:30:11        common synchronization completed
GN      0       MQL5 Cloud Europe       01:57:24        connection closed
CI      0       MQL5 Cloud Europe 2     01:57:24        connection closed
MS      3       Tester  01:57:24        genetic pass (21, 285) not processed and added to task queue
II      3       Tester  01:57:24        genetic pass (21, 498) not processed and added to task queue
PO      3       Tester  01:57:24        genetic pass (21, 499) not processed and added to task queue
GQ      0       MQL5 Cloud Europe       01:57:24        genetic pass (21, 285) returned to queue
NF      0       Tester  01:57:24        genetic pass (21, 499) already processed
KN      0       Tester  01:57:24        genetic pass (21, 498) already processed
OJ      0       Core 1  01:57:24        genetic pass (285, 0, 1) started
PS      0       Core 2  01:57:24        genetic pass (285, 0, 1) started
Las tareas se emitieron a los agentes locales + remotos + la nube. Colgando un pase en la nube. Después de casi una hora y media de espera, se desconectó la nube y las tareas se transfirieron a los agentes locales. La velocidad de la carrera es de 1 a 3 minutos:
DP      0       Core 1  02:14:59        genetic pass (23, 256) returned result 4.45 in 45 sec
LH      0       Core 1  02:14:59        genetic pass (273, 0, 1) started
CP      0       Core 5  02:14:59        genetic pass (23, 260) returned result 2.64 in 46 sec
OH      0       Core 5  02:14:59        genetic pass (274, 0, 1) started
PS      0       Core 6  02:15:01        genetic pass (23, 261) returned result 3.37 in 48 sec
HH      0       Core 6  02:15:01        genetic pass (278, 0, 1) started
KQ      0       Core 8  02:15:03        genetic pass (23, 264) returned result -0.01 in 50 sec
CG      0       Core 8  02:15:03        genetic pass (279, 0, 1) started
PP      0       Core 2  02:15:06        genetic pass (23, 257) returned result -0.01 in 52 sec
DG      0       Core 2  02:15:06        genetic pass (280, 0, 1) started
NP      0       Core 3  02:15:07        genetic pass (23, 258) returned result -0.01 in 53 sec

En definitiva, es imposible que sea una hora y media.

P. S. Giró la nube sobre la marcha. Debido a la pérdida de Internet, los agentes remotos se retiraron. Luego no quisieron conectarse (estado autorizado; al menos dos generaciones genéticas no se conectaron) - aparentemente, el probador decidió que hay suficiente que hacer en la nube, y dejó descansar a los agentes libres. Desconecta la nube. Los agentes remotos están conectados. Volvió a encender la nube. Terminó con un colgado.

 

La red necesita ser un poco finalizada para evitar tales situaciones (por ejemplo, para recordar el tiempo máximo de paso y si la espera de paso dura 2 veces más que el tiempo máximo de paso - para iniciar el mismo proceso en el mejor núcleo de local (o remoto)).

+ TerminalInfoInteger(TERMINAL_MEMORY_AVAILABLE) necesita ser refinada

+ la velocidad de la genética depende de la velocidad del núcleo más débil - si mis núcleos tienen PR - 160-180, y las tareas en la nube se distribuyen a los núcleos hasta 100. Como resultado, en cada generación, mis núcleos tienen que estar inactivos durante un tiempo considerable y esperar las respuestas de la nube para generar una nueva población. Creo que debería eliminar el límite de 100PR y dar prioridad a aquellos agentes cuyo PR sea mayor que el PR del núcleo local más débil (+o núcleo remoto, si está conectado). Si no es así, hay que equilibrar la carga de alguna manera. Por ejemplo, si suponemos que todos los pases se ejecutan en el mismo núcleo a la misma velocidad (en la vida, por supuesto, no es así, pero muchos expertos con algunas suposiciones, puede ser llamado estable en el tiempo de prueba, independientemente de los parámetros). Si el PR del núcleo local es 150 y el PR del núcleo en la nube es 100, entonces el agente local debería recibir 1,5 veces más tareas que el agente en la nube. Alternativamente, si el PR es más bajo, no dé a los agentes en la nube una tarea a la vez, sino que dé una tarea a un rango más amplio de agentes. En este caso, el tiempo de inactividad sería mínimo. En general, me gustaría que se avanzara en esta cuestión

 

En las últimas 12 horas, la red se ha colgado tres veces más :(

(Y hay agentes con PR < 100 en las revistas de genética)

 
Por cierto, ¿alguien ha probado a compartir agentes en un ssd? Teniendo en cuenta la forma en que mi disco duro comienza a crujir en 8 agentes, incluso sin tareas, tengo la sospecha de que el recurso ssd se está agotando rápidamente. Y cuando se prueba un EA bastante ligero, la velocidad de computación, la velocidad del disco duro empieza a quedarse estancada. Cuántos terabytes se bombean a la caché es una buena pregunta)
 
sion:
Por cierto, ¿alguien ha probado a compartir agentes en un ssd? Teniendo en cuenta que mi disco comienza a crujir en 8 agentes, incluso sin tareas, tengo la sospecha de que el recurso ssd se está agotando rápidamente. Y cuando se prueba un EA bastante ligero, la velocidad de computación, la velocidad del disco duro empieza a quedarse estancada. Cuántos terabytes se bombean a la caché es una buena pregunta)

Existe tal letra en el alfabeto (me refiero a ssd), pero no he hecho pruebas específicas: ya que el servidor con tal dispositivo está en la otra punta de la ciudad. Pero, en mi opinión, en cualquier sistema hay una caché de disco, que suaviza el acceso frecuente al disco.

 
Me pregunto quién ha destinado tantos recursos para esta nube, el desgaste del sistema con el consumo de electricidad, claramente más de 2-3 céntimos al día. Varias veces traté de proporcionar recursos, pero es una causa perdida si menos de 10Gb en el disco (a 9GB de RAM), con un poco de genética de la carga, el sistema sólo cuelga estúpida, incluso si no comer todo el espacio libre (RAM, etc, hasta el intercambio), un higo disco duro trata de bombear la memoria caché, lo que lleva a los frenos salvajes.
 
No escribo una pregunta e inmediatamente desaparece.
Archivos adjuntos:
Picture_61.png  585 kb
 

Decidí optimizar una rejilla simple (temporizador 30 seg, nuevo control de barra m1) en todos los ticks para dos pares. Mis 4 núcleos i5 (PR=160-170) y 8 núcleos i7 (PR=170-180) optimizaron durante unas 90 (!) horas.

Luego resultó que los pasajes de i5 son probados 2 veces más lentos (aunque, como ya he escrito varias veces antes, era viceversa - i5 + winxp64 era más rápido que i7 + win7x64). Al principio, reduje la memoria: el i7 tiene más.

Entonces, accidentalmente, eché un vistazo al administrador de tareas y vi que los agentes tienen la prioridad más baja (Baja). Y lo tengo en ambas máquinas. Y aunque he conseguido subir la prioridad a Normal en win7, winxp64bit no lo permite por alguna razón. Durante medio día con las nuevas prioridades en el i7, mi tiempo de prueba se redujo (aparentemente :)) en varias horas.

Estos "retrasos" parecen observarse en las dos últimas compilaciones (o tal vez sólo me lo parece a mí).

Y la prioridad baja es demasiado cruel - si el equipo al menos 12 horas al día puede dar la máxima prioridad a los agentes.

En general, pensé que la prioridad de alguna manera cambia automáticamente dependiendo de la carga de recursos, pero parece que no cambia por sí mismo :(

Razón de la queja: