Información del mercado Forex
//| MACD_ColorHist_Alert.mq4 |
//|¿Derechos de autor? 2006, Robert Hill |
//| |
//+ - +
# Propiedad Copyright "¿Derechos de autor 2006, Robert Hill
// -Configuración del indicador
#Atributo indicador_ventana_separada
#Atributo indicador_buffer 4
#Atributo indicador_color1 verde claro
#Atributo indicador_color 2 rojo
#Atributo indicador_color 3 verde
#Atributo indicador_ Color 4 rojo
// - parámetros del indicador
extern bool SoundON = true
extern bool EmailON = false
extern int FastEMA = 12;
extern int SlowEMA = 26
extern int señala ma = 9;
// - buffer de indicador
double ind _ buffer 1[];
double ind _ buffer 2[];
búfer de histograma doble arriba[];
búfer de histograma doble abajo[];
int flag val 1 = 0;
int flag val 2 = 0 ;
// - variable
//+ - +
//|Función de inicialización de indicador personalizado|
//+ - +
int init()
{
// - Configuración de dibujo
//indicador buffers(3
indicador DÍGITOS(información de mercado(Símbolo(), MODO _ DÍGITOS)+1 );
SetIndexStyle(0, DRAW_LINE, STYLE_SOLID);
SetIndexBuffer(0, ind_buffer 1);
SetIndexDrawBegin(0, EMA lento);
SetIndexStyle(1, DRAW_LINE, STYLE_DOT);
SetIndexBuffer(1, ind_buffer 2);
SetIndexDrawBegin(1, señales ma);
SetIndexStyle(2, DRAW_HISTOGRAM, STYLE _ SOLID
SetIndexBuffer(2, HistogramBufferUp);
SetIndexStyle(3, DRAW_HISTOGRAM, STYLE _ SOLID );
SetIndexBuffer(3, HistogramBufferDown);
// SetIndexDrawBegin(2, EMA+señales lentas ); p>
// - Ventana de datos e indicación El nombre de la etiqueta de la subventana del indicador
nombre corto del indicador(" MACD("+FastEMA+","+SlowEMA+","+signals ma+" );
SetIndexLabel(0,"MACD ");
SetIndexLabel(1, "Señal")
;
SetIndexLabel(2, "Histograma");
// - Inicialización completada
return(0);
}
//+ - +
//|Media móvil de convergencia/divergencia|
//+ - +
int start ()
{
límite int;
Temperatura dual;
int contado _ barras = indicador contado();
// - Comprueba posibles errores
if(counted_bars<0) devuelve (-1);
// - Recalculará las últimas barras contadas
if(counted_bars>0)counted_bars-;
limit = Bars-counted_Bars;
// - macd cuenta en el primer búfer
for(int I = 0;i<limit;i++)
ind_buffer1[i]=iMA(NULL, 0, FastEMA, 0, MODE_EMA,PRICE_CLOSE,i)-iMA(NULL,0,SlowEMA,0,MODE_EMA,PRICE_CLOSE ,I);
// - Línea de señal contada en el segundo buffer
for(I = 0;i<limit;i++)
ind_buffer 2[I] = iMAOnArray(ind_buffer 1,Bars,SignalSMA,0,MODE_SMA,I);
//ind _ buffer 2[I]= alpha * ind _ buffer 1[I]+alpha _ 1 * ind _ buffer 2[I+1];
for(I = 0; i<limit;i++)
{
HistogramBufferUp[I]= 0;
HistogramBufferDown[I]= 0;
temp = ind _ buffer 1[I]-ind _ buffer 2[I];
if(temp>= 0)
HistogramBufferUp[I]= temp;
p>
Otro
HistogramBufferDown[I]= temp;
if ( i == 1)
{
if (HistogramBufferUp[I]& gt; 0 & amp& buffer de anfistograma abajo[I+1]& lt; 0)
//if(HistogramBufferUp[I]& gt;HistogramBufferUp[i + 1])
{
//cruzar
if (flagval1= =0)
{
valor de bandera 1 = 1;
valor de bandera 2 = 0;
si (Sonido) Alerta( "MACD ascendente"," \n Time= ", TimeToStr(CurTime(),TIME_DATE) , " ", TimeHour(CurTime()), ":", TimeMinute(CurTime()), " \n Símbolo= ", Símbolo (), " Period=", Period());
if (EmailON) SendMail("MACD arriba
Cruzando "," MACD cruza hacia arriba, Date="+TimeToStr(CurTime(),TIME_Date)+" "+TIME hora(CurTime())+":"+TIME minuto(CurTime())+" Símbolo = " +Símbolo ()+" Period = "+Period());
}
}
else if(HistogramBufferDown[I]& lt; 0 & amp& ampHistogramBufferUp [i + 1]>0)
//else if(HistogramBufferUp[I]& lt;HistogramBufferUp[i + 1])
{
/ /Cruz hacia abajo
if (flagval2==0)
{
flag val 2 = 1;
flag val 1 = 0 ;
if (SoundON) Alert("MACD cruza hacia abajo", " \n Date= ", TimeToStr(CurTime(), TIME_DATE), " ", TimeHour(CurTime()), ":", TimeMinute(CurTime()), " \n Symbol= ", Symbol(), " Period=", Period()
if (EmailON) SendMail("MACD cruza hacia abajo "," MACD cruza); abajo", Date="+TimeToStr(CurTime(),TIME_Date)+" "+TIME hora(CurTime())+":"+TIME minuto(CurTime())+" Símbolo = "+Símbolo()+" Periodo = "+Punto());
}
}
}
} p>
// - Completo
return(0);
}
Copie el código anterior en el documento, por ejemplo, el nombre es macd2, el sufijo debe ser. mq4, luego colóquelo en expertos \ indicadores en el directorio de instalación de mt4, vuelva a abrir mt4 y podrá ver macd2 en la personalización de indicadores técnicos. Fin