//+------------------------------------------------------------------+ //| Base.mqh | //| Copyright 2026, Niquel Mendoza. | //| https://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "Copyright 2026, Niquel Mendoza." #property link "https://www.mql5.com" #property strict #ifndef MQLARTICLES_UTILS_OBJECTS_NATIVE_BASE_MQH #define MQLARTICLES_UTILS_OBJECTS_NATIVE_BASE_MQH //+------------------------------------------------------------------+ //| Include | //+------------------------------------------------------------------+ #include "..\\Base\\Commons.mqh" //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ namespace TSN { //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ class CNativeoGObjs { public: CNativeoGObjs(void) {} ~CNativeoGObjs(void) {} //--- Wrappers: ObjectCreate + ObjectSet* (implementacion en Imp.mqh) static bool VLineCreate(const long chart_ID, // ID del gráfico const string& name, // nombre de la línea const int sub_window, // índice de subventana datetime time, // hora de la línea const color clr, // color de la línea const ENUM_LINE_STYLE style, // estilo de la línea const int width, // grosor de la línea const bool back, // al fondo const bool selection, // seleccionar para mover const bool ray, const string& tooltip, // continuación de la línea abajo const long z_order = 0); // prioridad para el clic del ratón static bool TrendCreate(long chart_ID, // ID del gráfico const string& name, // Nombre de la línea int sub_window, // índice de subventana datetime time1, // hora del primer punto double price1, // precio del primer punto datetime time2, // hora del segundo punto double price2, // precio del segundo punto color clr, // color de la línea ENUM_LINE_STYLE style, // estilo de la línea int width, // grosor de la línea bool back, // al fondo bool selection, // seleccionar para mover const string& tooltip ); static bool TrendaAngleCreate(long chart_ID, // ID del gráfico const string& name, // Nombre de la línea int sub_window, // índice de subventana datetime time1, // hora del primer punto double price1, // precio del primer punto datetime time2, // hora del segundo punto double price2, // precio del segundo punto color clr, // color de la línea ENUM_LINE_STYLE style, // estilo de la línea int width, // grosor de la línea bool back, // al fondo bool selection, // seleccionar para mover const string& tooltip ); static bool TextCreate(long chart_ID, // ID del gráfico const string& name, // nombre del objeto int sub_window, // número de subventana datetime time, // hora del punto de anclaje double price, // precio del punto de anclaje const string& text, // el texto const string& font, // fuente int font_size, // tamaño de la fuente color clr, // color double angle, // inclinación del texto ENUM_ANCHOR_POINT anchor, // modo de anclaje bool back = false, // al fondo bool selection = false); // seleccionar para mover static bool ArrowCreate(const long chart_ID, // ID del gráfico const string& name, // nombre de la flecha const int sub_window, // número de subventana datetime time, // hora del punto de anclaje double price, // precio del punto de anclaje const uchar arrow_code, // código de la flecha const ENUM_ARROW_ANCHOR anchor, // posición del punto de anclaje const color clr, // color de la flecha const ENUM_LINE_STYLE style, // estilo de la línea del contorno const int width, // tamaño de la flecha const bool back = true, // al fondo const bool selection = false, // seleccionar para mover const long z_order = 0); // prioridad para el clic del ratón static bool EditCreate(const long chart_ID, // ID del gráfico const string& name, // nombre del objeto const int sub_window, // número de subventana const int x, // coordenada por el eje X const int y, // coordenada por el eje Y const int width, // ancho const int height, // alto const string& text, // texto const string& font, // fuente const int font_size, // tamaño de la fuente const ENUM_ALIGN_MODE align, // modo de alineación const bool read_only, // posibilidad de edición const ENUM_BASE_CORNER corner, // esquina del gráfico para el enlace const color clr, // color del texto const color back_clr, // color del fondo const color border_clr, // color del borde const bool back = false, // al fondo const bool selection = false, // seleccionar para mover const bool hidden = true, // ocultar en la lista de objetos const long z_order = 0); // prioridad para el clic del ratón static bool ButtonCreate(const long chart_ID, // ID del gráfico const string& name, // nombre del botón const int sub_window, // número de subventana const int x, // coordenada por el eje X const int y, // coordenada por el eje Y const int width, // ancho del botón const int height, // alto del botón const ENUM_BASE_CORNER corner, // esquina del gráfico para el enlace const string& text, // texto const string& font, // fuente const int font_size, // tamaño de la fuente const color clr, // color del texto const color back_clr, // color del fondo const color border_clr, // color del borde const bool state = false, // pulsado/no pulsado const bool back = false, // al fondo const bool selection = false, // seleccionar para mover const bool hidden = false, // ocultar en la lista de objetos const long z_order = 0); //prioridad para el clic del ratón static bool RectLabelCreate(const long chart_ID, // ID del gráfico const string& name, // nombre de la etiqueta const int sub_window, // número de subventana const int x, // coordenada por el eje X const int y, // coordenada por el eje Y const int width, // ancho const int height, // alto const color back_clr, // color del fondo const ENUM_BORDER_TYPE border, // tipo del borde const ENUM_BASE_CORNER corner, // esquina del gráfico para el enlace const color clr, // color del contorno plano (Flat) const ENUM_LINE_STYLE style, // estilo del contorno plano const int line_width, // grosor del contorno plano const bool back = false, // al fondo const bool selection = false, // seleccionar para mover const bool hidden = true, // ocultar en la lista de objetos const long z_order = 0); // prioridad para el clic del ratón static bool ArrowRightPriceCreate(const long chart_ID, // ID del gráfico const string& name, // nombre de la etiqueta de precio const int sub_window, // número de subventana datetime time, // hora del punto de anclaje double price, // precio del punto de anclaje const color clr, // color de la etiqueta de precio const ENUM_LINE_STYLE style, // estilo de la línea del contorno const int width, // tamaño de la etiqueta de precio const bool back, // al fondo const bool selection, // seleccionar para mover const bool hidden, // ocultar en la lista de objetos const long z_order); // prioridad para el clic del ratón static bool EventCreate(const long chart_ID, // ID del gráfico const string& name, // nombre del evento const int sub_window, // número de subventana const string& text, // texto del evento datetime time, // hora const color clr, // color const int width, // grosor del punto durante la selección const bool back, // al fondo const string& tooltip, const bool selection = false, // seleccionar para mover const long z_order = 0); // prioridad para el clic del ratón static bool RectangleCreate(long chart_ID, const string& name, const int sub_window, datetime time1, double price1, datetime time2, double price2, color clr, int width, bool fill, bool back, bool select, ENUM_LINE_STYLE style, const string& tooltip ); static bool FiboLevelsCreate(const long chart_ID, // ID del gráfico const string& name, // nombre del objeto const int sub_window = 0, // número de subventana datetime time1 = 0, // hora del primer punto double price1 = 0, // precio del primer punto datetime time2 = 0, // hora del segundo punto double price2 = 0, // precio del segundo punto const color clr = clrRed, // color del objeto const ENUM_LINE_STYLE style = STYLE_SOLID, // estilo de las líneas del objeto const int width = 1, // grosor de las líneas del objeto const bool back = false, // al fondo const bool selection = true, // seleccionar para mover const bool ray_left = false, // continuación del objeto a la izquierda const bool ray_right = false, // continuación del objeto a la derecha const long z_order = 0); static bool FiboLevelsSet(int levels, // número de las líneas del nivel double &values[], // valores de las líneas del nivel color &colors[], // color de las líneas del nivel ENUM_LINE_STYLE &styles[], // estilo de las líneas del nivel int &widths[], // grosor de las líneas del nivel const long chart_ID, // ID del gráfico const string& name); // nombre del objeto static bool ChannelCreate(const long chart_ID, // ID del gráfico const string& name, // nombre del canal const int sub_window, // número de subventana datetime time1, // hora del primer punto double price1, // precio del primer punto datetime time2, // hora del segundo punto double price2, // precio del segundo punto datetime time3, // hora del tercer punto double price3, // precio del tercer punto const color clr, // color del canal const ENUM_LINE_STYLE style, // estilo de las líneas del canal const int width, // grosor de las líneas del canal const bool fill, // relleno del canal con el color const bool back, // al fondo const bool selection, // seleccionar para mover const string& tooltip ); }; //--- } #include "Imp.mqh" #endif // MQLARTICLES_UTILS_OBJECTS_NATIVE_BASE_MQH //+------------------------------------------------------------------+