Inicio Indicador técnico Publicación

Bandas de Bollinger Personalizadas: Mejora tu Análisis en MetaTrader 5

Archivos adjuntos
49464.zip (2.27 KB, Descargar 0 veces)

Hoy quiero compartir contigo un indicador que he desarrollado para ofrecerte una alternativa a los métodos estándar de medias móviles disponibles en las Bandas de Bollinger de MetaTrader 5. A diferencia de la opción 'simple' que generalmente se ofrece, mi indicador permite elegir entre otros métodos, como Exponencial, Suavizado y Lineal Ponderado.

Para que puedas utilizar este indicador, simplemente necesitas colocarlo en una carpeta de tu sistema. En Windows, el camino es similar al siguiente:

C:\Users\tu_usuario\AppData\Roaming\MetaQuotes\Terminal\Indicators\Examples

Características adicionales:

Ejemplo de Bandas de Bollinger Personalizadas

Por defecto, el indicador está configurado en cero:

Configuración por Defecto

A continuación, te muestro un ejemplo de ejecución utilizando el promedio de Lineal Ponderado:

Ejemplo de Ejecución 1  Ejemplo de Ejecución 2

Código:

//+------------------------------------------------------------------+
//| Bandas de Bollinger Personalizadas.mq5                           |
//| Lucas Vidal                                                      |
//| https://www.mql5.com                                           |
//+------------------------------------------------------------------+

#property copyright "Lucas Vidal"
#property link "https://www.mql5.com/en/users/lucasmoura00"
#property description "Bollinger Bands Personalizada"
#include 

#property indicator_chart_window
#property indicator_buffers 4
#property indicator_plots 3
#property indicator_type1 DRAW_LINE
#property indicator_color1 LightSeaGreen
#property indicator_type2 DRAW_LINE
#property indicator_color2 LightSeaGreen
#property indicator_type3 DRAW_LINE
#property indicator_color3 LightSeaGreen
#property indicator_label1 "Bands middle"
#property indicator_label2 "Bands upper"
#property indicator_label3 "Bands lower"

//--- parámetros de entrada
enum MovingAverageMethod {
    Simple,         // 0
    Exponential,    // 1
    Smoothed,       // 2
    LinearWeighted   // 3
};
input MovingAverageMethod InpMaMethod = Simple; // Método de la Media Móvil
input int InpBandsPeriod=20; // Periodo
input int InpBandsShift=0; // Desplazamiento
input double InpBandsDeviations=2.0; // Desviación

//--- variables globales
int ExtBandsPeriod, ExtBandsShift;
double ExtBandsDeviations;
int ExtPlotBegin=0;

//--- buffer del indicador
double ExtMLBuffer[];
double ExtTLBuffer[];
double ExtBLBuffer[];
double ExtStdDevBuffer[];
//+------------------------------------------------------------------+
//| Inicialización del indicador                                      |
//+------------------------------------------------------------------+
void OnInit() {
    //--- revisar valores de entrada
    if(InpBandsPeriod<2) {
        ExtBandsPeriod=20;
        PrintFormat("Valor incorrecto para la variable de entrada InpBandsPeriod=%d. El indicador usará el valor=%d para los cálculos.", InpBandsPeriod, ExtBandsPeriod);
    } else {
        ExtBandsPeriod=InpBandsPeriod;
    }
    // ... (continúa el resto del código aquí) ...
}
//+------------------------------------------------------------------+

¡Espero que encuentres útil este indicador para mejorar tus análisis!

Publicaciones relacionadas

Comentarios (0)