rem ---------------------Manipulacion---------------------
rem Indicador que trata de diferenciar que parte del volumen de negociación
rem corresponde a manos débiles y a manos fuertes.
rem Creado por gestur
rem Variables que controlan el rango adaptativo del area azul y verde.
once divazul=1
once divverde=1
nvol=80
adapt=2
zoomazul=5
zoomverde=5
rem Periodo 1 y 2 de las medias moviles que se encargan de detectar cambios de direccion.
n1=50
n2=3
n3=6
m1 = Average[n1](close)
m2 = Average[n2](close)
m3 = Average[n3](close)
volm = average[nvol](volume)
diferencia1 = Average[2](m2) - Average[2](m1)
diferencia2 = Average[2](m3) - Average[2](m1)
mani1 = (m2 - m1 - diferencia1) / 2
mani2 = m3 - m1 - diferencia2
mani = mani1 + mani2
diferencia = diferencia1
volp = volume / volm
if volp = 0 then
volp = 1
volm = 1
endif
a = (diferencia / open) * volp
b = (close - m1) / close
c = (open - close[1]) / close[1]
d = (close - open) / close
rem Calculamos las franjas azul y verdes en funcion de los dos supuestos y los adaptamos al rango dinamico.
azul = (mani + ((d-c) * volp)) * volp - a
verde = b * volp
if volp <> 0 then
if averde[1] > 1 or averde[1] < -1 then
divverde = divverde * (1 + adapt / 50)
else
divverde = divverde / (1 + adapt / 600)
endif
if aazul[1] > 1 or aazul[1] < -1 then
divazul = divazul * (1 + adapt / 50)
else
divazul = divazul / (1 + adapt / 600)
endif
averde = verde / divverde * zoomverde
aazul = azul / divazul * zoomazul
endif
if averde > 8 then
averde = 8
endif
if averde < -8 then
averde = -8
endif
if aazul > 8 then
aazul = 8
endif
if aazul <-8 then
aazul = -8
endif
rem Ajustamos el indice de manipulacion para que se mantenga en un rango razonable.
amani=mani/(highest[nvol](mani)-lowest[nvol](mani))*2
return 0 COLOURED (0,0,0) as "cero", aazul COLOURED(0,255,255) as "azul", averde COLOURED(102,255,102) as "verde", aazul COLOURED (0,51,255) as "lazul", averde COLOURED (0,153,51) as "lverde", amani COLOURED (153,102,0) as "mani"