Preguntas de un "tonto" - página 268

 
DC2008:

No estoy seguro, pero probablemente sea por esto:

No tengo ArrayResize, para INDICATOR_DATA e INDICATOR_CALCULATIONS el tamaño lo fija el terminal, y dibuja desde la barra 0


Entonces resulta que todo ArrayInitialize(array,EMPTY_VALUE); no funciona ni siquiera para barra cero?



 
Silent:

No tengo ArrayResize, el terminal establece el tamaño para INDICATOR_DATA e INDICATOR_CALCULATIONS y lo dibuja desde la barra 0

Tal vez no, pero los arrays son dinámicos y cada marco temporal tiene un número diferente de barras. Al cambiar de uno a otro cambia el tamaño de los arrays (esto se hace sin tu participación) y ves la basura.

Документация по MQL5: Доступ к таймсериям и индикаторам / Bars
Документация по MQL5: Доступ к таймсериям и индикаторам / Bars
  • www.mql5.com
Доступ к таймсериям и индикаторам / Bars - Документация по MQL5
 
Silent:

Entonces resulta que todo ArrayInitialize(array,EMPTY_VALUE); no funciona ni siquiera para barra cero?

En tu caso, es el último elemento del array (aunque esté en la barra 0), porque la indexación por defecto es de izquierda a derecha.

 
DC2008:

Es posible que no, pero las matrices son dinámicas y cada marco temporal tiene un número diferente de barras. Al cambiar de una a otra, se cambian los tamaños de las matrices (esto se hace sin tu participación) y se ve basura.

Parece lógico. Entonces la inicialización de los buffers de los indicadores en el inite no tiene ningún sentido, todo debería hacerse en OnCalculate

DC2008:

En tu caso, es el último elemento del array (aunque esté en la barra 0), porque por defecto se indexa de izquierda a derecha.

Cierto, aún no lo he volteado.

 
Gracias a todos.
 

He corregido un error, he volteado arrays, he jugado con ArrayInitialize (lo he dejado por ahora)...

Parece que es imposible deshacerse de la basura en Inite. Incluso PlotIndexSetInteger(0,PLOT_DRAW_BEGIN,countBars); no lo detendrá; puede aparecer al principio del gráfico o al final.

Lo dejaré en un tráiler, tal vez los desarrolladores lo miren.

PS pero la aparición de basura en el mismo lugar en el gráfico después de la eliminación del indicador y / o recompilación - es una lata.

una belleza...


Archivos adjuntos:
 
Silent:

He corregido un error, he volteado arrays, he jugado con ArrayInitialize (lo he dejado por ahora)...

Parece que es imposible deshacerse de la basura en Inite. Incluso PlotIndexSetInteger(0,PLOT_DRAW_BEGIN,countBars); no lo detendrá; puede aparecer al principio del gráfico o al final.

Lo dejaré en un tráiler, tal vez los desarrolladores lo miren.

PS pero la aparición de basura en el mismo lugar en el gráfico después de la eliminación del indicador y / o recompilación - es una lata.

Qué belleza...

Ahí lo tienes, parece que funciona como necesitas:

void OnDeinit(const int reason)
  {
   ArrayResize(USDBuffer,1);
   ArrayResize(EURBuffer,1);
   ArrayResize(GBPBuffer,1);
   return;
  }
 
DC2008:

Ahí lo tienes, parece que funciona como quieres:

No, también es basura, se puede saber por los números de la esquina superior izquierda.

Sólo funciona después de cargar estas celdas en OnCalculate

   ArrayInitialize(USDBuffer,EMPTY_VALUE);
   PlotIndexSetInteger(0,PLOT_DRAW_BEGIN,countBars);
   ArrayInitialize(EURBuffer,EMPTY_VALUE);
   PlotIndexSetInteger(1,PLOT_DRAW_BEGIN,countBars);
   ArrayInitialize(GBPBuffer,EMPTY_VALUE);
   PlotIndexSetInteger(2,PLOT_DRAW_BEGIN,countBars);

Su versión parece ser correcta. La basura es causada por el auto-rendimiento de las matrices. Y parece incluso claro por qué se repite.

Si el terminal cambia el tamaño, por ejemplo, de 1 000 a 10 000, asigna un mismo trozo de memoria sin limpiar, y no importa cuántas veces recargue el indicador: desde la celda 1 001 hasta la 9 999 permanece con valores de extremo izquierdo.

upd Todavía tengo una pregunta: por qué al cambiar algo en la función f_comment (cambió el color) y los cambios de compilación posteriores no se aplican a reiniciar el indicador en el terminal.

Archivos adjuntos:
 
¿Es posible construir un gráfico de velas de los parámetros de algún instrumento en una ventana separada? Por ejemplo, el broker "Otkritie" tiene el instrumento RTS-9.13 y para ello construye un gráfico de órdenes de compra, cuyos valores se muestran en la ventana "visión general del mercado
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров
  • www.mql5.com
Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров - Документация по MQL5
 
vicleo:
¿Es posible construir un gráfico de velas de los parámetros de algún instrumento en una ventana separada? Por ejemplo, el broker "Otkritie" tiene el instrumento RTS-9.13 y para ello construye un gráfico de órdenes de compra, cuyos valores se muestran en la ventana "visión general del mercado
Corredor y pregunta).