Gann Circle Swing Levels
Gann Circle Swing Levels
0 at
https://mozilla.org/MPL/2.0/
// © PriceTimeSquare
//@version=4
study("Gann Circle Swing Levels", shorttitle="Gann_Circle_Swing", overlay=true)
// Decimal approximation
dec(number) =>
var int decLen = 0
if number <= 10
decLen := 5
else if number <= 999
decLen := 2
else if number <= 9999
decLen := 1
else
decLen := 0
// Variable declaration
var line gLine = na
var label gLabel = na
var color lineColor = color.lime
if barstate.islast
label.delete(gLabel[1])
gLabel := label.new(time + (time-time[1])*posX_label, swing_point,
xloc=xloc.bar_time, text="(" + tostring(truncate(swing_point, decimalLength)) +
")", style=label.style_none, textcolor=color.gray)
// Handle smaller prices
var int div = 1
if swing_point <= 10
div := 10000
else
div := 1
for i = 1 to srLineCount
if low_high == "LOW"
level := truncate(((sqrt_swing_point + 2) * (sqrt_swing_point + 2)) /
div, decimalLength)
lineColor := color_resistance
else
level := truncate(((sqrt_swing_point - 2) * (sqrt_swing_point - 2)) /
div, decimalLength)
lineColor := color_support
line.delete(gLine[1])
gLine := line.new(x1=bar_index[1], y1=level, x2=bar_index, y2=level,
style=line.style_solid, extend=extend.both, color=lineColor)
label.delete(gLabel[1])
gLabel := label.new(time + (time-time[1])*posX_label, level,
xloc=xloc.bar_time, text="(" + tostring(level) + ")", style=label.style_none,
textcolor=color.gray)