REM REVERSION_PRECIO valor1=ExponentialAverage[12](close) valor2=ExponentialAverage[26](close) valor3=valor1/valor2 valor4=ExponentialAverage[9](valor3) mimacd=valor3/valor4-1 val1=Exponentialaverage[5](close) val2=ExponentialAverage[13](close) mmacd=val1/val2-1 se=WilderAverage[m](mmacd) gd2=average[60](mmacd) sd=1*STD[60](mmacd) bollsup=gd2+sd bollinf=gd2-sd a=mimacd*150 alza1=a>a[1]and a [1]a[2] if alza1 then col1=1 elsif baja1 then col1=-1 endif if close>WeightedAverage[c] then col2=1 elsif close 2 AND CPM > 0 IF volumen THEN bvol = 1.2 ELSE bvol = 0 ENDIF //REM Indicador Dinapoli Divergence IF BARINDEX > 1 THEN IF ZigZag[zz](Close)[2] < ZigZag[zz](Close)[1] AND ZigZag[zz](Close)[1] > ZigZag[zz](Close) THEN Top = Close[1] DiMD = mimacd[1] IF Top <> Top[1] THEN TwoPrevTop = PrevTop PrevTop = Top[1] Top = Top TwoPrevDiMD = PrevDiMD PrevDiMD = DiMD[1] DiMD = DiMD ENDIF ENDIF IF ZigZag[zz](Close)[2] > ZigZag[zz](Close)[1] AND ZigZag[zz](Close)[1] < ZigZag[zz](Close) THEN Bottom = Close[1] DiMDb = mimacd[1] IF Bottom <> Bottom[1] THEN TwoPrevBottom = PrevBottom PrevBottom = Bottom[1] Bottom = Bottom TwoPrevDiMDb = PrevDiMDb PrevDiMDb = DiMDb[1] DiMDb = DiMDb ENDIF ENDIF ENDIF IF ((Top >= PrevTop AND DiMD CROSSES UNDER PrevDiMD) OR (Top CROSSES OVER PrevTop AND DiMD <= PrevDiMD)) OR ((Top >= TwoPrevTop AND DiMD CROSSES UNDER TwoPrevDiMD) OR (Top CROSSES OVER TwoPrevTop AND DiMD <= TwoPrevDiMD)) THEN DivergeBottom =-1.8 ELSIF ((Top <= PrevTop AND DiMD CROSSES OVER PrevDiMD) OR (Top CROSSES UNDER PrevTop AND DiMD >= PrevDiMD)) OR ((Top <= TwoPrevTop AND DiMD CROSSES OVER TwoPrevDiMD) OR (Top CROSSES UNDER TwoPrevTop AND DiMD >= TwoPrevDiMD)) THEN DivergeBottom = -1.8 ELSE DivergeBottom = 0 ENDIF IF ((Bottom >= PrevBottom AND DiMDb CROSSES UNDER PrevDiMDb) OR (Bottom CROSSES OVER PrevBottom AND DiMDb <= PrevDiMDb)) OR ((Bottom >= TwoPrevBottom AND DiMDb CROSSES UNDER TwoPrevDiMDb) OR (Bottom CROSSES OVER TwoPrevBottom AND DiMDb <= TwoPrevDiMDb)) THEN DivergeTop = 1.8 ELSIF ((Bottom <= PrevBottom AND DiMDb CROSSES OVER PrevDiMDb) OR (Bottom CROSSES UNDER PrevBottom AND DiMDb >= PrevDiMDb)) OR ((Bottom <= TwoPrevBottom AND DiMDb CROSSES OVER TwoPrevDiMDb) OR (Bottom CROSSES UNDER TwoPrevBottom AND DiMDb >= TwoPrevDiMDb)) THEN DivergeTop = 1.8 ELSE DivergeTop = 0 ENDIF RETURN a COLOURED BY col1 AS "MACD", mmacd*100 COLOURED BY col2 AS "LM", se*100 AS "S", bollsup*100 AS "BSUP", bollinf*100 AS "BINF", DivergeTop COLOURED (0,150,0) AS "Chivatoalcista", DivergeBottom COLOURED (150,0,0) AS "Chivatobajista", bvol COLOURED (0,0,150) AS "Volumen"