![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
Es extraño. He leído en alguna parte de la ayuda que si un indicador ya está en marcha, no se crea ninguna copia. No lo entiendo.
Debo haber entendido algo mal. Comprobé esta hipótesis, hice un indicador con dos buffers, uno se llena desde OnCalculate() y el otro desde OnTimer(), script, Expert Advisor... Usé iCustom() para imprimir el valor del buffer llenado en OnCalculate() y el valor vacío se deduce de OnTimer(). Al mismo tiempo el indicador está en el gráfico donde coloco el script o EA.
Conclusión: al llamar al indicador mediante iCustom(), el evento OnTimer() no se ejecuta en el indicador.
Tal vez esta es la razón por la que está escrito en la documentación
La función OnTimer() se llama cuando se produce un evento Timer, que es generado por el temporizador del sistema sólo para Asesores Expertos e indicadores - no se puede utilizar en las secuencias de comandos.
Y no menciona los indicadores de ninguna manera.
Aparentemente, hay algunas características útiles no documentadas en mql, así como consecuencias no documentadas...
Se coloca un indicador en el gráfico. Es redibujado por los eventos Timer, ChartEvent y Calculate.
Necesito que un script lea los valores actuales de sus buffers de indicadores(INDICATOR_DATA) que se pueden ver con CTRL+D. ¿Es posible hacer esto en MT4?
Lee y escribe y no necesita una DLL
¿Dónde está el ejemplo?
Por desgracia, en este caso
no va a ayudar.
¿Dónde está el indicador?
¿Por qué no ayuda?
Asunto:
Extraño. He leído en alguna parte de la ayuda que si el indicador ya está funcionando, no se crea una copia. Tal vez no entienda algo.
Recientemente he publicado un indicador, que sólo muestra una cadena de texto. Y al llamarlo a través de iCustom las líneas del indicador en el gráfico y en iCustom interferían entre sí, tuve que hacer una sola salida programáticamente.
Quizás, no se crea una copia del código en la memoria, sino que el recálculo va con sus parámetros
https://www.mql5.com/ru/code/14737/83151#! tab=code
Asunto:
Recientemente he publicado un indicador, que sólo muestra una cadena de texto. Y al llamarlo a través de iCustom las líneas del indicador en el gráfico y en iCustom interferían entre sí, tuve que hacer una sola salida programáticamente.
Quizás, no se crea una copia del código en la memoria, sino que el recálculo va con sus parámetrosCopy
https://www.mql5.com/ru/code/14737/83151#! tab=code
La copia del código no puede no ser creada, porque es una carga dinámica.
¿Afirmación verbal, o eres un desarrollador de MQ? :))
Aunque, yo mismo lo pienso, por analogía con la DLL, donde el código del programa está en una instancia, y se crean instancias de datos para los clientes.
En resumen, la cuestión práctica es que si hay un índice en un gráfico, iCustom no toma los datos de éste, sino de una instancia creada por separado.