Buenas tardes,
he creado un indicador, y quería saber como poder usarlo en otro indicador que estoy creando. A la hora de programar tenemos CALL y el nombre del indicador que programe anteriormente.
El indicador que programe, me devuelve en flechas amarillas, allí donde ha ocurrido uno de los eventos que busco. Imagen 1 (huecos.png)
Lo que quiero, es poder comparar los máximos del precio allí donde están las flechas amarillas, para que este nuevo indicador solo me devuelva un único elemento o bien linea o media. Algo parecido a la imagen 2 (huecos2.png)
El problema lo tengo, que en el primer indicador si hago return de barindex (posicion donde ocurre) en el siguiente indicador no me sirve, y si le paso un array, no se como devolverlo.
Se programar en java, no se si aquí se puede hacer algo parecido.
alcista = 0
bajista = 0
IF(open[1] < close[1]) then
alcista = 1
endif
IF(open[1] > close[1]) then
bajista = 1
endif
huecoProfesionalAlcista = 0
huecoProfesionalBajista = 0
IF(bajista=1 and open > high[1]) then
huecoProfesionalAlcista = 1
ENDIF
if(alcista=1 and open < low[1]) then
huecoProfesionalBajista = 1
ENDIF
IF huecoProfesionalAlcista=1 THEn
DRAWARROWUP (barindex, high + high*0.005) coloured(255, 255, 0)
ENDIF
IF huecoProfesionalBajista=1 THEn
DRAWARROWDOWN (barindex, low - low*0.005) coloured(255, 255, 0)
ENDIF
return
No se si te he entendido bien pero PRT no permite pasar ni devolver arrays a otros indicadores que yo sepa, lo unico que se me ocurre es que el return del primer indicador te devuelva el barindex y el maximo del precio. Otra posibilidad sería incluir el codigo del primer indicador en el segundo indicador y asi ya puedes utilizar arrays para dibujar lineas, calcular medias etcetc.
Saludos
Hola buenos días. Muchas gracias por vuestra ayuda, voy a ver cómo lo puedo poner. Espero poder contar con vuestra ayuda en otro momento. Un saludo y g racias.
No se pueden pasar ARRAYS.
Para BarIndex, puedes hacer esto en el indicador de llamada:
// Indicador que realiza la llamada
//
Senal = CALL Indicadorllamado
SenalBar = 0
IF Senal THEN
SenalBar = BarIndex
ENDIF
De esta manera BarIndex no es el del indicador llamado, sino el del que llama.