- Como agregarle una alarma al indicador ultimate arrows
- Ayuda,como ponerle sonido al indicador ultimate arrows
- Alguien me puede ayudar a agregar un alerta al indicador NEW ABHAFXS TIMING V2
Hola, alguien me puede ayudar a agregarle una alerta a este indicador,gracias,besos
Puedes incorporar esta función al código...
//+------------------------------------- FUNCION AVISO-ALERTA -----------------------------+ bool enviaAlerta(mis_TIPO_AVISOS avisoTipo, string mens, int velaAvisoAct= 1, int nAvisos= 2) { //enum mis_TIPO_AVISOS {noW, eMail, SMS, allW}; static int velaAvisoPrev= 0; static int cont= 0; bool enviar, enviado= _No; enviar= velaAvisoPrev!=velaAvisoAct || (cont>0 && cont<=nAvisos); //si no se ha avisado tres veces en esta vela if(enviar) { velaAvisoPrev= velaAvisoAct; cont++; Alert(mens); PlaySound("news.wav"); if(avisoTipo==eMail) enviado= SendMail(mens,""); if(avisoTipo==SMS) enviado= SendNotification(mens); if(avisoTipo==allW) { enviado= SendMail(mens,""); enviado= enviado && SendNotification(mens); } } if(cont==nAvisos) cont= 0; return(enviado); }
Puedes incorporar esta función al código...
Hola Jose Miguel,muchas gracias por ayudarme.Pero cuando pego el codigo que me diste,en el metatraders no me registra el indicador,nose si lo escribi en un lugar donde no va o tengo que modificarle algo.Te adjunto el archivo con la codificacion.Aca abajo pongo como lo puse(parte en rojo) :
//+------------------------------------------------------------------+
//| zigzag-pointer.mq4 |
//| zigzag modified by Dr. Gaines |
//| dr_richard_gaines@yahoo.com |
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "dr_richard_gaines"
#property link "http://www.metaquotes.net/"
#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 Lime
#property indicator_width1 5
#property indicator_color2 Lime
#property indicator_width2 5
//---- indicator parameters
extern int ExtDepth=115;//105;//21;
extern int ExtDeviation=130;//120;//24;
extern int ExtBackstep=80;//70;//14;
//---- indicator buffers
double ZigZagUp[];
double ZigZagDown[];
//+-------------------------------------- FUNCION AVISO-ALERTA-----------------------------+
bool enviaAlerta(mis_TIPO-AVISOS avisoTipo, string mens, int velaAvisoAct= 1, int nAvisos = 2)
{ //enum mis-TIPO-avisos {NOW, EmAIL, sms, allW};
static int velaAvisoPrev = 0;
static int cont= 0;
boll enviarm enviado= _No;
enviar= velaAvisoPrev!=velaAvisoAct || (cont>0 && cont<=nAvisos); // si no se ha avisado tres veces en esta vela
if(enviar)
{
velaAvisoPrev = velaAvisoAct;
cont++;
Alert(mens);
PlaySound("news.wav");
if(avisoTipo==eMail) enviado= SendMail(mens,"");
if(avisoTipo==SMS) enviado= SendNotification(men);
if(avisoTipo==allW)
{
enviado=SenMail(mens,"");
enviado= enviado && SenNotification(mens);
}
}
if(cont==nAvisos) cont= 0;
return(enviado);
}
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
IndicatorBuffers(2);
//---- drawing settings
SetIndexStyle(0,DRAW_ARROW);
SetIndexArrow(0, 233);
SetIndexStyle(1,DRAW_ARROW);
SetIndexArrow(1, 234);
//---- indicator buffers mapping
SetIndexBuffer(0,ZigZagUp);
SetIndexBuffer(1,ZigZagDown);
SetIndexEmptyValue(0,0.0);
SetIndexEmptyValue(1,0.0);
//---- indicator short name
IndicatorShortName("ZigZag("+ExtDepth+","+ExtDeviation+","+ExtBackstep+")");
//---- initialization done
return(0);
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
int start()
{
int shift, back,lasthighpos,lastlowpos;
double val,res;
double curlow,curhigh,lasthigh,lastlow;
for(shift=Bars-ExtDepth; shift>=0; shift--)
{
val=Low[Lowest(NULL,0,MODE_LOW,ExtDepth,shift)];
if(val==lastlow) val=0.0;
else
{
lastlow=val;
if((Low[shift]-val)>(ExtDeviation*Point)) val=0.0;
else
{
for(back=1; back<=ExtBackstep; back++)
{
res=ZigZagUp[shift+back];
if((res!=0)&&(res>val)) { ZigZagUp[shift+back]=0.0; }
}
}
}
ZigZagUp[shift]=val;
//--- high
val=High[Highest(NULL,0,MODE_HIGH,ExtDepth,shift)];
if(val==lasthigh) val=0.0;
else
{
lasthigh=val;
if((val-High[shift])>(ExtDeviation*Point)) val=0.0;
else
{
for(back=1; back<=ExtBackstep; back++)
{
res=ZigZagDown[shift+back];
if((res!=0)&&(res<val)){ ZigZagDown[shift+back]=0.0; }
}
}
}
ZigZagDown[shift]=val;
}
// final cutting
lasthigh=-1; lasthighpos=-1;
lastlow=-1; lastlowpos=-1;
for(shift=Bars-ExtDepth; shift>=0; shift--)
{
curlow=ZigZagUp[shift];
curhigh=ZigZagDown[shift];
if((curlow==0)&&(curhigh==0)) continue;
//---
if(curhigh!=0)
{
if(lasthigh>0)
{
if(lasthigh<curhigh)
{
ZigZagDown[lasthighpos]=0;
}
else ZigZagDown[shift]=0;
}
//---
if(lasthigh<curhigh || lasthigh<0)
{
lasthigh=curhigh;
lasthighpos=shift;
}
lastlow=-1;
}
//----
if(curlow!=0)
{
if(lastlow>0)
{
if(lastlow>curlow)
{
ZigZagUp[lastlowpos]=0;
}
else ZigZagUp[shift]=0;
}
//---
if((curlow<lastlow)||(lastlow<0))
{
lastlow=curlow;
lastlowpos=shift;
}
lasthigh=-1;
}
}
for(shift=Bars-1; shift>=0; shift--)
{
if(shift>=Bars-ExtDepth) ZigZagUp[shift]=0.0;
else
{
res=ZigZagDown[shift];
if(res!=0.0) ZigZagDown[shift]=res;
}
}
}
//end//
- www.metaquotes.net
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Usted acepta la política del sitio web y las condiciones de uso