top of page

SWARM GRID

Ultima modificación

December 23, 2024 at 1:42:20 PM

Propósito del Módulo:

El módulo Grid de Precios se encarga de crear y gestionar niveles de precios en un gráfico de trading. Estos niveles ayudan a los traders a identificar áreas clave como máximos, mínimos, soportes y resistencias, facilitando la toma de decisiones informadas.

Includes:

  • <Arrays/ArrayObj.mqh>

  • <Object.mqh>

  • <C_SWARM_DEBUG.mqh>

Inputs;

  • Número de Niveles: Permite definir cuántos niveles se mostrarán en el grid.

  • Marcar Niveles Extra: Opción para mostrar niveles adicionales por encima y por debajo del rango principal.

  • Colores: Configuración de colores para niveles superiores, inferiores y extra.

  • Marco de Tiempo: Define el periodo de tiempo para el análisis de precios.

  • Mostrar Etiquetas: Permite mostrar etiquetas descriptivas en los niveles.

  • Barras Atrás: Define cuántas barras de historial considerar para el cálculo del rango.

  • Tipo de Rango: Selección entre rangos basados en máximos/mínimos históricos o soportes/resistencias.

Funciones Clave:

  •  Definición de Rango: Establece un rango de precios usando datos históricos para identificar niveles altos y bajos.

  • Centrado del Grid: Ajusta el grid para centrar el precio actual, o posicionarlo en la parte superior o inferior del rango.

  • Creación de Líneas de Precios: Genera líneas horizontales en el gráfico que representan los diferentes niveles de precios, cada una con una etiqueta y color específicos.

  • Gestión de Niveles: Guarda, actualiza y elimina niveles de precios en el gráfico.

  • Niveles Adicionales: Añade niveles extra para un análisis más detallado.

  • Depuración: Utiliza mensajes de depuración para informar a los desarrolladores sobre el estado del grid y cualquier error ocurrido.


Documento de diseño

Flujo de Trabajo:

  • Inicialización: Al activar el módulo, se define el rango de precios y se inicializa el grid.

  • Cálculo de Niveles: Se calculan y crean los niveles de precios, tanto principales como adicionales.

  • Visualización: Los niveles se muestran en el gráfico con las etiquetas y colores definidos.

  • Actualización: El grid se puede actualizar en tiempo real según cambien las condiciones del mercado.


  • Interfaz de Usuario:

    • Los traders pueden ajustar configuraciones como el número de niveles, colores y visualización de etiquetas a través de una interfaz de usuario intuitiva.

    • Las etiquetas descriptivas en los niveles permiten una rápida identificación y análisis visual.

  • Beneficios para el Usuario:

    • Mejor Visualización: Facilita la identificación de niveles clave en el gráfico de trading.

    • Toma de Decisiones Informada: Proporciona una representación clara de áreas de soporte y resistencia, ayudando a los traders a tomar decisiones más precisas.

    • Personalización: Ofrece múltiples opciones de configuración para adaptarse a las preferencias y estrategias de cada trader.

  • Ejemplos de Uso:

    • Un trader puede utilizar el módulo para identificar niveles de resistencia y soporte antes de tomar una decisión de compra o venta.

    • Durante el análisis técnico, los niveles de precios marcados ayudan a confirmar patrones de mercado y puntos de reversión.



Documento Tecnico

