MT5 y la velocidad en acción - página 55

 
fxsaber:

La tarea consiste en forzar al terminal a liberar memoria.

He comprobado mis suposiciones

No libera memoria, o mejor dicho no libera memoria completamente de una vez - libera memoria para la variable local - clase/estructura , pero en la memoria terminal habrá una copia de los ticks


every Sleep(1000) - La memoria se libera SIEMPRE después del 9º deslizamiento, es decir, se trata de una restricción artificial de ahorro de ticks en el terminal, no en el EA

Aparentemente, no hay manera - sólo si los desarrolladores cambian la lógica de almacenamiento de estos datos

 
fxsaber:
Un ejemplo de un EA que acabará con la mayoría de los VPS.

Lo ejecuté en MetaQuotes-Demo en una tableta Atomic con 4Gb de memoria - el resultado:

2020.10.13 22:43:51.219 0018 (USDJPY,H1)        CopyTicksRange(_Symbol,Ticks,COPY_TICKS_ALL,(long)inFrom*1000) = 1747129
2020.10.13 22:43:51.294 0018 (USDJPY,H1)        TerminalInfoInteger(TERMINAL_MEMORY_USED) = 913
2020.10.13 22:43:51.995 0018 (EURUSD,H1)        CopyTicksRange(_Symbol,Ticks,COPY_TICKS_ALL,(long)inFrom*1000) = 1976814
2020.10.13 22:43:52.071 0018 (EURUSD,H1)        TerminalInfoInteger(TERMINAL_MEMORY_USED) = 1335
2020.10.13 22:43:53.415 0018 (AUDUSD,H1)        CopyTicksRange(_Symbol,Ticks,COPY_TICKS_ALL,(long)inFrom*1000) = 1964168
2020.10.13 22:43:53.452 0018 (AUDUSD,H1)        TerminalInfoInteger(TERMINAL_MEMORY_USED) = 1465
2020.10.13 22:43:54.554 0018 (CHFJPY,H1)        CopyTicksRange(_Symbol,Ticks,COPY_TICKS_ALL,(long)inFrom*1000) = 1784317
2020.10.13 22:43:54.607 0018 (CHFJPY,H1)        TerminalInfoInteger(TERMINAL_MEMORY_USED) = 1483
2020.10.13 22:43:56.546 0018 (EURNZD,H1)        CopyTicksRange(_Symbol,Ticks,COPY_TICKS_ALL,(long)inFrom*1000) = 2729847
2020.10.13 22:43:56.611 0018 (EURNZD,H1)        TerminalInfoInteger(TERMINAL_MEMORY_USED) = 1483
2020.10.13 22:43:58.199 0018 (EURJPY,H1)        CopyTicksRange(_Symbol,Ticks,COPY_TICKS_ALL,(long)inFrom*1000) = 2288326
2020.10.13 22:43:58.278 0018 (EURJPY,H1)        TerminalInfoInteger(TERMINAL_MEMORY_USED) = 1484

Ningún desastre - Opera con múltiples pestañas incluso tarda más en cargar.

¿Qué estoy haciendo mal?

 
A100:

Lo ejecuté en MetaQuotes-Demo en una tableta Atomic con 4Gb de memoria - el resultado:

Ningún desastre - Opera con múltiples pestañas tarda más en cargar.

¿Qué estoy haciendo mal?

No hay suficientes garrapatas. Mira el número en mis registros.

 
fxsaber:

No hay muchas garrapatas. Mira la cantidad en mis registros.

Alguna función extraña CopyTicksRange - aumentó el período de consulta muchas veces, pero no se añaden ticks y no se devuelven errores, GetLastError es cero después de la consulta

 

El período de consulta se fijó en el 01.06.20 - como resultado, después de reiniciar la tableta y el terminal, el resultado fue el siguiente (sólo se dejó la información relevante para la salida):

2020.10.14 04:03:31.203 0018 (EURGBP,H1)        Тиков=6855538, Памяти=2202
2020.10.14 04:03:35.271 0018 (EURCHF,H1)        Тиков=6385392, Памяти=2225
2020.10.14 04:03:41.031 0018 (EURAUD,H1)        Тиков=9317261, Памяти=2916
2020.10.14 04:03:44.068 0018 (CHFJPY,H1)        Тиков=6586851, Памяти=2528
2020.10.14 04:03:47.109 0018 (AUDUSD,H1)        Тиков=6214303, Памяти=2157
2020.10.14 04:03:50.634 0018 (EURUSD,H1)        Тиков=6946988, Памяти=2157
El número de garrapatas es comparable
 
He fijado el período de 01.01.20, Sleep(15000). Resultado:
2020.10.14 04:21:30.297 0018 (EURGBP,H1)        Тиков=17354722, Памяти=6523
2020.10.14 04:21:40.916 0018 (AUDUSD,H1)        Тиков=13644101, Памяти=6525
2020.10.14 04:21:57.025 0018 (EURAUD,H1)        Тиков=21763832, Памяти=5520
2020.10.14 04:22:08.628 0018 (CHFJPY,H1)        Тиков=16150733, Памяти=4729
2020.10.14 04:22:19.463 0018 (EURUSD,H1)        Тиков=18471813, Памяти=3462
2020.10.14 04:22:29.411 0018 (EURCHF,H1)        Тиков=16227930, Памяти=2514

Sólo un recordatorio: sólo tengo 4 Gb de memoria, incluida la memoria de vídeo, es decir, sólo 3,9-1,7 están realmente libres y sólo se necesitan 6,5 por tarea, y todo es lento, ¡pero funciona!

 

Para trabajar en masa, pon más memoria.

4gb (precio de 20 euros) no es nada bueno en 2020 cuando se trata de análisis e investigación.

 

Lanzamiento de la beta 2652, de importancia:

  • correcciones en las expresiones de la Lista de Vigilancia del depurador
  • Las interrupciones de compilación han mejorado (un 22%).
  • Acceso drásticamente acelerado a SymbolInfoTick
  • Mejoras en el informe del perfilador
  • Prohibición de operar al lanzar Asesores Expertos basados en marcos en el probador
  • se ha corregido el restablecimiento de los parámetros al pulsar el botón "Reset" en los parámetros del indicador "Ichimoku Kinko Hyo

 
Renat Fatkhullin:

Lanzamiento de la beta 2652, de importancia:

  • correcciones en las expresiones de la Lista de Vigilancia del depurador
  • mejora de las interrupciones de compilación (en un 22%)
  • Acceso drásticamente acelerado a SymbolInfoTick
  • Mejoras en el informe del perfilador
  • Prohibición de operar al lanzar Asesores Expertos basados en marcos en el probador
  • se ha corregido el restablecimiento de los parámetros al pulsar el botón "Reset" en los parámetros del indicador "Ichimoku Kinko Hyo

Las variables predefinidas, para el tick actual, serían probablemente mejores.


 
Señores prog...
Lea primero acerca de la asignación de memoria en el ordenador, a continuación, cómo y por qué medios se hace, a continuación, cómo limpiar y leer desde y hacia no es difícil. Al menos es posible hacer sugerencias más razonables a los desarrolladores
Razón de la queja: