Fisher indicator para ProRealTime
Forums › ProRealTime foro Español › Soporte ProBuilder › Fisher indicator para ProRealTime
- This topic has 11 replies, 4 voices, and was last updated 7 years ago by corzaroja.
-
-
10/21/2016 at 10:35 AM #15263
A continuación una solicitud que ha sido enviada a ProRealtime:
Desearia si me pueden pasar este indicador “Fisher m11” con el codigo de programacion de ProRealTime. Este çodigo es de MT4.
Les envio copia del código.Y una proposición de respuesta:
Fisher indicator
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556// Change line style to histogram and set colors as needed// in the indicator settings panel//Once period = 10Once priceSmoothing = 0.3Once indexSmoothing = 0.3lowestLow = Lowest[period](Low)highestHigh = Highest[period](High)periodRange = highestHigh - lowestLowmidPrice = (High + Low) / 2priceLocation = 2.0 * ((midPrice - lowestLow) / periodRange) - 1.0If smoothedLocation[1] thensmoothedLocation = priceSmoothing*smoothedLocation[1] + (1.0 - priceSmoothing)*priceLocationElsesmoothedLocation = (1.0 - priceSmoothing)*priceLocationEndifIf smoothedLocation > 0.99 thensmoothedLocation = 0.99Elsif smoothedLocation < -0.99 thensmoothedLocation = -0.99EndiffishIndex = Log((1+smoothedLocation)/(1-smoothedLocation))If smoothedFish[1] thensmoothedFish = indexSmoothing*smoothedFish[1] + (1.0 - indexSmoothing)*fishIndexElsesmoothedFish = (1.0 - indexSmoothing)*fishIndexEndifReturn smoothedFish as "Fisher Index"02/01/2017 at 8:44 PM #23485Lo veo tarde, pero por si aún puede serte útil.
El código que has puesto no es un MT4, quizás por ello nadie te ha respondido. el código que has puesto es en Prorealtime.
De todas formas, yo le he hecho un pequeño cambio y quedaria así:
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556// Change line style to histogram and set colors as needed// in the indicator settings panel//Once period = pOnce priceSmoothing = 0.3Once indexSmoothing = 0.3cero = 0lowestLow = Lowest[period](Low)highestHigh = Highest[period](High)periodRange = highestHigh - lowestLowmidPrice = (High + Low) / 2priceLocation = 2.0 * ((midPrice - lowestLow) / periodRange) - 1.0If smoothedLocation[1] thensmoothedLocation = priceSmoothing*smoothedLocation[1] + (1.0 - priceSmoothing)*priceLocationElsesmoothedLocation = (1.0 - priceSmoothing)*priceLocationEndifIf smoothedLocation > 0.99 thensmoothedLocation = 0.99Elsif smoothedLocation < -0.99 thensmoothedLocation = -0.99EndiffishIndex = Log((1+smoothedLocation)/(1-smoothedLocation))If smoothedFish[1] thensmoothedFish = indexSmoothing*smoothedFish[1] + (1.0 - indexSmoothing)*fishIndexElsesmoothedFish = (1.0 - indexSmoothing)*fishIndexEndifReturn smoothedFish as "Fisher Index", cero coloured (0,0,0) as "0"La variable p = 89 (el period del tuyo que era 10 es demasiado nervioso para mi gusto)
89 es un número de Fibonacci.
Luego con el indicador puesto, le cambias forma, lo pones en histograma y en color verde y rojo para positivo y negativo.
02/01/2017 at 8:47 PM #23487Tambien tienes este con 2 medias o puedes poner en invisible la MA1.
Es más alisado y con menos ruido, más claro a la vista y marca divergencias.
123456789101112131415161718192021222324period = PMA1period=9MA2period=45cero = 0MaxH = highest[period](high)MinL = lowest[period](low)price = customcloseif(barindex>MA2period) thenValue = 0.3*2*((price-MinL)/(MaxH-MinL)-0.5) + 0.67*Value[1]Fish = 0.3*LOG((1+Value)/(1-Value))+0.5*Fish[1]MA1 = Average[MA1period](Fish)MA2 = WeightedAverage[MA2period](MA1)endifIF fish THENSEMAFORO1 = 1ELSESEMAFORO1 = 0ENDIFRETURN SEMAFORO1 as "Fish", Fish as "line-Fish", MA1 as "MA fast signal",MA2 as "MA slow signal", CERO COLOURED (0,0,0) as "0"variable p = 10
LineFish en histograma verde y rojo en positivo y negativo
1 user thanked author for this post.
02/02/2017 at 9:32 AM #2351302/02/2017 at 1:11 PM #23556Hola Corsaroja
Tu indicador me parece muy bueno,si podemos tenerlo con las variaciones que van de 0 hasta 100 te agradeceria por el codigo; porque me gustaria mesclarlo
con otro que va de 0 hasta 100 tambien
gracias, un saludo.1234567891011121314151617181920212223242526272829303132// FISHER PRC V1 by Corsarojaperiod = PMA1period=9MA2period=45cero = 0MaxH = highest[period](high)MinL = lowest[period](low)price = customcloseif(barindex>MA2period) thenValue = 0.3*2*((price-MinL)/(MaxH-MinL)-0.5) + 0.67*Value[1]Fish = 0.3*LOG((1+Value)/(1-Value))+0.5*Fish[1]MA1 = Average[MA1period](Fish)MA2 = WeightedAverage[MA2period](MA1)endifIF fish THENSEMAFORO1 = 1ELSESEMAFORO1 = 0ENDIFRETURN SEMAFORO1 as "Fish", Fish as "line-Fish", MA1 as "MA fast signal",MA2 as "MA slow signal", CERO COLOURED (0,0,0) as "0"// Variable :// p = 10// Tambien tienes este con 2 medias o puedes poner en invisible la MA1. Es más alisado y con// menos ruido, más claro a la vista y marca divergencias.02/02/2017 at 6:51 PM #2366802/02/2017 at 6:55 PM #2366902/03/2017 at 11:19 AM #2375802/03/2017 at 3:08 PM #2379802/03/2017 at 4:05 PM #23802El Inverse Fisher transform RSI esta bien, lo utilizo hace años y funciona bastante bien.
Yo le he puesto una media movil para lisar los señales, ma parece mejor asi ?!
un saludo
1234567891011// INVERSE FISHER TRANSFORM RSI PRC by Corzarojaind=RSI[N](close)x=0.1*(ind-50)y=(EXP(2*x)-1)/(EXP(2*x)+1)ynorma=50*(y+1)MAynorma = endpointaverage [13](ynorma)RETURN ynorma AS "Fisher Invertido transforma RSI",0 as " 0 " , 20 AS "20",50 as " 50 " , 80 AS "80",100 as " 100 ", MAynorma as " MAIFISH "// Variable// N = Núm. de velas para calcular el RSI = 1402/03/2017 at 5:08 PM #2381002/14/2017 at 12:52 AM #25023 -
AuthorPosts
Find exclusive trading pro-tools on