colores en indicadoreshola 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
Re: colores en indicadoresPues 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?
Re: colores en indicadores
hola xere62,voy a intentarlo pero creo que no llego a tanto ¿que quieres decir "crear dos buffers?. gracias
Re: colores en indicadoresA 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!
Re: colores en indicadores
hola xere62,ese es el problemas,falta de horas de vuelo,muchas gracias,voy a probar.
Re: colores en indicadoresHola 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.
Re: colores en indicadoresVitelio12, casi mejor que abras un hilo nuevo, este tema es diferente al que se trata en el hilo.
Saludos, FXWizard
7 mensajes
• Página 1 de 1
|
|
Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 0 invitados