var bDivergent = null; // Global boolean variable to hold divergent condition function preMain(){ setPriceStudy(false); setStudyTitle("Stochastic Divergence"); setCursorLabelName("%K_2",0); setPlotType(PLOTTYPE_LINE,0); setDefaultBarFgColor(Color.RGB(0,148,255), 0); setCursorLabelName("%D_2",1); setPlotType(PLOTTYPE_LINE,1); setDefaultBarFgColor(Color.RGB(255,106,0), 1); } function main(){ if(getBarState() == BARSTATE_ALLBARS){ var xStochK = null; var xStochD = null; } xStochK = stochK(14,3,3,inv(2)); xStochD = stochD(14,3,3,inv(2)); if(((stochK(14,3,3,inv(1), -1) > stochD(14,3,3, inv(1), -1)) && (stochK(14,3,3,inv(2), -1) > stochD(14,3,3, inv(2), -1)) && (stochK(14,3,3,inv(1)) > stochD(14,3,3, inv(1))) && (stochK(14,3,3,inv(2)) < stochD(14,3,3, inv(2))))){ bDivergent = true; drawShapeRelative(0,BottomRow1,Shape.SQUARE,null,Color.RGB(101,0,169),Shape.CENTER|Shape.PRESET,"DOWN" + getCurrentBarCount()); }else if(bDivergent && (stochK(14,3,3,inv(2)) < stochD(14,3,3, inv(2)))){ drawShapeRelative(0,BottomRow1,Shape.SQUARE,null,Color.RGB(101,0,169),Shape.CENTER|Shape.PRESET,"DOWN" + getCurrentBarCount()); }else if(stochK(14,3,3,inv(2)) > stochD(14,3,3, inv(2))){ bDivergent = false; drawShapeRelative(0,BottomRow1,Shape.SQUARE,null,Color.RGB(70,100,160),Shape.CENTER|Shape.PRESET,"DOWN" + getCurrentBarCount()); } return [xStochK, xStochD]; }