Buenas!
Estoy intentando crear un código que cuente las velas y se ajuste, a ser posible, automáticamente. La idea es que cuente las velas dentro de un Timeframe de 5 minutos, sabiendo que 1 hora contiene 12 veces 5 minutos, me dijera que han pasado esas 12 velas y así saber que voy a cerrar una vela de 1h, por ejemplo la vela 6 de 5min sabría que estoy en el cierre de una vela de 30 min. Lo he intentado con BARINDEX pero me está dando muchos problemas, el camino aproximado sería este??:
i = Barindex
FOR i = 1 TO 13
Count = i + 1
IF high[i] >= high THEN
Break
ENDIF
NEXT
If i = 13 then
i = 1
endif
Return i
La idea NO es hacerlo mediante funciones de tiempo por si lo quiero usar para otra cosa que no tenga timeframe de tiempo, no quiero que cuente segundos horas etc si no la barra en sí. Una ayuda se agradecería!
Un saludo.
Esto devolverá una señal cada hora (en un marco de tiempo de 5 minutos):
IF Tally = 12 THEN
Signal = 1
ELSE
Signal = 0
ENDIF
IF OpenHour <> OpenHour[1] THEN
Tally = 0
ENDIF
Tally = Tally + 1
RETURN Signal AS "Signal"
Esto devolverá una señal cada 30 minutos (en un período de tiempo de 5 minutos):
IF Tally = 6 THEN
Signal = 1
ELSE
Signal = 0
ENDIF
IF (OpenMinute MOD 30) = 0 THEN
Tally = 0
ENDIF
Tally = Tally + 1
RETURN Signal AS "Signal"
Buenas Roberto, muchas gracias por el aporte, aunque hay un problemilla, me refería a no usar funciones de tiempo debido a problemas en gráficos de ticks en los que estas funciones no valen.
Son velas cronometradas, por lo que solo usando el tiempo se puede obtener un resultado. Si usa BARINDEX para contar velas, ¿cuándo tiene que detener el conteo?
En barras de Tick no hay tiempo y es el problema, no se cómo hacer el conteo de barras.
Sería algo así como contar cada vez que se cierre una barra de ese tick (Sólo se me ocurre contar barras con barindex, (no sé como hacer que las cuente en graficos de tick) entonces con cada cierre de barindex, un contador sumaría cada barra “count = i+1” siendo i la suma de Barindex). Además poner una variable x=5, cuando i =x (i=5) entonces i == 0. Y así cada vez que contara 5 barras volvería a 0 y volvería a empezar la cuanta hasta 5 y así de modo infinito.
Se me ocurre esto pero no lo he probado:
A = barindex
B = barindex-barindex[1]
C = i
FOR i = 1 TO 5
Count = i + B
IF high[i] >= high THEN
Break
ENDIF
i = 1
NEXT
Return A, B, C
BarIndex es el número progresivo de las barras. ¿Cuántos quieres contar?
Me gustaría contar 5 barras en graficos de tick
Esto cuenta los grupos de 5 barras:
Once Tally = 0
Once Bars = 0
Bars = Bars + 1
If Bars = 5 Then
Tally = Tally + 1
Bars = 0
Endif
Return Tally AS “Count”
Perfecto Roberto!
Le he hecho algún arreglo para cuadrar con gráficos mayores los conteos de tick y he añadido variable añadida X en valor nominal que se puede modificar. Ahora contará de 1 a 5 velas y puedo comenzar el conteo de velas en el punto que quiera.
//X=0 (Variable modificable en configuración de indicador)
Once Tally = 0
Once Bars = 1+x
Bars = Bars + 1
If Bars = 6 Then
Tally = Tally + 1
Bars = 1
Endif
Return bars