MetaTrader4
Plantilla de Divergencias para MetaTrader 4: Potencia tu Análisis Técnico
¿Cómo funciona la plantilla? Esta plantilla de indicador es ideal para trazar divergencias basadas en el oscilador que elijas. Dependiendo del oscilador que decidas utilizar (ya sea CCI, RSI o incluso uno personalizado), puedes modificar la siguiente parte del código: /////////////////////////////////////////////
//Cargar datos del indicador en el buffer
//Puedes reemplazar RSI con cualquier indicador que prefieras
int BARS=MathMax(rates_total-IndicatorCounted()-pivots_period,1);
for(int i=BARS;i>=0;i--)
{
indicatorBuffer[i]=iRSI(_Symbol, PERIOD_CURRENT, 14, PRICE_CLOSE, i);
}
//Fin de la carga del indicador
/////////////////////////////////////////////
Buffers de Señales Este indicador cuenta con cuatro buffers diferentes para rastrear las señales generadas. Se emite una señal cada vez que el buffer correspondiente contiene un valor no vacío. SetIndexBuffer(3,bull_reg_divBuffer);
SetIndexBuffer(4,bear_reg_divBuffer);
SetIndexBuffer(5,bull_hid_divBuffer);
SetIndexBuffer(6,bear_hid_divBuffer);
Sección de Inputs input int pivots_period=5; //período para encontrar pivotes del indicador
input int alert_confirm_candles=1; //#de velas para confirmar (0=deshabilitar alerta)
Encontrar pivotes altos y pivotes bajos en indicatorBuffer depende de la entrada pivots_period. Cuanto mayor elijas este valor, buscará oscilaciones más grandes para posibles divergencias. Otro input es alert_confirm_candles, que define cuántas barras esperar para confirmar una señal. Los indicadores de divergencia suelen ser rezagados y generan muchas señales falsas. Si eliges un valor más alto, esperarás más, y así se reducirán las señales falsas. Es un compromiso entre recibir señales a tiempo o esperarlas confirmadas. Normalmente, no se permite aplicar pivots_period con un valor menor a 2. Problema de Repaint Los indicadores que se basan en cálculos de pivotes deben esperar el período de pivots_period para obtener una confirmación del último alto/bajo. Por lo tanto, este indicador necesita repintar las señales hasta pivots_period hacia atrás en el tiempo. BARS=MathMax(rates_total-IndicatorCounted()-pivots_period,pivots_period);
for(int i=BARS;i>=0;i--)
{
PHBuffer[i]=pivothigh(indicatorBuffer, pivots_period, pivots_period, i);
PLBuffer[i]=pivotlow(indicatorBuffer, pivots_period, pivots_period, i);
bull_reg_divBuffer[i]=BullRegDiv(i);
bear_reg_divBuffer[i]=BearRegDiv(i);
bull_hid_divBuffer[i]=BullHidDiv(i);
bear_hid_divBuffer[i]=BearHidDiv(i);
}
2024.03.10