Hola chicos,

¿Puede alguien ayudarme con esto?

Cuando se cumple la condición para que aparezca la ventana emergente Alerta, sigue apareciendo cada pocos segundos durante el período de la barra. Ejecuto esto en gráficos de una hora, pero sigue forzando a que aparezca la ventana de alerta.

Además, si puedo evitar que aparezca (así que solo se me notifica una vez), ¿se restablece la alerta por lo que si se activa en 3 compases si la condición vuelve a ser cierta?

Si alguien puede ayudar, lo agradecería.

Saludos
Steve



// ----------------------------------------------- -------------------
//| My_First_Indior.mq4 |
//|
http://www.forex-tsd.com|
// ----------------------------------------------- -------------------
#property copyright Steve Dawson
#property indior_separate_window
#property indior_buffers 2
#property indior_color1 Red
#property indior_color2 Verde
//---- buffers
double ExtMapBuffer1 [];
doble ExtMapBuffer2 [];
bool buf_alert_already_triggered;
// ----------------------------------------------- -------------------
//| Función de inicialización del indicador personalizado |
// ----------------------------------------------- -------------------
int init ()
{
//---- indicadores
SetIndexStyle (0, DRAW_HISTOGRAM, VACÍO, 3);
SetIndexBuffer (0, ExtMapBuffer1);
SetIndexStyle (1, DRAW_HISTOGRAM, VACÍO, 3);
SetIndexBuffer (1, ExtMapBuffer2);
string short_name = MAX - OBOS ¡Histograma con Alertas !;
IndiorShortName (short_name);
return (1);
}
// ----------------------------------------------- -------------------
//| Función de desinicialización del indicador Custor |
// ----------------------------------------------- -------------------
int deinit ()
{
//----
//----
return (0);
}
// ----------------------------------------------- -------------------
//| Función de iteración del indicador personalizado |
// ----------------------------------------------- -------------------
int start ()
{
int counted_bars = IndiorCounted ();
//---- verificar posibles errores
if (counted_barslt; 0) return (-1);
//---- la última barra contada será contada
if (counted_barsgt; 0) counted_bars--;
int pos = Bars-counted_bars;
doble dVal, dLow, dResult, value;
Comentario (¡Hola! ¡Estoy aquí en las ventanas principales del gráfico!);
//---- lazo de cálculo principal para cargar el ArrayBsearch
while (posgt; = 0)
{
dVal = iCustom (NULL, 0, J_TPO, 13,0, pos);
if (dVal gt; 0)
{
dResult = 1;
}
más
{
dResult = -1;
}

//Aquí es donde se establece el color
if (dResult == 1)
{
ExtMapBuffer2 [pos] = dResult;
}
más
{
ExtMapBuffer1 [pos] = dResult;
}



//ExtMapBuffer1 [pos] = dResult;
pos = pos - 1;
}
//---- buffer ahora está cargado

//Haz lo alerta ahora
if ((((ExtMapBuffer1 [0] == 1) || (ExtMapBuffer2 [0] == 1)) ((ExtMapBuffer1 [1] == -1) || (ExtMapBuffer2 [1] == -1))) (buf_alert_already_triggered == 0))
{
Alerta (posible COMPRA de, símbolo (), encendido, período (), gráfico!);
buf_alert_already_triggered = 1;
} else
{
buf_alert_already_triggered = 0;
}

if ((((ExtMapBuffer1 [0] == -1) || (ExtMapBuffer2 [0] == -1)) ((ExtMapBuffer1 [1] == 1)) || (ExtMapBuffer2 [1] == 1)) (buf_alert_already_triggered == 0))
{
Alerta (VENTA posible para, símbolo (), encendido, período (), gráfico!);
buf_alert_already_triggered = 1;
} else
{
buf_alert_already_triggered = 0;
}
//----
return (0);
}
// ----------------------------------------------- -------------------