• Unirse

Mira cómo descargar robots gratis

¿Es interesante este script?
Deje un enlace a él, ¡qué los demás también lo valoren!

¿Le ha gustado el script?
Evalúe su trabajo en el terminal MetaTrader 5

Indicadores

Size of candles (text) - indicador para MetaTrader 5

Vladimir Karputov | Spanish English Русский 中文 Deutsch 日本語 Português

Visualizaciones:
386
Ranking:
votos: 38
Publicado:
2017.08.10 16:13
Actualizado:
2017.09.06 10:26

Está disponible la versión 2: Size of candles 2 (text).

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).

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 Software Corp.
Artículo original: https://www.mql5.com/ru/code/18269

All information about the symbol All information about the symbol

Toda la información sobre el símbolo actual (la información se toma del objeto de clase CSymbolInfo) está en forma de panel de diálogos.

RSI and Bollinger Bands RSI and Bollinger Bands

Estrategia comercial con RSI y Bollinger Bands.

cheduecoglioni cheduecoglioni

Esperamos cuando TP o SL se activen, y después de esto abrimos una posición en la dirección opuesta. Se comprueba que los recursos sean suficientes antes de enviar la orden comercial. OnTradeTransaction.

Biblioteca de alta productividad iTimeSeries Biblioteca de alta productividad iTimeSeries

Esta biblioteca proporciona un acceso relámpago a las series temporales para implementar los métodos habituales MQL4 (por ejemplo, iBarShift) en las aplicaciones MQL5 sensibles a los retrasos.