252 lines
20 KiB
MQL5
252 lines
20 KiB
MQL5
//+------------------------------------------------------------------+
| |||
//| 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
| |||
//+------------------------------------------------------------------+
|