Porcentaje correccion-retroceso desde maximos
Forums › ProRealTime foro Español › Soporte ProScreener › Porcentaje correccion-retroceso desde maximos
- This topic has 25 replies, 2 voices, and was last updated 1 year ago by nautilus23.
-
-
03/09/2023 at 8:38 PM #211272En el gráfico del BUND, 5 minutos el descenso desde el punto 2 (aproximadamente 13.275) al punto 3 (aproximadamente 13.160), según mis cálculos efectuados a mano y salvo error mío es una corrección 0,85% aproximadamente. Por otra parte por lógica el BUND alemán no puede descender en cuatro horas es decir desde las 12 a las 16 según el gráfico adjuntado un 93,4% como señala el indicador.Lo que yo busco el ese resultado del 0,85%.Muchas gracias.Un saludo.03/09/2023 at 8:39 PM #211273
Lo que yo busco es ese resultado del 0,85%.
03/12/2023 at 12:47 PM #211410El punto mínimo del punto 1 es 13152.5, el máximo del punto 3 es 13273.5 (diferencia de 121 puntos).
El mínimo del punto 3 (retroceso) es 13160.5 igual a 113 puntos de retroceso, igual a 93.38 (redondeado a 93.4) de 121.
Todo me parece correcto. ¿Cómo calculaste tu 85%?
1 user thanked author for this post.
03/19/2023 at 12:44 PM #211731En la última imagen tenemos los puntos 2 y 3 que son los que importan para el cálculo. El punto 2 identificado como “HH 13.273,5” y el punto 3 identificado como “low retrace 13.160,5” la diferencia entre los dos es de 113. Estos 113 puntos si hacemos el cálculo manualmente equivalen al 0,85% de “HH 13.273,5″o expresado de otra manera el punto “low retrace 13.160,5” equivale al 99,15% del punto HH.
El “pullback% 93,4” de la imagen no sé con qué cifras está calculado pero en mi opinión no es correcto.
En la imagen que adjunté el 12/20/2022 at 12:10 PM se aprecia el cálculo en diario efectuado con la herramienta regla del programa. Yo tengo la versión fin de día por eso no puedo replicar ese mismo cálculo en la imagen que has enviado.
Muchas gracias Roberto.
03/20/2023 at 12:50 PM #211784Ahora entiendo. El cálculo del retroceso no suele hacerse así, no es un porcentaje del precio, sino un porcentaje del rango de precios que había en el periodo elegido.
Si el precio, en un período determinado, ha hecho una subida de 500 puntos y luego vuelve a 400 puntos, ha hecho un retroceso del 80%, independientemente del instrumento, de lo contrario, 400 puntos serían diferentes en SP o en DOW JONES o en EURUSD.
De todos modos, aquí está el cálculo como lo desea:
123456789101112131415161718192021222324252627282930313233343536373839DEFPARAM DrawOnLastBarOnly = TrueTrend = 0p = 250 //250 periodsHH = highest[p](high)LL = lowest[p](low)//Diff1 = abs(HH - LL)FOR i = 0 TO (p - 1)IF high[i] = HH THENTrend = 1MyBar = BarIndex[i]BREAKENDIFIF low[i] = LL THENTrend = -1//MyBar = BarIndex[i]HH = HH[1]LL = LL[1]Bx = Bx[1]Rg = Rg[1]BREAKENDIFNEXTIF Trend = 1 THENbx = BarIndexRetracement = lowest[max(1,BarIndex - MyBar)](low)Diff2 = HH - Retracement//PerCent = round(Diff2 * 100 / Diff1,1)PerCent = round(Diff2 * 100 / HH,2)Rg = average[p,0](Range) * 2.0ENDIFDrawSegment(MyBar,HH,Bx,HH) coloured("Blue")DrawSegment(MyBar,LL,Bx,LL) coloured("Blue")IF Trend = 1 THENDrawText("PullBack % : #PerCent#" ,Bx,HH + Rg*1.0) coloured("Blue",255)DrawText(" LOW retrace: #Retracement#",Bx,HH + Rg*1.5) coloured("Blue",255)DrawText(" HH : #HH#" ,Bx,HH + Rg*2.0) coloured("Blue",255)DrawText(" LL : #LL#" ,Bx,HH + Rg*2.5) coloured("Blue",255)ENDIFRETURNEste es el screener:
Screener1234567891011121314151617181920212223242526p = 250 //250 periodsPerCent = 30.0 //30.0 minimum % of retracementHH = highest[p](high)LL = lowest[p](low)Trend = 0Signal = 0IF close[p] > 0 THENFOR i = 0 TO (p - 1)IF high[i] = HH THENMyBar = BarIndex[i]Trend = 1BREAKENDIFIF low[i] = LL THENTrend = -1BREAKENDIFNEXTENDIFIF Trend = 1 THENRetracement = lowest[max(1,BarIndex - MyBar)](low)Diff2 = HH - RetracementPC = round(Diff2 * 100 / HH,2)Signal = (close <= Retracement)ENDIFSCREENER[Signal AND (PC >= PerCent)](PC AS "Pullback %")1 user thanked author for this post.
03/21/2023 at 11:58 PM #211900En primer lugar mis disculpas por no haberme explicado mejor.El indicador funciona perfectamente.En cuanto al screener lo he aplicado a los datos diarios del Ibex 35 y no me han salido los resultados correctos. He modificado el screener tomando como base el código del indicador que funciona perfectamente y de esta manera manera el screener da los mismos resultados que el indicador. De todas formas por favor revisa el código por si hubiera algún error de programación porque yo no entiendo casi nada y lo he hecho por intuición pero hay muchas líneas de código que no entiendo lo que hacen. En la imagen se ve que el resultado del screener 31,86 coincide con el porcentaje del indicador y el porcentaje calculado con la herramienta regla del programa. Adjunto imagen con los resultados e inserto el código del screener corregido para su revisión.Muchas gracias Roberto.Un saludo.1234567891011121314151617181920212223242526272829303132Trend = 0p = 250 //250 periodsHH = highest[p](high)LL = lowest[p](low)//Diff1 = abs(HH - LL)FOR i = 0 TO (p - 1)IF high[i] = HH THENTrend = 1MyBar = BarIndex[i]BREAKENDIFIF low[i] = LL THENTrend = -1//MyBar = BarIndex[i]HH = HH[1]LL = LL[1]Bx = Bx[1]Rg = Rg[1]BREAKENDIFNEXTIF Trend = 1 THENbx = BarIndexRetracement = lowest[max(1,BarIndex - MyBar)](low)Diff2 = HH - Retracement//PerCent = round(Diff2 * 100 / Diff1,1)PerCent = round(Diff2 * 100 / HH,2)Rg = average[p,0](Range) * 2.0ENDIFC1= HIGH < HHSCREENER[PerCent AND C1](PerCent AS "Pullback %")03/26/2023 at 4:35 PM #212147El filtro que publiqué es exactamente igual que el indicador, obviamente sin las instrucciones gráficas. No necesitas hacer ningún cambio.
Agregaste la variable C1, pero no es necesaria, ya que HIGH nunca puede ser mayor que HH.
No se que decirte, para mi los porcentajes entre el indicador y el screener coinciden. He notado que a veces hay resultados con tendencias bajistas, pero no sé por qué. El código es correcto.
Si intentas indicar menos periodos, por ejemplo 100 o 150, me parece que los resultados son más correctos.
Trato de preguntar a los otros moderadores para saber si tienen una explicación.
03/26/2023 at 7:04 PM #212161El error estuvo en haber usado -1 para las tendencias bajistas. ProScreener solo quiere números positivos.
Usé 0 para las tendencias bajistas que deberían descartarse.
Sin embargo, realicé algunos otros cambios menores para tratar de eliminar las acciones que tienen 0 precio o 0 volumen de los resultados.
Pruébalos y dame tu opinión.Indicator:
Indicator123456789101112131415161718192021222324252627282930313233343536373839DEFPARAM DrawOnLastBarOnly = TrueTrend = 0p = 250 //250 periodsHH = highest[p](high)LL = lowest[p](low)//Diff1 = abs(HH - LL)FOR i = 0 TO (p - 1)IF high[i] = HH THENTrend = 1MyBar = BarIndex[i]BREAKENDIFIF low[i] = LL THEN//Trend = -1//MyBar = BarIndex[i]HH = HH[1]LL = LL[1]Bx = Bx[1]Rg = Rg[1]BREAKENDIFNEXTIF Trend = 1 THENbx = BarIndexRetracement = lowest[max(1,BarIndex - MyBar)](low)Diff2 = HH - Retracement//PerCent = round(Diff2 * 100 / Diff1,1)PerCent = round(Diff2 * 100 / HH,2)Rg = average[p,0](Range) * 2.0ENDIFDrawSegment(MyBar,HH,Bx,HH) coloured("Blue")DrawSegment(MyBar,LL,Bx,LL) coloured("Blue")IF Trend = 1 THENDrawText("PullBack % : #PerCent#" ,Bx,HH + Rg*1.0) coloured("Blue",255)DrawText(" LOW retrace: #Retracement#",Bx,HH + Rg*1.5) coloured("Blue",255)DrawText(" HH : #HH#" ,Bx,HH + Rg*2.0) coloured("Blue",255)DrawText(" LL : #LL#" ,Bx,HH + Rg*2.5) coloured("Blue",255)ENDIFRETURNScreener:
1234567891011121314151617181920212223242526p = 250 //250 periodsPerCent = 20.0 //30.0 minimum % of retracementHH = highest[p](high)LL = lowest[p](low)Trend = 0Signal = 0IF (close[p] > 0) AND (close <> 0) AND (close <> open) AND (Volume > 0) THENFOR i = 0 TO (p - 1)IF high[i] = HH THENMyBar = BarIndex[i]Trend = 1BREAKENDIFIF low[i] = LL THEN//Trend = 0BREAKENDIFNEXTENDIFIF Trend = 1 THENRetracement = lowest[max(1,BarIndex - MyBar)](low)Diff2 = HH - RetracementPC = round(Diff2 * 100 / HH,2)Signal = (close <= Retracement)ENDIFSCREENER[Signal AND (PC >= PerCent)](PC AS "Pullback %")1 user thanked author for this post.
03/30/2023 at 8:28 AM #212495Me parecen bien los cambios que has efectuado.
He sustituido la línea 24 del screener
[Signal = (close <= Retracement)]
por la siguiente
[Signal = (close >= Retracement)]
que se ajusta más a lo que yo busco. Una vez hecho esto he ejecutado el screener y los resultados parecen ser correctos (adjunto imagen). En cuanto al indicador también parece que funciona. Seguiré haciendo pruebas.
En cuanto al indicador ¿es posible completarlo añadiéndole una nueva línea (low retrace) en el lugar señalado con flechas rojas?.
Muchas gracias y un saludo.
03/30/2023 at 4:14 PM #212563Aquí está modificado:
Indicator12345678910111213141516171819202122232425262728293031323334353637383940414243DEFPARAM DrawOnLastBarOnly = TrueTrend = 0p = 250 //250 periodsHH = highest[p](high)LL = lowest[p](low)FOR i = 0 TO (p - 1)IF high[i] = HH THENTrend = 1MyBar = BarIndex[i]BREAKENDIFIF low[i] = LL THENHH = HH[1]LL = LL[1]Bx = Bx[1]Rg = Rg[1]BREAKENDIFNEXTIF Trend = 1 THENbx = BarIndexRetracement = lowest[max(1,BarIndex - MyBar)](low)Diff2 = HH - RetracementPerCent = round(Diff2 * 100 / HH,2)Rbar = MyBarFOR i = 0 TO (p - 1)IF low[i] = Retracement THENRbar = BarIndex[i]breakENDIFNEXTRg = average[p,0](Range) * 2.0ENDIFDrawSegment(MyBar,HH,Bx,HH) coloured("Blue")DrawSegment(MyBar,LL,Bx,LL) coloured("Blue")IF Trend = 1 THENDrawSegment(Rbar,Retracement,BarIndex,Retracement) coloured("Grey",255)DrawText("PullBack % : #PerCent#" ,Bx,HH + Rg*1.0) coloured("Blue",255)DrawText(" LOW retrace: #Retracement#",Bx,HH + Rg*1.5) coloured("Blue",255)DrawText(" HH : #HH#" ,Bx,HH + Rg*2.0) coloured("Blue",255)DrawText(" LL : #LL#" ,Bx,HH + Rg*2.5) coloured("Blue",255)ENDIFRETURN1 user thanked author for this post.
04/11/2023 at 12:26 PM #213102La linea se dibuja correctamente.
Muy agradecido por tu ayuda Roberto.
Un saludo.
-
AuthorPosts
Find exclusive trading pro-tools on