screener con filtro kalman
Forums › ProRealTime foro Español › Soporte ProScreener › screener con filtro kalman
- This topic has 5 replies, 3 voices, and was last updated 5 months ago by jesus1975.
-
-
07/05/2024 at 11:42 AM #234814
Pretendo construir un screener con el indicador filtro de kalman, presente en la biblioteca de prorealcode.
El screener calcula el número de giros(el inverso al número de giros) que se han producido en el anterior indicador en las últimas 250 barras(es lo que me permite la versión completa), con objeto de buscar los valores que menos giros tengan, es decir, valores en los que la tendencia sea más constante en el tiempo. Esto es lo que he construido, pero el resultado del screener no es el esperado y no sé por qué, a ver si alguien ayudar.
Saludos
12345678910111213141516171819202122232425262728293031REMTIMEFRAME(1 hour)Series = TotalPriceONCE Pred = SeriesIF BarIndex = 0 THENKF = SeriesELSESmooth = Pred + (Series - Pred) * SQRT((K / 10000) * 2)Velo = Velo + ((K / 10000) * (Series - Pred))Pred = Smooth + VeloKF = PredENDIFonce nintervalos=0FOR i=0 TO 250 DOcambioup=kf[i]> kf[i+1] and kf[i+1]<kf[i+2]cambiodw=kf[i]< kf[i+1] and kf[i+1]>kf[i+2]if cambioup or cambiodw thennintervalos=nintervalos + 1elseendifNEXT//c1=volume>4000000c2=barindex>253SCREENER[c2](1/nintervalos*1000 as " menor numero giros")07/05/2024 at 12:18 PM #234815¡Hola! Prueba utilizando islastbarupdate
12345678910111213141516once nintervalos=0if islastbarupdate thenFOR i=0 TO 250 DOcambioup=kf[i]> kf[i+1] and kf[i+1]<kf[i+2]cambiodw=kf[i]< kf[i+1] and kf[i+1]>kf[i+2]if cambioup or cambiodw thennintervalos=nintervalos + 1elseendifNEXTendif//c1=volume>4000000c2=barindex>253SCREENER[c2](nintervalos as " menor numero giros")2 users thanked author for this post.
07/05/2024 at 12:21 PM #234817Creo que es la variable K (no la incluiste en el código que publicaste).
No debe exceder los 250.1 user thanked author for this post.
07/05/2024 at 12:25 PM #234818No, lo siento, me equivoqué, K no es el número de unidades, así que ese no puede ser el problema.
1 user thanked author for this post.
07/05/2024 at 1:15 PM #23482207/05/2024 at 1:21 PM #23482312345678910111213141516171819202122232425262728293031REMTIMEFRAME(1 hour)k=4//valores entre 1 y 100Series = TotalPriceONCE Pred = SeriesIF BarIndex = 0 THENKF = SeriesELSESmooth = Pred + (Series - Pred) * SQRT((K / 10000) * 2)Velo = Velo + ((K / 10000) * (Series - Pred))Pred = Smooth + VeloKF = PredENDIFonce nintervalos=0if islastbarupdate thenFOR i=0 TO 250 DOcambioup=kf[i]> kf[i+1] and kf[i+1]<kf[i+2]cambiodw=kf[i]< kf[i+1] and kf[i+1]>kf[i+2]if cambioup or cambiodw thennintervalos=nintervalos + 1elseendifNEXTendif//c1=volume>4000000c2=barindex>253SCREENER[c2](1/nintervalos as "inverso número giros")Quedaría así, por si alguien lo quiere usar. Saludos
1 user thanked author for this post.
-
AuthorPosts
Find exclusive trading pro-tools on