ÿþindicator CenterOfGravityTiming; input period = 5, level1 = 4, level2 = 8; draw o("Open", dot_line, gray), h("High", dot_line, red), l("Low", dot_line, red), c("Close", solid_line, white), ul1("Upper level 1", dash_line, magenta), ul2("Upper level 2", dash_line, magenta), ll1("Lower level 1", dash_line, magenta), ll2("Lower level 2", dash_line, magenta); vars i(number), j(number), am(number), ar(number); begin if period < 1 then return; for i := front(close)+period-1 to back(close) do begin ul1[i] := level1; ul2[i] := level2; ll1[i] := -level1; ll2[i] := -level2; am := 0; ar := 0; for j := i-period+1 to i do begin am := am + (high[j]+low[j])/2; ar := ar + (high[j]-low[j])/5; end; am := am / period; ar := ar / period; if ar <> 0 then begin o[i] := (open[i]-am)/ar; h[i] := (high[i]-am)/ar; l[i] := (low[i]-am)/ar; c[i] := (close[i]-am)/ar; end else begin o[i] := 0; h[i] := 0; l[i] := 0; c[i] := 0; end; end; end.