Teoría de la aceleración del EA cuando se utiliza un indicador personalizado (función - iCustom) - página 6

Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
Alexander Laur, es decir, mientras se ejecute el script/asesor la memoria está reservada y no se puede borrar - triste conclusión.
¿Es posible que la secuencia de comandos ejecute otra secuencia de comandos, y que luego el cierre de la secuencia de comandos en ejecución haga que se borre la memoria, o se consideraría como un entorno de procesamiento complejo?
Alexander Laur, es decir, mientras se ejecute el script/asesor, la memoria está reservada y no se puede limpiar - triste conclusión.
¿Es posible ejecutar otro script, y luego cerrar el script que se está ejecutando debería dar lugar a la limpieza de la memoria, o se considerará como un entorno de procesamiento de datos complejo?
Inmediatamente sugerí"abrir el gráfico con el Asesor Experto en marcha", se puede hacer - ChartOpen + ChartApplyTemplate
La única duda es si la memoria se liberará al cerrarlo (borrar el Asesor Experto).
Compruébalo.
Inmediatamente sugerí"abrir el gráfico con el Asesor Experto en marcha", se puede hacer - ChartOpen + ChartApplyTemplate
La única duda es si la memoria se liberará al cerrarlo (borrar el Asesor Experto).
Compruébalo.
Pregunta adicional, ¿la elección del tipo de búfer real para el cálculo dentro del indicador afecta al tamaño del búfer gráfico?
Tipo
Tamaño en bytes
Valor mínimo positivo
Valor máximo
Exactitud de la representación
Analógico en C++
float
4
1.175494351e-38
3.402823466e+38
7 dígitos significativos
float
doble
8
2.2250738585072014e-308
1.7976931348623158e+308
15 dígitos significativos
doble
Y una idea loca, qué tal si en vez de un buffer gráfico usamos TextOut - sólo que no sé cómo leer datos de él...
Pregunta adicional, ¿la selección del tipo de búfer real para el cálculo dentro del indicador afecta al tamaño del búfer gráfico?
¿Con el término "buffer gráfico" te refieres a la visualización gráfica de un indicador normal?
La pregunta es si es posible afectar el tamaño de la memoria asignada al buffer gráfico en una barra si se utiliza float en lugar de double en el código del indicador para los cálculos.
//---- buffers
double Vy[];
double bufDirSoft[];
extern int n=3;
extern int BarsN=100;
//----
int ExtCountedBars=0;
La pregunta es si es posible afectar el tamaño de la memoria asignada al buffer gráfico en una barra si se utiliza float en lugar de double en el código del indicador para los cálculos...
No. Hay una función mágica que desplazará todos los intentos:
Este mecanismo está integrado en el propio lenguaje de Terminal. Pero es una idea interesante...
Además, ¿cómo se puede saber si la memoria se ha agotado, hay alguna función?
¿A qué te refieres con quedarse sin memoria? :-)
Hay algo aquí:
https://www.mql5.com/ru/docs/constants/environment_state/terminalstatus#enum_terminal_info_integer
En mi opinión, la forma más eficaz de gestionar la memoria para los recursos del indicador es minimizar el parámetro "Max bars in history" (Settings --> Charts). Que yo recuerde, el mínimo para el parámetro es de 5k.
Además, ¿cómo puedo saber si la memoria está agotada, hay alguna función?
Es posible recuperar información sobre el terminal
TERMINAL_MEMORY_TOTAL
Tamaño de la memoria, disponible para el proceso del terminal (agente), en MB
int
TERMINAL_MEMORIA_DISPONIBLE
El tamaño de la memoria disponible del proceso terminal (agente) en MB
int
TERMINAL_MEMORY_USED
Tamaño de la memoria, utilizada por el terminal (agente), en MB
int