colores en indicadores

Comparte y analiza indicadores para la plataforma creada por MetaQuotes.

colores en indicadores

Notapor jesuslopez » 18 Oct 2011, 13:20

hola a tod@s ¿sabe alguien como se puede hacer para que los indicadores cambien de de color en mt-4 cuando cambia la tendencia en ellos?

gracias

un trader mas.
jesus
jesuslopez
 
Mensajes: 6
Registrado: 18 Oct 2011, 12:44
Karma: 0

Re: colores en indicadores

Notapor xere62 » 19 Oct 2011, 14:59

Pues creo que para conseguir eso, lo que hace el personal es crear dos buffers, uno para cada color, y entonces, cuando calcula el valor del indicador, mete uns sentencia condicional(if) y si el valor está dentro de un rango, lo coloca en el buffer verde, y si no, en el rojo. ¿Esto te soluciona tu duda?
xere62
 
Mensajes: 14
Registrado: 07 Oct 2010, 21:06
Karma: 0

Re: colores en indicadores

Notapor jesuslopez » 20 Oct 2011, 09:29

xere62 escribió:Pues creo que para conseguir eso, lo que hace el personal es crear dos buffers, uno para cada color, y entonces, cuando calcula el valor del indicador, mete uns sentencia condicional(if) y si el valor está dentro de un rango, lo coloca en el buffer verde, y si no, en el rojo. ¿Esto te soluciona tu duda?

hola xere62,voy a intentarlo pero creo que no llego a tanto ¿que quieres decir "crear dos buffers?.
gracias
jesuslopez
 
Mensajes: 6
Registrado: 18 Oct 2011, 12:44
Karma: 0

Re: colores en indicadores

Notapor xere62 » 22 Oct 2011, 00:09

A ver, te adjunto un indicador para MT4. Se trata del conocido Slope Line. Si lo adjuntas a un gráfico cualquiera, verás que dibuja la curva en dos colores, azul o rojo, según la tendencia sea creciente o decreciente, respectivamente. ¿Cómo lo hace?

Fíjate en las definiciones (las primeras líneas): #property indicator_buffers 2 , #property indicator_color1 LightBlue , etc. Aquí es donde se definen la cantidad de buffers (entiéndase como arrays de variables, en las cuales se almacenan los resultados de un cálculo cualquiera). Ya ves que se definen 2 buffers, y que asigna un color a cada uno de ellos.

Veamos ahora las declaraciones de los buffers en sí: double UpTrend[]; double DnTrend[]; double ExtMapBuffer[]; Observarás que son arrays de doubles. El tercero lo crea el programador para su uso interno, por su comodidad.

Ahora estudia toda la función init(), donde asigna un índice a cada buffer, además de ponerle color y tipo de línea... (esto ya te lo vas mirando tú, en la ayuda del MT4)

Y por último, te adjunto un fragmento significativo de la función start():
if (trend[x]>0) //si la tendencia es positiva, entonces coloca el valor en el buffer UpTrend, y pone un valor vacío EMPTY en el DnTrend
{ Uptrend[x] = ExtMapBuffer[x];
if (trend[x+1]<0) Uptrend[x+1]=ExtMapBuffer[x+1];
Dntrend[x] = EMPTY_VALUE;
}
else
if (trend[x]<0) //si la tendencia es negativa, entonces coloca el valor en el buffer DnTrend, y pone un valor vacío EMPTY en el UpTrend
{
Dntrend[x] = ExtMapBuffer[x];
if (trend[x+1]>0) Dntrend[x+1]=ExtMapBuffer[x+1];
Uptrend[x] = EMPTY_VALUE;
}

Espero que esto te ayude... Aunque si no has programado mucho, no te queda más remedio que: intento-error-intento-error-intento-bravo!
Adjuntos
Slope Direction Line.mq4
(4.1 KiB) 769 veces
xere62
 
Mensajes: 14
Registrado: 07 Oct 2010, 21:06
Karma: 0

