Ayuda a la codificación - página 140

 

Estimado Mladen / Mrtools

El indicador adjunto es la "versión de la línea", pero ¿es posible modificar el indicador como "Volty Channel Stop" como se muestra en la imagen?

Sería genial si ambos indicadores (Line y Volty) cambian su señal al mismo tiempo(líneas verticales en la imagen).

Gracias por cualquier ayuda

secretcode

Archivos adjuntos:
 
secretcode:
Estimado Mladen / Mrtools

El indicador adjunto es la "versión de la línea", pero ¿es posible modificarlo como indicador "Volty Channel Stop" como se muestra en la imagen?

Sería estupendo que ambos indicadores (Line y Volty) cambiaran su señal al mismo tiempo (líneas verticales en la imagen).

Gracias por cualquier ayuda

secretcode

secretcode

Si te refieres a si el puede dar señales en los mismos lugares, tal vez pueden usar algunos ajustes especiales, pero la matemática detrás de los dos es diferente y no creo que sea posible tener todas las señales en los mismos lugares, independientemente de lo que la configuración que utiliza para los dos

 

Hola mladen,

escribimos hace un tiempo sobre mi problema. No lo he solucionado hasta ahora.

Pero tengo otra pregunta. Intenté importar el indicador con la función iCustom().

¿No es posible copiar el código del indicador al ea y eliminar todas las alertas y otras funciones, pero la condición podría ser comprobada?

 
mladen:
secretcode Si te refieres a si el puede dar señales en los mismos lugares, tal vez pueden utilizando algunos ajustes especiales, pero la matemática detrás de los dos es diferente y no creo que sea posible tener todas las señales en los mismos lugares, independientemente de lo que la configuración que se utiliza para los dos

Gracias Mladen por la amable respuesta y explicación

Saludos cordiales

secretcode

 
arroganzmaschine:
Hola mladen,

escribimos hace un tiempo sobre mi problema. No lo he solucionado hasta ahora.

Pero tengo otra pregunta. Intenté importar el indicador con la función iCustom().

¿No es posible copiar el código del indicador en el ea y eliminar todas las alertas y otras funciones, pero se podría comprobar la condición?

arroganzmaschine

La forma más limpia y sencilla de hacerlo es utilizando iCustom(). Todas las demás formas son muy complicadas comparadas con usar un indicador normal y luego llamarlo usando iCustom() y en algunos casos ni siquiera es posible hacerlo como se debe

 

¿Tengo que importar todos los parámetros externos con la función iCustom()que están en el indicador? ¿Y cómo se declaran los buffers?

El indicador dice: double Long[]; es un buffer. ¿Estoy en lo cierto?

 
arroganzmaschine:
¿Tengo que importar todos los parámetros externos con la función iCustom() que están en el indicador? ¿Y cómo se declaran los buffers? El indicador dice: double Long[]; es un buffer. ¿Estoy en lo cierto?

arroganzmaschine

double Long[] no es un buffer sino un array. Se convierte en un buffer sólo cuando lo declaras como buffer con la función SetIndexBuffer(). Pero en el EA no puedes declarar un buffer con SetIndexBuffer(). No hará nada en el EA (al igual que un montón de funciones específicas sólo para los indicadores que no harán nada si se utilizan desde un EA)

Si no estás familiarizado con las matrices y cómo trabajar con ellas, te recomiendo sinceramente que utilices indicadores normales y llamadas a iCustom() ya que te llevará mucho tiempo hasta que aprendas todo lo necesario para simular el trabajo de los indicadores desde el código del EA sin tener realmente un indicador externo

 

¿Cómo puedo obtener los dos valores diferentes de un buffer[] o array en este caso. ¿Como Long[1] = HIGH y Long[2] = LOW con la función iCustom?

Gracias.

 
arroganzmaschine:
Cómo puedo obtener los dos valores diferentes de un buffer[] o array en este caso. ¿Como Long[1] = HIGH y Long[2] = LOW con la función iCustom? Gracias.

No se puede obtener un valor de un array, variable o cosas similares desde un código externo

Puedes obtener el valor de un buffer indicador con una llamada a iCustom()

Echa un vistazo a este hilo : https://www.mql5.com/en/forum/173108 y creo que todo lo que se necesita saber sobre las llamadas a iiCustom() y lo que están haciendo (incluyendo cómo acceder a los diferentes elementos de un buffer) se describe allí

 

Pero esto no me ayuda. Los dos buffers son 4 y 5. Pero los buffers eran arrays antes.

Aquí está el código: SetIndexBuffer(4, Long);

SetIndexBuffer(5, Short);

En el indicador, estos buffers se declaran primero con "double Long[]". Este buffer tiene dos valores. Long[1] y Long[2]. ¿Cómo puedo obtener estos valores en el asesor experto?