domingo, 23 de agosto de 2015

SOPORTES Y RESISTENCIAS CON ZIGGY

Es hora de presentar un nuevo indicador que se encuentra oculto en una página de un foro italiano.
Su código  fué programado por un forero apodado Tetsuo.
La función de este indicador es distinguir los soportes y resistencias en un gráfico , y el genial Tetsuo le puso el nombre de Ziggy Evolution .
 Ziggy , en honor al personaje creado por David Bowie allá por la década de los 70.

Ziggy era un extraterrestre.

Imaginemos por un momento que un extraterrestre llega a la Tierra . Observa los mercados financieros y mira los gráficos de precios. Deduce que esta actividad debe de ser importante para los humanos y le fascina todos esos movimientos caóticos . En su planeta no existe la bolsa.
De la mera observación detecta que  las subidas y bajadas aparentemente aleatorias , son  en realidad niveles donde el precio rechaza  una tendencia, bien al alza o a la baja.
Como en su civilización, completamente todo está informatizado, decide crear un algoritmo que le detecte de manera automática esos niveles.

El indicador de Ziggy es capaz de detectar hasta tres soportes y resistencias , tal y como vemos en este gráfico de Bankia...



Particularmente , con los niveles de primera resistencia y primer soporte he encontrado una buena utilidad, que con algún indicador añadido , podemos encontrar más información  como este mismo gráfico de Bankia al que le agrego el Vigia10 de Blai5 http://www.blai5.net/www/  tuneao por mi menda...




El código original , con nomenclaturas en italiano , creado por el gran Tetsuo , al ser un código de libre acceso , queda a vuetra disposición también en este blog, demoslé las gracias a Tetsuo .

El código para la plataforma Prorealtime es :

--------------------------------------------------------------------------------------------------------------------
 /////////////////////////////////////////////////
////////// ZIGGY 2 THE EVOLUTION//////////
////////////////////////////////////////////////
// publicado en el foro finanzaonline.com
//programado por Tetsuo, Octubre 2009

once ziggy=0

ampiezza=(ziggy/1000*n)

once trend=1

if trend=1 then
if close>close[1] and close>ziggy[1] then
ziggy=close
elsif close>close[1] and close<ziggy[1] then
ziggy=ziggy[1]
elsif close<close[1] and (ziggy-ampiezza)<close then
ziggy=ziggy[1]
elsif close<close[1] and (ziggy-ampiezza)>close then
ziggy=close
trend=-1
endif
endif

if trend=-1 then
if close<close[1] and close<ziggy[1] then
ziggy=close
elsif close<close[1] and close>ziggy[1] then
ziggy=ziggy[1]
elsif close>close[1] and (ziggy+ampiezza)>close then
ziggy=ziggy[1]
elsif close>close[1] and (ziggy+ampiezza)<close then
ziggy=close
trend=1
endif
endif

if trend=1 and trend[1]=-1 then
supporto=ziggy[1]

elsif trend=-1 and trend[1]=-1 then
supporto=supporto[1]
endif

if trend=-1 and trend[1]=1 then
resistenza=ziggy[1]

elsif trend=1 and trend[1]=1 then
resistenza=resistenza[1]
endif

if resistenza<>resistenza[1] then
res3=res2[1]
res2=res1[1]
res1=resistenza
elsif supporto<>supporto[1] then
sup3=sup2[1]
sup2=sup1[1]
sup1=supporto
endif


return ziggy coloured by trend as "ZIGGY", sup1 coloured(255,0,0) as "SUP1", sup2 coloured (255,153,153) as "SUP2", sup3 coloured(255,0,255) as "SUP3", res1 coloured(0,0,255) as "RES1", res2 coloured(153,153,255) as "RES2", res3 coloured(0,204,204) as "RES3"

-------------------------------------------------------------------------------------------------

En cuadro de variables :

n = n = 20

Configurar en estilo punto y dar grosor