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
¿Qué hay de malo en una matriz normal de ints? ¿Por qué el tongs....
Porque no sabemos de antemano cuántas operaciones hará el EA. Tenemos que asignar memoria para el array por adelantado, pero no sabemos cuánto.
Así que teníamos que encontrar una solución que fuera rápida y breve y que no ocupara una memoria innecesaria.
La verdad es que no.
...
De nuevo, imagina que en lugar de una cadena utilizas una clase para almacenar una matriz dinámica de gráficos - ¿y crees que esto es rápido?
No conozco el funcionamiento interno de las funciones de cadena, pero las mediciones de velocidad de las funciones muestran que se tarda menos de 100 microsegundos en encontrar y devolver un medjic de una cadena de miles de medjics.
Eso me parece muy rápido. Es poco probable que sea más rápido.
Porque no sabemos de antemano cuántas operaciones hará el EA. Necesitamos asignar memoria para el array por adelantado, pero no sabemos cuánto.
Por eso teníamos que encontrar una solución que fuera rápida y breve y que no ocupara una memoria innecesaria.
Sobre la rapidez. Mide la velocidad de extracción de los 24000 mil medjics. Se llevará una desagradable sorpresa.
Hecho:
Su ejemplo ya no se puede arreglar :)
¿Qué pasa si no tienes suficiente tamaño de fila?
Su ejemplo puede tener 32767 registros (transacciones), así que intente comparar el último magik escrito y leído.
Una vez más, no entiendes de qué estamos hablando. El sistema de negociación (MetaTrader o bolsa) asigna un número de operación. Por número de trato no se entiende el número de serie del trato, sino precisamente el ticket, devuelto por la funciónHistoryDealGetTicket. Así que, teniéndolo en cuenta, modifica tu ejemplo.
No es un problema. Mañana haré una segunda versión que funcione con el billete.
Esta variante también es conveniente en el comercio.
En la cuenta rápida. Mide la velocidad de recuperación de los 24.000.000 de medjits. Te llevarías una desagradable sorpresa.
Bueno, en un momento dado, sólo necesitamos un medjic, ¿no?
Extraer un medjack, acceder a cualquier información relacionada con el pedido.
¿Por qué tenemos que extraer 24.000 medjiks a la vez?
¿Qué demonios estoy haciendo aquí? ¿Con quién estoy perdiendo el tiempo? Será mejor que vaya a tomar un trago más fuerte.
p.s. Oh, sí, tienes un error más. Si MathRand en la tercera llamada devuelve, por ejemplo, el número 1000 y escribe _3_1000_, ¿qué tipo de medjic se encontrará para un trato con el número ordinal 1000?Tu ejemplo no se puede arreglar ahora :)
¿Qué pasa si no tienes suficiente tamaño de fila?
Su ejemplo puede tener 32767 registros (transacciones), así que intente comparar el último magik escrito y leído.
Gracias por señalar el límite de longitud de las líneas.
Puedes empezar a escribir la segunda línea. Luego el tercero y así sucesivamente... :)
No conozco la implementación interna de las funciones de cadena, pero una medición del tiempo de ejecución de la función muestra que se tarda menos de 100 microsegundos en encontrar y devolver un medjic de una cadena total de miles de medjics.
Creo que es muy rápido. No creo que pueda ser más rápido.
bueno, en pocas palabras una cadena de un carácter es unchar con algún código de 0 a 255 y pesa 1 byte... y tiene asignada la memoria suficiente para que quepan 256 valores, 257 no caben ahí, volverá a la primera.
En cualquier página, cada carácter es un número del 0 al 255... así que tomamos el número 10000000 - pesa 4 bytes, lo convertimos en la cadena "10000000" luego para cada carácter asignamos memoria como para un gráfico individual de 0 a 255... 8 bytes en total. No hay ahorro de memoria en ninguna parte.