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
- Visualizaciones:
- 1475
- Ranking:
- Publicado:
- 2015.08.26 14:03
- Actualizado:
- 2016.11.22 07:33
-
¿Necesita un robot o indicador basado en este código? Solicítelo en la bolsa freelance Pasar a la bolsa
En el archivo adjunto, con extensión *.mqh, se encuentran unas funciones para crear diferentes objetos y/o para cambiar los valores de las propiedades de los objetos. A mí me resulta especialmente cómodo de aplicar cuando hace falta crear rápidamente algún código de prueba, donde sea necesario resgistrar sobre la marcha la creación de algunos objetos en el gráfico y/o cambiar algunas propiedades de los objetos de los que ya se dispone en el gráfico.
El otro archivo es un script con un ejemplo de prueba sobre la aplicación de las funciones del archivo adjunto (crea una etiqueta de texto, gira paulatinamente su texto 90 grados, cambiando sobre la marcha el texto y su color).
I. Funciones para la creación de objetos:
Están formados sobre la base de los que se encuentran en la Guía de MQL5. Diferencias básicas con respecto a las funciones homónimas en la guía:
- se han añadido líneas para establecer sugerencias emergentes y líneas para elegir la configuración de la visibilidad de los objetos en diferentes marcos temporales;
- se han quitado las líneas con las funciones de formación de objetos cuando no se establecen las coordenadas, precios, puntos de anclaje (excepto en VLineCreate(...) y EventCreate(...));
- gracias a las funciones de configuración (cambio) de las propiedades de los objetos de las que ya se dispone en el archivo adjunto, al crear objetos se añaden condiciones adicionales de comprobación del éxito de la configuración de los valores de las propiedades.
Lista de funciones existentes en el archivo que sirven para la creación de objetos:
Nombre |
Breve descripción |
Tipo de objeto |
---|---|---|
VLineCreate |
Crea una línea vertical |
|
HLineCreate |
Crea una línea horizontal |
|
TrendCreate |
Crea una línea de tendencia según las coordenadas establecidas |
|
ArrowedLineCreate |
Crea una línea con flecha según las coordenadas establecidas |
|
ChannelCreate |
Crea un canal equidistante según las coordenadas establecidas |
|
RectangleCreate |
Crea un rectángulo según las coordenadas establecidas |
|
TriangleCreate |
Crea un triángulo según las coordenadas establecidas |
|
EllipseCreate |
Crea una elipse según las coordenadas establecidas |
|
ArrowCreate |
Crea OBJ_ARROW |
OBJ_ARROW |
TextCreate | Crea el objeto "Texto" |
OBJ_TEXT |
LabelCreate |
Crea una etiqueta de texto |
|
ButtonCreate |
Crea un botón |
|
BitmapCreate |
Crea un dibujo en la ventana del gráfico |
|
BitmapLabelCreate |
Crea el objeto "Etiqueta Gráfica" |
|
EditCreate |
Crea el objeto "Campo de Introducción" |
|
EventCreate |
Crea el objeto "Evento" en el gráfico |
|
RectLabelCreate |
Crea una etiqueta rectangular |
II. Funciones de configuración de los valores de las propiedades:
A través de ObjectSetDouble(...), ObjectSetInteger(...) y ObjectSetString(...) sin indicar el modificador:
A través de ObjectSetDouble(...), ObjectSetInteger(...) y ObjectSetString(...) indicando el modificador:
Nombre |
Enumeración | Propiedad | Breve descripción | Tipo de propiedad | |
---|---|---|---|---|---|
1. | ObSetDoubleMod | ENUM_OBJECT_PROPERTY_DOUBLE | OBJPROP_PRICE | Coordenada de precio - double, modificador=número del punto de anclaje | double |
OBJPROP_LEVELVALUE | Valor del nivel - double, modificador=número de nivel |
double | |||
2. |
ObSetIntegerLevelColorMod | ENUM_OBJECT_PROPERTY_INTEGER | OBJPROP_LEVELCOLOR | Color de la línea-nivel - color, modificador=número de nivel |
color |
3. |
ObSetIntegerLevelStyleMod |
ENUM_OBJECT_PROPERTY_INTEGER | OBJPROP_LEVELSTYLE |
Estilo de la línea-nivel ENUM_LINE_STYLE, modificador=número de nivel |
ENUM_LINE_STYLE |
4. |
ObSetIntegerLevelWidthMod |
ENUM_OBJECT_PROPERTY_INTEGER | OBJPROP_LEVELWIDTH |
Grosor de la línea-nivel - int, modificador=número de nivel |
int |
5. | ObSetIntegerTimeMod | ENUM_OBJECT_PROPERTY_INTEGER | OBJPROP_TIME |
Coordenada de fecha - datetime, modificador=número del punto de anclaje |
datetime |
6. | ObSetStringMod | ENUM_OBJECT_PROPERTY_STRING | OBJPROP_LEVELTEXT | Descripción del nivel - string, modificador=número de nivel | string |
OBJPROP_BMPFILE |
Nombre del archivo BMP para el objeto "Etiqueta gráfica" - string. Mire también en la Guía: Recursos. Modificador: 0-estado ON, 1-estado OFF | string |
Funciones adicionales en el archivo:
bool ObDelete (long chart_ID,string name) |
Eliminar un objeto único con un nombre conocido |
III. Métodos de aplicación de un archivo:
Es posible usarlo como archivo incluido o simplemente copiar las funciones desde él al código creado por usted.
Con la segunda variante es cómodo, desde mi punto de vista, usarlo al crear algún código desde el inicio como un archivo incluido. Y solo después de que se hayan registrado en el código todas las llamadas a las funciones de él, a continuación se elimina del código creado la línea del enlace al archivo(#include...).
Después de esto, el compilador sugerirá rápida y concretamente qué funciones hay que copiar al código creado por usted desde archivo adjunto.
Uso como archivo incluido:
- Guarde el archivo adjunto de más arriba ObjectCreateAndSet.mqh en la carpeta "Include". Para pegar el archivo en esta carpeta, se la puede abrir a través del Navegador en el MetaEditor, pulsando en el Navegador en la carpeta con el nombre "Include" con el botón derecho del ratón y después pulsando en el menú que se haya abierto sobre la línea "Abrir carpeta".
- Al crear el código donde se usarán las funciones de este archivo, copie en la parte de más arriba del archivo la línea de #include... y péguela después en la parte superior del código creado por usted:
#include <ObjectCreateAndSet.mqh>
En caso de que sea necesario, en el archivo adjunto más arriba de código de prueba se puede ver dónde es posible poner aproximadamente esta línea. - Después de esto, compile el código creado por usted. Esto hará posible ver la sugerencia de los nombres de las funciones existentes en al archivo unido al introducir las primeras letras de sus nombres.
Fig.1. Sugerencia emergente tras introducir las primeras letras del nombre de la función
Fig.2. Sugerencia emergente con los parámetros para la función elegida
De todas formas, les recuerdo que también es cómodo ver las funciones contenidas en algún archivo concreto a través de la Lista de funciones, en el panel de instrumentos de MetaEditor:
Fig.3. Botón para la llamada de la lista de funciones contenidas en un archivo
Consecuentemente, al pulsar el botón de llamada de la lista de funciones del archivo adjunto, aparecerá una ventana con la lista de las funciones existentes en este archivo. Para pasar rápidamente al código de alguna función, simplemente pulse sobre su nombre en la lista que aparecerá.
Fig.4. Después de pulsar el botón de llamada de la lista de funciones, se abrela lista de funciones en el archivo (resulta cómodo para pasar rápidamente al código de alguna función y/o simplemente para ver las existentes)
Traducción del ruso realizada por MetaQuotes Ltd
Artículo original: https://www.mql5.com/ru/code/13374

Indicador ColorLinearRegSlope_V2 con posibilidad de cambiar el marco temporal del indicador en los parámetros de entrada.

Indicador ColorLeManTrend con posibilidad de cambiar el marco temporal del indicador en los parámetros de entrada.

Indicador ColorMomentum_AMA con posibilidad de cambiar el marco temporal del indicador en los parámetros de entrada.

Indicador ColorMaRsi-Trigger con posibilidad de cambiar el marco temporal del indicador en los parámetros de entrada.