ATR and SMA
- Indicadores
- Versión: 1.20
- Actualizado: 24 agosto 2026
- Activaciones: 5
Una versión adaptada del ATR que te permite consultar directamente el valor del stop loss y que se puede aplicar a cualquier producto. Es el indicador técnico más útil que puedes tener para tus operaciones de inversión en divisas. Solo tienes que fijarte en el valor que muestra el ATR_KMA en el gráfico: ese es el stop loss efectivo que más te conviene.
//+------------------------------------------------------------------+
int OnInit()
{
// Vincula el búfer (en MT5 es obligatorio especificar INDICATOR_DATA) y lo declara explícitamente como una matriz temporal
SetIndexBuffer(0, ATR_Buffer, INDICATOR_DATA);
ArraySetAsSeries(ATR_Buffer, true);
SetIndexBuffer(1, MA_Buffer, INDICATOR_DATA);
ArraySetAsSeries(MA_Buffer, true);
SetIndexBuffer(2, KMA_Buffer, INDICATOR_DATA);
ArraySetAsSeries(KMA_Buffer, true);
// SetIndexBuffer(3, ATR_Lever, INDICATOR_DATA);
// ArraySetAsSeries(ATR_Lever, true);
// Creación del identificador ATR (algoritmo de Wilder integrado en MT5, estable en todos los instrumentos)
g_atr_handle = iATR(_Symbol, _Period, ATR_Period);
if(g_atr_handle == INVALID_HANDLE)
{
Print("ATR_SMA: error al crear el identificador iATR, error=", GetLastError());
return(INIT_FAILED);
}
// Precisión
IndicatorSetInteger(INDICATOR_DIGITS, _Digits);
// Nombre del indicador
IndicatorSetString(INDICATOR_SHORTNAME,
"ATR(" + (string)ATR_Period + ") SMA(" + (string)MA_Period +
") KMA(" + (string)KMA_Period + ")");
return(INIT_SUCCEEDED);
}
