Patrón de Contracción de Volatilidad (VCP)
Forums › ProRealTime foro Español › Soporte ProBuilder › Patrón de Contracción de Volatilidad (VCP)
- This topic has 8 replies, 4 voices, and was last updated 1 week ago by Iván.
-
-
10/24/2024 at 11:16 PM #239438
He revisado todo el foro sobre el patrón taza y sólo he encontrado esto:https://www.prorealcode.com/topic/patron-taza/
Como no es exactamente lo que quiero y no está muy logrado el anterior indicador….Solicito a Iván, si es posible, realizar el indicador VCP del cual adjunto descripción:
El patrón VCP es esencial para los operadores de swing, ya que señala el potencial de un movimiento significativo de precios. El patrón se produce cuando una acción pasa por una serie de contracciones en precio y volumen, lo que indica que la presión de venta está disminuyendo y la acción se está preparando para una posible ruptura.
Componentes clave del VCP(IMAGEN 1):
Compradores atrapados (TB): estos son inversores que compraron en el pico y ahora están “atrapados” en una posición a medida que el precio de la acción disminuye. Es probable que vendan cuando el precio vuelva a acercarse a su precio de compra, creando resistencia.
Reducción de pérdidas (LC): cuando la acción cae, algunos inversores reducirán sus pérdidas y venderán sus posiciones, lo que aumentará la presión a la baja.
Toma de ganancias (PT): una vez que la acción se recupera, aquellos que tienen ganancias por comprar a precios más bajos pueden comenzar a tomar ganancias, lo que puede llevar a una reversión temporal o un retroceso en el precio.
Pescadores de fondo (BF): estos son inversores que buscan comprar la acción a lo que perciben como un precio de ganga, a menudo cerca de los mínimos de los retrocesos.
Etapas del VCP:
Declive inicial (1): La acción experimenta una caída significativa en el precio, a menudo en un volumen alto, lo que indica una fuerte presión de venta.
Primera contracción (2): El precio comienza a estabilizarse y contraerse. El volumen disminuye aquí, lo que sugiere que la presión de venta está disminuyendo.
Avance (3): El precio de la acción aumenta, lo que potencialmente lleva a que los TB se vendan cerca de sus puntos de equilibrio. Esto puede crear resistencia, pero si la acción puede superar este nivel, es una señal positiva.
Segunda contracción (4): Se forma un mínimo más alto en comparación con el mínimo inicial. El volumen se contrae aún más, lo que indica que la presión de venta continúa disminuyendo.
Avance y contracciones posteriores (5): El patrón se repite, con cada retroceso más superficial y con un volumen menor, lo que muestra que la oferta se está absorbiendo y la demanda está tomando el control.
Ruptura (6): Finalmente, la acción sale del VCP con un volumen mayor, lo que indica que la demanda ha abrumado a la oferta restante.
Ejemplo imagen 2 de la estrategia del Patrón de Contracción de Volatilidad (VCP)
- Chartismo: Se produce una comprensión del precio de izquierda a derecha, donde la volatilidad va de más a menos, dibujando lo que en chartismo se conoce como una cuña
- Volumen: El volumen conforme el precio se vaya comprimiendo irá bajando, en una especie de divergencia bajista con el precio. Mientras el precio quiere subir, el volumen buscará bajar.
Veámos en imagen 3, todo lo explicado:
- Líneas negras: Simbolizan la cuña chartista que se está formando.
- Líneas moradas: Están en el volumen, vemos como la acción va perdiendo negociación, mientras poco a poco el precio busca subir, es decir, se da una divergencia precio-volumen
- Círculo azul marino: Punto de entrada y posición de nuestra orden de compra. Ruptura de la cuña con una vela verde fuerte y decidida, nada de dojis o velas de indecisión.
- Línea naranja (apenas se ve): Stoploss, ligeramente por debajo de la ruptura de la cuña (siempre es recomendable dar un margen del 2%-3% al soporte).
Me conformo también con el patrón taza y asa : en el que la taza y el asa se forman con una línea de tendencia de resistencia horizontal que conecta los puntos altos del swing en una línea recta.(imagen4)
10/24/2024 at 11:23 PM #239441No me digáis que está aquí:https://www.prorealcode.com/topic/cup-and-handle-pattern-andhigh-tight-flag-and-vcp-volatility-pattern/
Eso no me interesa ni me parece efectivo.
10/27/2024 at 12:24 PM #239560hello ,regardez le mien
https://www.prorealcode.com/prorealtime-indicators/cup-with-handle/ et son screener https://www.prorealcode.com/prorealtime-market-screeners/cup-with-handle-screener/
10/28/2024 at 12:11 AM #239585Gracias por la información lo he estado probando y no lo veo muy efectivo, no me sirve……..
Yo quiero el VCP ó la taza y el asa que se forman con una línea de tendencia de resistencia horizontal que conecta los puntos altos del swing en una línea recta.
11/02/2024 at 3:16 PM #23990111/15/2024 at 1:41 PM #24039912/06/2024 at 9:14 PM #24122012/09/2024 at 3:56 PM #24127712/12/2024 at 4:33 PM #241362Buenas!
He comenzado a programarlo. Hay muchas variables más que se podrían definir adicionalmente.
De momento lo he dejado así porque al pasar screener ya sólo aparecen unos pocos valores. O sea que se puede descartar rápidamente.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129//---------------------------------------------------////version = 0//12.12.2024//Iván González @ www.prorealcode.com//Sharing ProRealTime knowledge//---------------------------------------------------////Inputs//---------------------------------------------------//defparam drawonlastbaronly=truesrc1 = low//min(open,close)src2 = high//max(open,close)//leftbars=40//rightbars=10//tol=5 //%$type[0]=1//---------------------------------------------------////Pivots low//---------------------------------------------------//if src1 > src1[rightbars] and lowest[rightbars](src1) > src1[rightbars] and src1[rightbars] < lowest[leftbars](src1)[rightbars+1] thenif $type[n]=1 then$pivoty[n+1]=src1[rightbars]$pivotx[n+1]=barindex[rightbars]$type[n+1]=-1n=n+1else$pivoty[n]=src1[rightbars]$pivotx[n]=barindex[rightbars]$type[n]=-1endifendif//---------------------------------------------------////Pivots high//---------------------------------------------------//if src2 < src2[rightbars] and highest[rightbars](src2)<src2[rightbars] and src2[rightbars]>highest[leftbars](src2)[rightbars+1] thenif $type[n]=-1 then$pivoty[n+1]=src2[rightbars]$pivotx[n+1]=barindex[rightbars]$type[n+1]=1n=n+1else$pivoty[n]=src2[rightbars]$pivotx[n]=barindex[rightbars]$type[n]=1endifendif//---------------------------------------------------////Average True Range Calculation//---------------------------------------------------//atr=averagetruerange[20](close)//---------------------------------------------------//////---------------------------------------------------//if n>6 thenx1=$pivotx[n-5]y1=$pivoty[n-5]x2=$pivotx[n-4]y2=$pivoty[n-4]x3=$pivotx[n-3]y3=$pivoty[n-3]x4=$pivotx[n-2]y4=$pivoty[n-2]x5=$pivotx[n-1]y5=$pivoty[n-1]x6=$pivotx[n]y6=$pivoty[n]//y1-y3-y5 aprox en la misma horizontaltolerance=tol/100ymax=max(y1,max(y3,y5))ymin=min(y1,min(y3,y5))c1=100*(ymax/ymin-1)<=tol//y2 menor que y1c2=y2<y1//y4 menor que y3c3=y4<y3//y6 menor que y5c4=y6<y5//y6 mayor que y4 e y4 mayor que y2c5=y6>y4 and y4>y2//Caida inicialcaida=round((y2/y1-1)*100,2)setup = $type[n]=-1 and c1 and c2 and c3 and c4 and c5 and caida<-15endif//---------------------------------------------------//// Cálculos en la última barra//---------------------------------------------------//if islastbarupdate thenfor i=0 to barindex doif setup[i] thendrawpoint(x1[i],y1[i],2)coloured("blue")drawpoint(x2[i],y2[i],2)coloured("red")drawpoint(x3[i],y3[i],2)coloured("blue")drawpoint(x4[i],y4[i],2)coloured("red")drawpoint(x5[i],y5[i],2)coloured("blue")drawpoint(x6[i],y6[i],2)coloured("red")drawrectangle(x1[i],y1[i],x5[i],y5[i])coloured("orange",0)fillcolor("orange",70)drawsegment(x1[i],y1[i],x2[i],y2[i])coloured("darkred")style(dottedline3,2)down=caida[i]drawtext("#down# %",x2[i],y2[i]-atr[i])coloured("darkred")drawsegment(x2[i],y2[i],x3[i],y3[i])coloured("darkblue")style(dottedline3,1)drawsegment(x4[i],y4[i],x3[i],y3[i])coloured("darkred")style(dottedline3,1)drawsegment(x4[i],y4[i],x5[i],y5[i])coloured("darkblue")style(dottedline3,1)drawsegment(x6[i],y6[i],x5[i],y5[i])coloured("darkred")style(dottedline3,1)breakendifnextendif//---------------------------------------------------//returnscreener123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596//---------------------------------------------------//////version = 0//12.12.2024//Iván González @ www.prorealcode.com//Sharing ProRealTime knowledge//---------------------------------------------------////Inputs//---------------------------------------------------//src1 = low//min(open,close)src2 = high//max(open,close)leftbars=40rightbars=10tol=5$type[0]=1//---------------------------------------------------////Pivots low//---------------------------------------------------//if src1 > src1[rightbars] and lowest[rightbars](src1) > src1[rightbars] and src1[rightbars] < lowest[leftbars](src1)[rightbars+1] thenif $type[n]=1 then$pivoty[n+1]=src1[rightbars]$pivotx[n+1]=barindex[rightbars]$type[n+1]=-1n=n+1else$pivoty[n]=src1[rightbars]$pivotx[n]=barindex[rightbars]$type[n]=-1endifendif//---------------------------------------------------////Pivots high//---------------------------------------------------//if src2 < src2[rightbars] and highest[rightbars](src2)<src2[rightbars] and src2[rightbars]>highest[leftbars](src2)[rightbars+1] thenif $type[n]=-1 then$pivoty[n+1]=src2[rightbars]$pivotx[n+1]=barindex[rightbars]$type[n+1]=1n=n+1else$pivoty[n]=src2[rightbars]$pivotx[n]=barindex[rightbars]$type[n]=1endifendif//---------------------------------------------------////Average True Range Calculation//---------------------------------------------------////atr=averagetruerange[20](close)//---------------------------------------------------//////---------------------------------------------------//if n>6 then//x1=$pivotx[n-5]y1=$pivoty[n-5]//x2=$pivotx[n-4]y2=$pivoty[n-4]//x3=$pivotx[n-3]y3=$pivoty[n-3]//x4=$pivotx[n-2]y4=$pivoty[n-2]//x5=$pivotx[n-1]y5=$pivoty[n-1]//x6=$pivotx[n]y6=$pivoty[n]//y1-y3-y5 aprox en la misma horizontalymax=max(y1,max(y3,y5))ymin=min(y1,min(y3,y5))c1=100*(ymax/ymin-1)<=tol//y2 menor que y1c2=y2<y1//y4 menor que y3c3=y4<y3//y6 menor que y5c4=y6<y5//y6 mayor que y4 e y4 mayor que y2c5=y6>y4 and y4>y2//Caida inicialcaida=round((y2/y1-1)*100,2)setup = $type[n]=-1 and c1 and c2 and c3 and c4 and c5 and caida<-15endifscreener[setup]// and n<>n[1]] -
AuthorPosts