![MQL5 - Lenguaje de estrategias comerciales para el terminal de cliente MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
Día de hoy ralph.ronnquist
¿entonces debo crear otra línea sdl algo así como SDLL = largo SDLS = corto?
Creo que estoy en lo cierto al decir que en la SDL indi
uptrend = buffer 1 & Index 1 color Azul
dntrend = buffer 2 & Index 2 color Rojo
Si es así ¿dónde los pongo? ¿los pongo al final de la línea iCustom?
double SDL=iCustom(NULL,0, "Slope Direction Line",period,method,price,1,1,shift);
o estoy muy equivocado
La declaración
hace que SDL mantenga el valor de la segunda memoria intermedia (Uptrend) en la barra "shift" dada.
(Observe que tiene un ",1" repetido, que parece un error tipográfico. En cualquier caso no debería estar ahí)
Así que, sí, si quieres leer tanto Uptrend como Dntrend, entonces necesitarás dos variables para mantener los valores. Como dices, Uptrend es 1 y Dntrend es 2.
Hola ralph
Gracias por la ayuda Ya funciona, ya me puedo ir a dormir.![](https://c.mql5.com/forextsd/smiles/sleepy.png)
Saludos
Beno
Espero que esto es lo que estabas buscando.
Me envió en la dirección correcta - gracias hombre, realmente apreciado.
Mi nuevo problema es que cuando mi declaración if se llama....
Sale el valor de la barra anterior del indicador en relación con la barra actual, y envía un Alert(); que he creado... unas 20 veces.
¿Cómo puedo hacer para que sólo se envíe una vez?
Intenté crear un interruptor de encendido/apagado usando variables... no funciona en MQL4 desafortunadamente.
Entonces pensé en los temporizadores ... si había un temporizador que podría crear que sólo Alerted una vez durante un período de 20 segundos que trabajaría too....
Pero estoy una pérdida en cuanto a una idea que realmente sería posible en MQL4.
¿Alguna idea?
En otras palabras... Necesito alguna forma de evitar que se alerte después de la primera, porque en este momento está alertando múltiples veces (molesto e innecesario como se puede adivinar)
En otras palabras... Necesito alguna manera de evitar que se envíe la alerta después de la primera, porque en este momento se envía la alerta varias veces (molesto e innecesario como se puede adivinar)
¿Podría proporcionarnos algo de código para que lo veamos?
Tal vez podría configurar un booleano verdadero/falso para que se active después de que se envíe la alerta por primera vez.
No estoy seguro de qué código tendría sentido. Aquí está mi declaración if para la alerta.
latestlatestmain = 2 barras atrás en mi indicador.
latestmain = barra anterior en mi indicador
if(MainCCI > ErgoCCI){
{señal = "SHORT";
if ((latestlatestmain >= 0) && (latestmain < 0)) {
PlaySound("alert2.wav");
}
}
if(últimaseñal != señal && alertTag!=Time[0]){
alertTag = Tiempo[0];
lastsignal=señal;
}
}
if (MainCCI < ErgoCCI){
{señal = "LONG";
if ((lastlatestmain 0)) {
PlaySound("alert2.wav");
}
Este es el indicador FX Sniper, y cuando se ajusta a mis parámetros envía la Alerta.
¿Cómo puedo hacer para configurar un booleano verdadero/falso?
He intentado hacer esto.....
if(MainCCI > ErgoCCI){
{señal = "SHORT";
if ((latestlatestmain >= 0) && (latestmain < 0)) {
if (onealert == 1) {
PlaySound("alert2.wav");
onealert = 0;
} }
}
if(lastsignal != signal && alertTag!=Time[0]){
alertTag = Tiempo[0];
lastsignal=señal;
}
}
if (MainCCI < ErgoCCI){
{señal = "LONG";
if ((latestlatestmain 0)) {
if (onealert == 0) {
PlaySound("alert2.wav");
onealert = 1;
} }
o alguna variante de eso, para crear el on/off con variables.
¿Hay algo más que pueda hacer usando booleanos? ¿Alguna idea de cómo puedo hacer eso?
Por el momento funciona bien en cuanto a alertarme, solo me avisa unas 5-6 veces.
Te agradezco el tiempo y la ayuda compañero.
-dharsant
Sólo pensé que lo había resuelto, y que Sleep(); funcionaría.... darn![](https://c.mql5.com/forextsd/smiles/smile.png)
He encontrado esto por Codersguru;
{
if (ref > 10)
return;
ref--;
static int LastAlert[10];
if( LastAlert[ref] == 0 || LastAlert[ref] < Bars)
{
Alert(alert_msg);
LastAlert[ref] = Bars;
}
}¡¡Se parece a lo que busco!!
Al usar esto con mi indicador...
¿Podría simplemente colocar la función en mi script, y luego usar
AlertOnce("Sniper va a LONG",10);
en lugar de mi Alert(); ?
Me siento como un pequeño programador inexperto![](https://c.mql5.com/forextsd/smiles/embaressed_smile.png)
Lo tengo, ¡¡¡gracias por la ayuda!!!