Re: colores en indicadores

Notapor jesuslopez » 25 Oct 2011, 12:14

xere62 escribió:A ver, te adjunto un indicador para MT4. Se trata del conocido Slope Line. Si lo adjuntas a un gráfico cualquiera, verás que dibuja la curva en dos colores, azul o rojo, según la tendencia sea creciente o decreciente, respectivamente. ¿Cómo lo hace?

Fíjate en las definiciones (las primeras líneas): #property indicator_buffers 2 , #property indicator_color1 LightBlue , etc. Aquí es donde se definen la cantidad de buffers (entiéndase como arrays de variables, en las cuales se almacenan los resultados de un cálculo cualquiera). Ya ves que se definen 2 buffers, y que asigna un color a cada uno de ellos.

Veamos ahora las declaraciones de los buffers en sí: double UpTrend[]; double DnTrend[]; double ExtMapBuffer[]; Observarás que son arrays de doubles. El tercero lo crea el programador para su uso interno, por su comodidad.

Ahora estudia toda la función init(), donde asigna un índice a cada buffer, además de ponerle color y tipo de línea... (esto ya te lo vas mirando tú, en la ayuda del MT4)

Y por último, te adjunto un fragmento significativo de la función start():
if (trend[x]>0) //si la tendencia es positiva, entonces coloca el valor en el buffer UpTrend, y pone un valor vacío EMPTY en el DnTrend
{ Uptrend[x] = ExtMapBuffer[x];
if (trend[x+1]<0) Uptrend[x+1]=ExtMapBuffer[x+1];
Dntrend[x] = EMPTY_VALUE;
}
else
if (trend[x]<0) //si la tendencia es negativa, entonces coloca el valor en el buffer DnTrend, y pone un valor vacío EMPTY en el UpTrend
{
Dntrend[x] = ExtMapBuffer[x];
if (trend[x+1]>0) Dntrend[x+1]=ExtMapBuffer[x+1];
Uptrend[x] = EMPTY_VALUE;
}

Espero que esto te ayude... Aunque si no has programado mucho, no te queda más remedio que: intento-error-intento-error-intento-bravo!

hola xere62,ese es el problemas,falta de horas de vuelo,muchas gracias,voy a probar.
jesuslopez
 
Mensajes: 6
Registrado: 18 Oct 2011, 12:44
Karma: 0

Re: colores en indicadores

Notapor Vitelio12 » 15 Ago 2016, 20:21

Hola buen día.

tengo una pregunta, espero que puedan ayudarme. En cuanto a la discusión de la constante EMPTY_VALUE como harían un ciclo que lea cuando un buffer adquiere el valor de EMPTY_VAlUE para un EA, digamos que el buffer 0 es el buffer que adquiere un color azul para marcar una tendencia alcista y que el buffer 1 adquiere el color rojo para marcar tendencia bajista tambien digamos que ya has llamado a ambos buffers del indicador que muestra estos colores mediante la función iCustom y le has asignado a cada buffer los nombres de "A" para el buffer que contiene el color azul y "R" para el que contiene el color rojo.

Para explicarme mejor: Pretendo hacer un EA que abra y cierre ordenes al cambio de color de un indicador (La media de hull), tengo muy claro como hacer los ciclos para seleccionar ordenes y cerrarlas para luego abrir una en el sentido que deseo, lo que no logro conseguir es hacer una función que lea cuando uno de los dos buffers esta vacio y el otro aquiere un valor.
Vitelio12
 
Mensajes: 3
Registrado: 30 Jul 2016, 00:57
Karma: 0

Re: colores en indicadores

Notapor FXWizard » 17 Ago 2016, 12:10

Vitelio12, casi mejor que abras un hilo nuevo, este tema es diferente al que se trata en el hilo.

Saludos,
FXWizard
Avatar de Usuario
FXWizard
 
Mensajes: 8493
Registrado: 12 Feb 2008, 15:17
Karma: 35


Volver a Indicadores

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 0 invitados