Hola a todos,
Estoy interesado en utilizar el indicador VWAP para una estrategia. Dado que las Bandas VWAP disponibles en la plataforma no se pueden utilizar directamente, he decidido usar el siguiente indicador:
https://www.prorealcode.com/topic/vwap-band-indicator/
El problema que estoy encontrando es que no puedo cambiar el “Modo intervalo” en el indicador de la comunidad. En otras palabras, el indicador está programado para reiniciarse en cada intervalo. Sin embargo, para la estrategia que estoy desarrollando, necesitaría que el intervalo sea “deslizante”.
Adjunto capturas de pantalla que muestran ambas situaciones: el VWAP con línea verde es el indicador creado por la comunidad, mientras que el VWAP con línea azul es el que viene integrado en la plataforma. En estas capturas se puede apreciar la diferencia que hay entre una y otra.
¡Muchas gracias por su ayuda!
Si entiendo correctamente quieres esto, donde agregué la variable Reiniciar:
//PRC_VWAP Bands v11 intraday
//04/07/2022
//Nicolas @ www.prorealcode.com
//Sharing ProRealTime knowledge
//Reiniciar = 1
once d = 1
IF Reiniciar THEN
d = max(1, intradaybarindex)
ENDIF
VWAP = SUMMATION[d](volume*typicalprice)/SUMMATION[d](volume)
if(intradaybarindex=0) then
IF Reiniciar THEN
sd = 0
ENDIF
else
p1 = SUMMATION[d](volume*typicalprice)
p2 = SUMMATION[d](volume)
p3 = SUMMATION[d](volume*typicalprice*typicalprice)
ma = p1/p2
ma2 = p3/p2
sd = sqrt(abs(ma2 - ma * ma))
endif
SDup1 = vwap+sd
SDlw1 = vwap-sd
SDup2 = vwap+sd*2
SDlw2 = vwap-sd*2
SDup3 = vwap+sd*3
SDlw3 = vwap-sd*3
if vwap>vwap[1] then
color = 1
else
color = -1
endif
//yesterday vwap
if intradaybarindex=0 then
yVWAP = VWAP[1]
endif
RETURN VWAP coloured by color as "VWAP", SDup1 coloured(102,102,102) as "upper 1 STD", SDlw1 coloured(102,102,102) as "lower 1 STD", SDup2 coloured(102,102,102) as "upper 2 STD", SDlw2 coloured(102,102,102) as "lower 2 STD", SDup3 coloured(102,102,102) as "upper 3 STD", SDlw3 coloured(102,102,102) as "lower 3 STD", yVWAP as "yesterday VWAP"
Adjunto también el archivo ITF que podéis importar y donde ya está declarada la variable Reiniciar.
Hola Roberto,
Gracias por la respuesta, pero lamentablemente no consigo que funciona igual que el de la plataforma. Adjunto imágenes, tanto con la variable reiniciar actividad como no. Siempre me da la misma curva que es diferente a la de la plataforma.
En mi plataforma tengo activado el horario ETH y para probar a ver si el error era mío, lo desactive. Pero como verás en las imágenes, el problema sigue igual, inclusive con otro activo.
Muchas gracias por todo.!
Lo he visto, pero no puedo saber cuándo comienza nuevamente el indicador original, parece hacerlo al comienzo de la semana, pero no obtengo los mismos resultados.
Le sugiero que solicite información al soporte de ProRealTime.
Buenas.
Este código te dará resultados iguales:
if day<>day[1] then
d=1
VWAP=typicalprice
else
d=d+1
if volume >0 then
VWAP = SUMMATION[d](volume*typicalprice)/SUMMATION[d](volume)
endif
sd = std[d](abs(typicalprice-vwap))
SDup1 = vwap+sd
SDlw1 = vwap-sd
SDup2 = vwap+sd*2
SDlw2 = vwap-sd*2
SDup3 = vwap+sd*3
SDlw3 = vwap-sd*3
endif
RETURN VWAP as "VWAP", SDup1 as "upper 1 STD",SDup2 as "upper 2 ",Sdup3 AS "upper 3 ",Sdlw1 as "lower 1",Sdlw2 as "lower 2",sdlw3 as "lower 3"
Hola Ivan,
Muchas gracias por el aporte, pero el código que necesito es con “Intervalo deslizante”. En tu aportación haz hecho el código teniendo en cuenta únicamente el “resetear en cada intervalo”.
Muchas gracias.