![MQL5 - Lenguaje de estrategias comerciales para el terminal de cliente MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
Escribe al CD sobre esto también. Como "no todo lo que está en la revisión puede ser elegido en el probador".
No, rebote. Tengo dos terminales abiertos - Alpari, y MK, y cambié de un lado a otro, pero en este último me olvidé de añadir EURGBP a la visión general del mercado.
Estoy intentando crear un array en el script que se comporte como una serie de indicadores. Es decir, cuando aparece una nueva entrada, todo el array se desplaza hacia atrás y la nueva entrada se hace en una posición nula.
Como se dice, ¿por qué?
Tal vez me equivoque, pero es lo primero que me viene a la cabeza: otro fallo en la optimización del lenguaje.
HZZY También pido a los que quieren desplazar los datos usando bucles que no se molesten. Esto funciona bien para matrices de 5...100...1000..., pero no funcionará para matrices más grandes.
Estoy intentando crear un array en el script que se comporte como una serie de indicadores. Es decir, cuando aparece una nueva entrada, todo el array se desplaza hacia atrás y la nueva entrada se hace en una posición nula.
Como se dice ¿por qué?
¿Y si tomamos la clase CArrayInt, e insertamos allí los datos?
Me gustaría poder pasar el array mediante parámetros, mientras que el propio array es privado en la clase.
De nuevo, por lo que recuerdo, este método se dedica a desplazar los datos en el bucle, y es bastante lento.
Estoy intentando crear un array en el script que se comporte como una serie de indicadores. Es decir, cuando aparece una nueva entrada, todo el array se desplaza hacia atrás y la nueva entrada se hace en una posición nula.
Como se dice, ¿por qué?
Tal vez me equivoque, pero es lo primero que me viene a la cabeza: otro fallo en la optimización del lenguaje.
HZZY También pido a los que quieren desplazar los datos usando bucles que no se molesten. Esto funciona bien para matrices de 5...100...1000..., pero no funcionará para matrices más grandes.
En cuanto a "ZZI": ¿sus redimensionamientos no le fragmentan la memoria?
No conozco ninguna otra función (que asigne memoria) en mql5.
HH Y por lo que entendí la dirección de la matriz también es algo puramente virtual.
ZZY Al parecer, no hay que trabajar con la memoria, sino con la virtualización del espacio de direcciones. Y esto también ralentiza el trabajo, el acceso directo es más rápido después de todo.
Me gustaría poder pasar el array a través de parámetros, mientras que el propio array es privado en la clase.
De nuevo, por lo que recuerdo, este método es sólo para cambiar los datos en un bucle y eso es bastante lento.
Tendría que pensar en mejorar las clases de matriz (para mí).
Sí, una inserción virtual en una posición cero estaría bien. Pero no para mover realmente los datos, pues de lo contrario sería largo e ineficiente.
De todos modos, es malo que no puedas trabajar con la memoria directamente, tiene una buena aceleración de la virtualización, incluso la velocidad de C++ es 1,5 veces más rápida si te diriges a una dirección de celda en lugar de un array.
Estoy intentando crear un array en el script que se comporte como una serie de indicadores. Es decir, cuando aparece una nueva entrada, todo el array se desplaza hacia atrás y la nueva entrada se sitúa en la posición cero.
ZZZY le pido a los compañeros que quieren aconsejar a mover los datos por el ciclo de no preocuparse, esta opción funciona bien para las matrices de 5 ... 100 ... 1000 ..., pero en la matriz de tamaño más grande es inaceptable.
Pero ¿puedo sugerir que no se mueva todo el conjunto? :)
Array dinámico, los nuevos datos se escriben al final, el tamaño se cambia/memoriza, y la bandera AsSeries sólo cambia la indexación.
Para el orden normal, es N elementos del array, para el "serial" Tamaño-N-1.