![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
Renat, la pregunta era más bien teórica que práctica.
Para no perderme en la niebla, te remitiré al ejemplo de la ayuda de iFractals. Es cierto que hay un indicador allí, pero simplifiquemos la tarea a un cálculo único del diseño gráfico mediante un script.
Supongamos que quiero averiguar los tiempos de todas las barras fractales superiores en toda la historia (o en su parte sustancial en algún marco temporal medio en el que habrá muchos fractales). ¿He entendido bien, que es mejor perturbar repetidamenteCopyTime en bucle en FrUpBuffer[shift]!=EMPTY_VALUE a una profundidad de 1 elemento:
y obtener un resultado más rápido que comer la historia de una vez con CopyTime por la profundidad de FrUpBuffer:
y luego en el mismo bucle en los mismos if's sólo imprimir los valores de tiempo de la barra fractal?Ambas tareas son idénticas, sólo que las implementaciones son ligeramente diferentes.
Intuitivamente entiendo que es más largo y costoso copiar una enorme cadena de tiempos de barra (tanto fractal como vacía) en un array; por otro lado, es dudoso tirar de CopyTime repetidamente hasta una profundidad de 1 elemento.
Si la primera variante es más rápida, ¿es una ganancia absoluta o todo depende del número total de fractales encontrados (por ejemplo, hay muchos más en TF pequeños)?
Aquíhttps://www.mql5.com/ru/forum/3775/page59#comment_94865 hice una pregunta acerca de poner la declaración, el enlace, la inicialización y otras acciones en múltiples buffers del mismo tipo en un bucle con el fin de reducir el código y mejorar la legibilidad y manejabilidad. Obtuve una respuesta con un ejemplo (clase, estructura) y lo entendí.
Ahora, de acuerdo con el mismo principio, traté de apisonar las asignaciones múltiples de tipo #propiedad:
y se encontró con al menos dos problemas:
1. Se prohíbe el uso de #property en el nivel global, es decir, su uso más temprano no es anterior a OnInit(), pero se sabe que se declara en el nivel global antes que el resto de las funciones;
2. Al intentar asignar propiedades a los indicadores en el bucle de OnInit():
El compilador jura por '#' (como era de esperar): '#property' - token inesperado.¿Podría decirme si la idea es, en principio, factible?
¿Puedes decirme cómo declarar un array bidimensional de arrays?
Algo así:
¿Pueden decirme si es posible declarar una matriz bidimensional de matrices?
Se puede declarar un conjunto de estructuras con campos como arrays, el compilador incluso omite los arrays dinámicos en la estructura:
¿Puedes decirme cómo declarar un array bidimensional de arrays?
Algo así:
IgorM, x100intraday
Gracias por las opciones. Creo que esto debería servir, lo probaré.
IgorM, x100intraday
Gracias por las opciones. Creo que esto debería funcionar, lo probaré.
Por cierto, el nombre "Buffer" puede ser cambiado por "_" o algún otro acertijo, entonces la llamada será completamente clara:
Por cierto, el nombre "Buffer" se puede cambiar por "_" o cualquier otra cosa, para que la llamada sea completamente clara:
Pero, ¿cómo se hace todo esto con la #propiedad? - Me pregunto...
¿Ni idea?
Pero, ¿cómo se hace todo esto con la #propiedad? - Me pregunto...
¿Ni idea?