seria mas facil ayudarte si nos explicas un poco mas del indicador y si nos puedes añadir unas imagenes de como funciona actualmente y como deberia de ser
Claro!
La idea del indicador es usarlo para tener una manera de predecir tendencia (https://www.mql5.com/es/articles/1374). Para ello, he estado tratando de pasar el indicador CandleColor ( esta adjunto en el articulo) que muestra las direcciones de las velas junto con el promedio de las mismas de mql4 a mql5. Funciona mediante una función que indica la dirección de las velas y las grafica como histogramas y también calcula el promedio de las velas. Quisiera que me quede como en la primera figura del articulo adjunto, pero me aparece esto
https://charts.mql5.com/20/347/eurusd-m1-metaquotes-software-corp.png
La linea verde es la del problema.
Cuando trabajo solo con el buffer del promedio todo sale ok, pero cuando trabajo con este y otro buffer de direcciones, es cuando aparece el problema- www.mql5.com
Mira lo que sucede es lo siguiente:
for(int i = 0; i < k + counted_bars + 1; i++) { PromBuffer[i] = open[i]; }
En esta parte al Buffer de la linea verde siempre le estas poniendo el precio de apertura,
cuando solo dibujas esa linea verde cuyo precio oscila en un rango de 1.13000 a 1.15000 que es el precio de las cotizaciones, el grafico de abajo se ajusta a ese minimo y a por eso puedes ver la oscilación.
Sin embargo si añades otros buffers con precios de rango +1.00000 y -1.00000 el grafico de abajo debe ajustarse automaticamente para llegar del 1.15000 de maximo que teniamos antes hasta el -1.00000 que le hemos puesto ahora.
El resultado es que todo se representa bien, pero la linea de precios de apertura como su oscilación son apenas unos decimales y el grafico esta tan minimizado en la escala vertical, queda dibujado como un plano.
Por otro lado veo que estas usando un ciclo for(..) en positivo y la indexación de los buffers como veo en los otros dos, es en negativo, deberías usar la misma indexación para los 3 buffers (indice limit).
Asi que elimina ese ciclo for(...) y resumelo todo en el while(...) que ya tienes.
La solución que yo te propondria seria que promedies con los otros dos buffers en lugar de poner precio de apertura, haciendo una especie de media movil de 2 o 3 o 4 velas hacia atras (en codigo):
while ( limit >= 0) { ClupBuffer[limit] = MathMax(0,GetCandleDirection(limit,open,close)); CldwBuffer[limit] = MathMin(0,GetCandleDirection(limit,open,close)); PromBuffer[limit] = (ClupBuffer[limit] + CldwBuffer[limit] + ClupBuffer[limit + 1] + CldwBuffer[limit + 1] + ClupBuffer[limit + 2] + CldwBuffer[limit + 2]) / 6; limit--; }
- 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
Hola a todos. Soy nuevo en mql. He tratado, con base a varios aritculos de mql, hacer un custom indicator que me ayude a averiguar tendencia. la cosa es que para la grafica de la linea de promedios, se me muestra una linea plana. La pregunta es: ¿cómo puedo organizar dicha linea?
Aqui esta el codigo que he usado