Documento Técnico del Módulo Grid de Precios

  1. Propósito del Módulo:

    • El objetivo del módulo Grid de Precios es crear y gestionar niveles de precios en un gráfico de trading, facilitando el análisis técnico y la toma de decisiones para los traders.

  2. Includes y Dependencias:

    • Bibliotecas Incluidas:

      • <Arrays/ArrayObj.mqh>: Para manejo de arreglos.

      • <Object.mqh>: Para manejo de objetos gráficos.

      • <SWARM/SWARM_a109/TRADELINGS/GRIDY/C_SWARM_GRID.mqh>: Archivos específicos del sistema.

      • <SWARM/SWARM_a109/AUX/C_SWARM_DEBUG.mqh>: Para funciones de depuración.

  3. Inputs:

    • Parámetros Personalizables:

      • gridNumberOfLevels: Número de niveles a mostrar.

      • gridMarkExtraLevels: Indica si se deben marcar niveles adicionales.

      • gridNumberOfExtraLevels: Número de niveles adicionales a mostrar.

      • gridUpperRangeColor: Color para el nivel superior.

      • gridLowerRangeColor: Color para el nivel inferior.

      • gridLevelsColor: Color para los niveles intermedios.

      • gridExtraLevelsColor: Color para los niveles adicionales.

      • gridTimeFrame: Marco de tiempo utilizado para calcular los niveles.

      • gridMostrarEtiquetas: Indica si se deben mostrar etiquetas en los niveles.

      • gridBarrasAtras: Número de barras históricas a considerar.

      • gridRangoTipo: Tipo de rango utilizado (HH_LL o Soporte/Resistencia).

  4. Clases y Estructura:

    • Clase Grid:

      • Atributos Privados:

        • numberOfLevels, markExtraLevels, numberOfExtraLevels, upperRangeColor, lowerRangeColor, levelsColor, extraLevelsColor, timeFrame, mostrarEtiquetas_.

        • highLevel, lowLevel, hh, ll, stepValue: Para almacenamiento de valores de rango.

        • niveles: Arreglo para almacenar los niveles creados.

        • debugger: Instancia para funciones de depuración.

      • Clase Interna Nivel:

        • precio: Precio del nivel.

        • etiqueta: Etiqueta descriptiva del nivel.

      • Constructor:

        • Inicializa los atributos con los valores de entrada.

      • Destructor:

        • Limpia los niveles creados y elimina el grid.

  5. Flujos Lógicos y Funcionalidades:

    • Inicialización del Grid:

      • InicializarGrid(): Inicializa el grid definiendo el rango y centrando los niveles. Dependiendo del tipo de rango (HH_LL_Grid o Soporte_Resistencia_Grid), llama a las funciones correspondientes (DefinirRangoHHLL o DefinirRangoSoporteResistencia). Luego, centra el grid y crea las líneas de rango.

    • Definición de Rangos:

      • DefinirRango(double high, double low): Establece los límites del rango basado en los valores alto y bajo proporcionados.

      • DefinirRangoHHLL(): Calcula el rango utilizando los valores máximos y mínimos históricos del marco de tiempo definido, ajustando highLevel y lowLevel.

      • DefinirRangoSoporteResistencia(): Calcula el rango de soporte y resistencia revisando los datos históricos y ajustando highLevel y lowLevel con los valores correspondientes.

    • Centrado del Grid:

      • CentrarGrid(CentrarPrecio_Grid centrarPrecio): Ajusta el grid para centrar el precio actual, o posicionarlo en la parte superior o inferior del rango, basado en el valor de centrarPrecio.

    • Creación y Marcado de Niveles:

      • CrearRangoLineas(): Genera líneas horizontales en el gráfico para highLevel y lowLevel, aplicando configuraciones visuales y etiquetas si están habilitadas.

      • MarcarNiveles(): Calcula y marca los niveles principales en el gráfico, desde lowLevel hasta highLevel, con los colores y etiquetas definidas.

      • MarcarNivelesAdicionales(): Añade niveles adicionales por encima y por debajo del rango principal, utilizando los colores y etiquetas especificados.

      • GuardarNivel(double nivel, string label): Almacena un nivel en el arreglo de niveles, creando una nueva instancia de Nivel.

      • CrearNivel(double nivel, color col, string label): Crea una línea horizontal en el gráfico para el nivel dado, aplicando el color y etiqueta proporcionados.

      • ActualizarNivel(double nivel, string label): Actualiza la posición de un nivel existente en el gráfico si es necesario.

      • EliminarNivel(string label): Elimina una línea de nivel del gráfico.

      • EliminarGrid(): Elimina todas las líneas de nivel del gráfico y limpia el arreglo de niveles.

    • Obtención de Niveles:

      • ObtenerNiveles(CArrayObj &userLevels): Copia los niveles actuales en una colección proporcionada por el usuario.

  6. Depuración y Mensajes:

    • Utiliza CSwarmDebug para generar mensajes de depuración en diferentes niveles (info, error, success), facilitando la identificación y resolución de problemas.

Donate with PayPal

XhakaTech 2025

bottom of page