Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. En ninguna parte sin ti - 6. - página 1164

 
Aleksey Vyazmikin:

Entonces, ¿quieres dibujar niveles y que el programa los encuentre y lea el precio?


No, el indicador los dibujará usando el algoritmoClose[i+1]>Open[i+1] && Close[i+2]<Open[i+2]...Close[i+1]<Open[i+1] && Close[i+2]>Open[i+2].

No puedo encontrar los precios de estos niveles, así que cuando estas formaciones (líneas) se rompen, el indicador dibuja un icono por ejemplo

 

Close[i+1]>Open[i+1] && Close[i+2]<Open[i+2] en esta formación necesito obtener el precio del mínimoi+2

Close[i+1]<Open[i+1] && Close[i+2]>Open[i+2]en esta formación necesito obtener el precio delmáximoi+2

entonces cuando ha roto el alto/medio, el indicador debería dibujar un icono por ejemplo. veo la ruptura al alza comoClose[i+1]>Precio máximo (i+2) de la formación

Close[i+1]<Open[i+1] && Close[i+2]>Open[i+2]

 
Lankaster:

Close[i+1]>Open[i+1] && Close[i+2]<Open[i+2] en esta formación necesito obtener el precio del mínimoi+2

Close[i+1]<Open[i+1] && Close[i+2]>Open[i+2]en esta formación necesito obtener el precio delmáximoi+2

entonces cuando ha roto el alto/medio, el indicador debería dibujar un icono por ejemplo. veo la ruptura al alza comoClose[i+1]>Precio máximo (i+2) de la formación

Close[i+1]<Open[i+1] && Close[i+2]>Open[i+2].


No lo probé de esta manera:

High[iHighest(Symbol(),Period(),2,i)]; - máximo de i a i+2

Low[iLowest(Symbol(),Period(),2,i)]; - mínimo a partir de i hasta i+2

 
Vitalii Ananev:

No lo probé de esta manera:

Alto[iMáximo(Símbolo(),Periodo(),2,i)]; - máximo que comienza desde i hasta i+2

Low[iLowest(Symbol(),Period(),2,i)]; - mínimo a partir de i hasta i+2


Si no me equivoco, buscará máximos y mínimos entre 2 velas independientemente de su dirección.

el máximo de una vela alcista de la primera formación y el mínimo de una vela bajista de la segunda formación.

Espero que quede claro, mi cabeza ya está hirviendo :)

 
Lankaster:

No, el indicador dibujará utilizando el algoritmoClose[i+1]>Open[i+1] && Close[i+2]<Open[i+2]...Close[i+1]<Open[i+1] && Close[i+2]>Open[i+2]

No encuentro los precios de estos niveles, por lo que cuando se rompen estas formaciones (líneas), el indicador dibuja un icono por ejemplo

Por desgracia, sigo sin entenderlo, pero parece un canal donciano - mira en el código base...
 
Aleksey Vyazmikin:
Por desgracia, sigo sin entenderlo, pero parece un canal donchiano - mira en el código base...

Sí, tienes razón parece un canal de Donchian en este enlace https://www.mql5.com/ru/code/10836 pero no entiendo cómo dibujar el icono cuando Close[i+1] cierra por encima del canal por ejemplo el 12 de junio de 2012 en el gráfico se puede ver que el indicador marcó el máximo, pero ¿cómo se verá el código de este cruce? Cierre[i+1]>Canal de Donchian? Pero, ¿cómo va a saber este Cierre[i+1] qué valor cruza? Porque entre este máximo y el precio actual hay máximos locales que el canal ha marcado y esos máximos tienen su propio valor del indicador

Канал Дончиана.
Канал Дончиана.
  • votos: 7
  • 2012.09.10
  • Лёха
  • www.mql5.com
Классический вариант индикатора со средней линией.
 
Lankaster:

Sí, tienes razón parece un canal de Donchian en este enlace https://www.mql5.com/ru/code/10836 pero no entiendo cómo dibujar el icono cuando Close[i+1] cierra por encima del canal por ejemplo el 12 de junio de 2012 en el gráfico se puede ver que el indicador marcó alto, pero ¿cómo se verá el código de este cruce? Close[i+1]>Canal de Donchian? Pero, ¿cómo va a saber este Close[i+1] qué valor cruza?


Es necesario comparar el precio con el indicador - función iCustom.

 
Aleksey Vyazmikin:

Es necesario hacer una comparación de precios con un indicador - función iCustom.


No entiendo cómo hacer esta comparación. Tal vez, sería más fácil hacer un dibujo de líneas horizontales de máximos y mínimos y dar a cada línea un nombre y luego, usando ObjectGet, obtener los precios de estas líneas?

 
Lankaster:

No entiendo cómo hacer esta comparación. ¿Quizás sería más fácil hacer líneas horizontales que dibujen estos máximos y mínimos y dar un nombre a cada línea y luego obtener los precios de estas líneas a través de ObjectGet?


Mira cómo está configurado el indicador, quizás haya alguna otra idea...

La idea es encontrar los puntos iniciales de los cruces en el indicador, recogerlos en un array y trasladarlos fuera del indicador - así se consumirán menos recursos si el cálculo debe hacerse para todo el gráfico y acceder a los datos varias veces por barra, por ejemplo en el Asesor Experto.

 
Aleksey Vyazmikin:

Mira cómo está configurado el indicador, quizás haya alguna otra idea...

La idea es encontrar los puntos de los cruces primarios en el indicador, recogerlos en una matriz gráfica y traducirlos desde el indicador - consumirá menos recursos si el cálculo debe hacerse en todo el gráfico y necesito acceder a los datos varias veces por barra, por ejemplo en el Asesor Experto.


Gracias, lo intentaré.