Errores, fallos, preguntas - página 3036

 
Anton:

Esto lo proporciona el terminal.

Sí, así es.

Anton, una función separada para obtener todos los M1(solo M1) sin importar el parámetro MAX_BARS sin cachear y guardar los datos en el disco es muy faltante. Esto daría al programador nuevas oportunidades para formar su propia estructura de datos históricos.
Se accede a todos los ticks, pero no a M1 si MAX_BARS != Unlimited. El problema no se plantearía si todos los ticks cubrieran toda la historia de M1, pero no es así.
 
Nikolai Semko:
Anton, realmente falta una función separada para obtener todos los M1(solo M1) sin importar el parámetro MAX_BARS sin guardar los datos en el disco. Esto daría al programador nuevas posibilidades para formar su propia estructura de datos históricos.
Se accede a todos los ticks, pero no a M1 si MAX_BARS != Unlimited. La pregunta no se plantearía si todos los ticks cubrieran toda la historia de M1, pero no es así.

queda por ver cuántos usuarios o programadores lo utilizarán? - activar las propiedades del gráfico ilimitado en la configuración del terminal y utilizar

hasta ahora parece que "el desarrollador viene y enciende la configuración ilimitada para mí si no hace nuevos pluses"

 
Igor Makanu:

lo único que queda por saber es cuántos usuarios o programadores lo utilizarán. - activar las propiedades del gráfico ilimitado en la configuración del terminal y utilizar

hasta ahora parece que "el desarrollador viene y enciende la configuración ilimitada para mí si no hace nuevos peluches"

La opciónilimitada es muy cara para todo el terminal. Inmediatamente, el consumo de espacio en disco y de tráfico se dispara. Pero sisólo necesitoUnlimited para una herramienta y sólo una vez?
Después de todo, mis archivos de datos históricos ocupan 5 veces menos espacio en el disco en comparación con los regulares, y al mismo tiempo son más informativos, porque contienen el tiempo para el Alto y para el Bajo y todos los TFs ya calculados y no es necesario calcularlos cada vez sobre la marcha.

Te aseguro
, Igor, que si publico una librería así en BE, muchos programadores empezarán a usarla o a crear algo similar viendo su eficacia.
¿Y si también es un producto en el Mercado?
¿Tengo que pedirles a todos que habiliten esteUnlimited, sabiendo que al hacerlo los pondré muy en tráfico y espacio en disco?

Creo que mi petición es perfectamente adecuada, y que no requiere muchos recursos para implementarla, ya que todo existe tal cual. Es un asunto de 10-15 minutos.
Al fin y al cabo, cuando max_bars = 1000 y se solicitan 1000 barras W1, todo el historial de M1 se carga de todos modos, y W1 ya se calcula a partir de él, sólo que M1 no se guarda en el archivo.

 
Nikolai Semko:

Porque cuando max_bars = 1000 y se piden 1000 barras W1, se sigue cargando todo el historial de M1 y ya se calcula W1 a partir de él, sólo que M1 no se guarda en el archivo.

¿Cómo es? ¿Cargado, pero no guardado?

 
Andrey Khatimlianskii:

¿Cómo es eso? ¿Cargado, pero no guardado?

Sólo se carga M1 desde el servidor, y cualquier otro TF se genera a partir de él.
No se guardan en el disco más que max_bars de aquellos TF que fueron solicitados programáticamente o por el usuario a través de la selección de TF.
1000 bars W1 son unos veinte años de datos, es decir, se cargará casi toda la historia de M1.
Puedes Andrei comprobar mis palabras. Abra un nuevo símbolo en la visión general del mercado y abra su ventana y active la TF mensual de inmediato. Y verás lo rápido que se descargan los datos.
Pero verás un pequeño archivo en ...MetaQuotes\NTerminal...\Nbases...\Nhistoria...\Ncache\NM1.hc.
Y lo curioso es que los archivos hcc se generarán a lo largo de todos los años y ya pesarán hasta medio gigabyte. El formato hcc significa que ya son descargados por M1, pero no están disponibles para el programador.
Así que tampoco tendrás que descargarlos.
Y a juzgar por el tamaño de la estructura MqlRates = 60 bytes, los archivos hcc no están empaquetados en absoluto. ¡Muy derrochador!

HZ hizo un experimento más atento y descubrió que cuando se solicitan datos de cualquier período, los datos desempaquetados de estos períodos se guardan en archivos hcc (barras de minutos) y los datos se desempaquetan de la RAM al catálogo de la caché sólo al apagar el terminal.
es decir, los plazos se forman y calculan en la memoria y se guardan en la caché de archivos al apagar el terminal. Eso es realmente lógico. Es ilógico mantener los archivos hcc sin empaquetar y no dar acceso a ellos a los programadores.

 
Nikolai Semko:

Bueno, si hay que esperar, se espera, siempre y cuando los desarrolladores vean sentido en ello.... sólo prepárate para esperar, bueno... ¡Pregunté por la sobrecarga de operadores, el administrador dijo que era una característica innecesaria, luego no he tratado con MQL durante 5 años y ahora todo está aquí! ))))

 
Igor Makanu:

Bueno, si eso es lo que se necesita, sólo hay que esperar, siempre y cuando los desarrolladores vean sentido en ello.... sólo prepárate para esperar, bueno... ¡Pregunté por la sobrecarga de operadores, el administrador dijo que era una característica innecesaria, luego no he tratado con MQL durante 5 años y ahora todo está aquí! ))))

Sí, es un espectáculo triste. Estoy de acuerdo.
La razón, como he dicho antes, es la gestión manual de la empresa.

 
Anton:

Esto lo proporciona el terminal.

Sí, así es.

Nikolai Semko:
Anton, lo que falta es una función separada para obtener todos los M1 (sólo M1) sin importar el parámetro MAX_BARS sin guardar los datos en el disco. Esto daría al programador nuevas posibilidades para formar su propiaestructura de datos históricos.
Se accede a todos los ticks, pero no a M1 si MAX_BARS != Unlimited. La pregunta no se plantearía si todos los ticks cubrieran toda la historia de M1, pero no es así.

Es decir, a partir de lo anterior, la solicitud puede incluso simplificarse:
Obtener acceso programático a las barras M1 ya existentes ubicadas (descargadas) en archivos hcc. Puede hacerlo con un comando separado o con los ya existentes.
Si necesito barras de minutos más allá de max_bars, entonces sólo tengo que iniciar la descarga de barras MN o W1, y después de eso estaré seguro... de que ya se han generado los archivos hcc necesarios.

 
es decir, ¿quieres que la capacidad inherente se salte la restricción inherente? )
 
Andrei Trukhanovich:
¿Así que quieres una capacidad inherente para saltarse una limitación inherente? )
No es una limitación.
No tiene sentido restringirlo.
La seguridad no se ve afectada. Tampoco afecta a ningún tipo de recursos; al contrario, es una oportunidad para ahorrar recursos para los programadores.
Esto es un simple ilogismo, que propongo corregir.
Tienes los datos, pero no puedes acceder a ellos.