Pon "Me gusta" y sigue las noticias
Deje un enlace a él, ¡qué los demás también lo valoren!
Evalúe su trabajo en el terminal MetaTrader 5
Size of candles 2 (text) - indicador para MetaTrader 5
- Visualizaciones:
- 941
- Ranking:
- Publicado:
- 2017.08.10 16:29
- ¿Necesita un robot o indicador basado en este código? Solicítelo en la bolsa freelance Pasar a la bolsa
Versión 1
Versión 2.
El indicador representa el tamaño de la barra. El tamaño de la vela se calcula según la fórmula: "minuendo" menos "sustraendo". El "minuendo" y el "sustraendo" pueden ser uno de los cuatro valores (open, high, low or close).
Añadido a la versión 2:
- elección del color del rótulo para las barras alcistas y bajistas
- ajuste del margen con respecto a la barra
- el propio texto ahora se representa:
- debajo de la barra, si la barra es bajista
- encima de la barra, en el resto de los casos
El número de barras para los que se representa el tamaño, está limitado en los parámetros de entrada (InpNumberOfBars). Este número se queda intacto, incluso si se abre una nueva barra:
Hablemos un poco de la sincronización de las barras y los objetos gráficos.
Registro de los objetos gráficos
Los nombres de los objetos se guardan en la matriz m_arr_names[], su tamaño es igual al parámetro de entrada InpNumberOfBars. ¿Por qué se ha elegido precisamente una matriz, y no una variable simple del tipo string? Se trata de una base peculiar para el futuro.
Formación del nombre del objeto
El nombre del objeto que corresponde a la barra index, se forma según la fórmula:
name[index] = m_prefix + ("high_" or "low_") + TimeToString(time[index])
Hay que eliminar todos los objetos
Como ya sabemos, los indicadores se descargan en los siguientes casos:
- cuando se quita un indicador del gráfico;
- cuando se cierra el terminal (si el indicador estaba colocado en el gráfico);
- cuando se carga una plantilla, si el indicador está colocado en el gráfico;
- cuando se cierra un gráfico en el que estaba colocado un indicador
- cuando se cambia el perfil, si el indicador está colocado en uno de los gráficos del perfil cambiado;
- cuando se cambia de símbolo y/o periodo del gráfico en el que se ha colocado el indicador;
- cuando se cambian los parámetros de entrada del indicador.
Por eso, ejecutamos la eliminación total de los objetos gráficos creados:
- en OnDeinit()
- en OnInit() (esto es para curarnos en salud, por si han quedado objetos gráficos "sin dueño" sin eliminar)
- en OnCalculate(), cuando prev_calculated==0.
Asimismo, ejecutamos la limpieza de la matriz m_arr_names[]:
- en OnCalculate(), cuando prev_calculated==0 o cuando prev_calculated!=rates_total
Mantenimiento de un número constante de objetos gráficos:
cuando aparece una nueva barra (o barras) en el gráfico se activa la condición prev_calculated!=rates_total. En este caso, todos los objetos se eliminan, y la matriz m_arr_names[] se limpia.
Traducción del ruso realizada por MetaQuotes Ltd
Artículo original: https://www.mql5.com/ru/code/18483
Representación de flechas de la fuente Wingdings, si RSI cruza los niveles UP y DOWN.
LGP_Ivanoff_Maloma-Demark_levelsVariación con uso de fractales.
Comercio con el patrón "Bullish and Bearish Engulfing".
Color_PEMA_DigitMedia con promediación EMA quíntuple que representa el último valor en forma de marca de precio, con la posibilidad de redondear los niveles del indicador en el número necesario de órdenes