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
| |
//+------------------------------------------------------------------+
|