This is my attempt at progressions along the Gann wheel. Theoretically this script advances a numeral 45 degrees along the square of nine. The degree chosen (negative for bearish projections) can of course be customized and further subdivided as per your needs, but there is a slight flaw in the calculations that I am asking the community to take a look at, hopefully you all can give me a hand here. While the majority of the figures are correct, there seems to be some very slight discrepancies in the prices projected. If you are a Gann user, then you know how accurate they can be and as such, the discrepancies are not tolerable. Take a peek and let me know what you see that I am missing. Hope this script becomes helpful for all users.

//@version=2 study("Gann Progressions", overlay=true, shorttitle="9²prog", precision=4) x = input(0, title="Price", type=float, minval=.0001) x1 = x<1?x*1000:x>=1 and x<10?x*100:x>=10 and x<100?x*10:x x2 = input(1, title="Divisor", type=float)//x<1?1000:x>=1 and x<10?100:x>=10 and x<100?10:1 x3 = x/x2 FF = input(45, title="Input Degrees",type=float) Div = input(1, title="Degree Divisor") Ff = FF/180 f = Ff/Div y1 = pow((sqrt(x) + f*1),2)/x2 y2 = pow((sqrt(x) + f*2),2)/x2 y3 = pow((sqrt(x) + f*3),2)/x2 y4 = pow((sqrt(x) + f*4),2)/x2 y5 = pow((sqrt(x) + f*5),2)/x2 y6 = pow((sqrt(x) + f*6),2)/x2 y7 = pow((sqrt(x) + f*7),2)/x2 y8 = pow((sqrt(x) + f*8),2)/x2 y9 = pow((sqrt(x) + f*9),2)/x2 y10 = pow((sqrt(x) + f*10),2)/x2 y11 = pow((sqrt(x) + f*11),2)/x2 y12 = pow((sqrt(x) + f*12),2)/x2 plot(x3, color=f>=0?green:maroon, linewidth=2, transp=0, title="Start (0 degrees)") plot(y1, color=#2f4f4f, transp=0, title="+45" , linewidth=1,style=cross) plot(y2, color=#2f4f4f, transp=0, title="+90" , linewidth=1,style=cross) plot(y3, color=#2f4f4f, transp=0, title="+135", linewidth=1,style=cross) plot(y4, color=f>=0?aqua:blue, transp=0, linewidth=2, title="+180") plot(y5, color=#2f4f4f, transp=0, title="+225", linewidth=1,style=cross) plot(y6, color=#2f4f4f, transp=0, title="+270", linewidth=1,style=cross) plot(y7, color=#2f4f4f, transp=0, title="+315", linewidth=1,style=cross) plot(y8, color=red, transp=0, title="+360", linewidth=2,style=cross)

Many thanks

Thanks.

u included the main angels of gann starting from 45 to 360 degrees that's fine.

but you could have made this indicator more powerful , let tell you how

you got shapes of price

triangle , Square, Pentagon, Hexagon, Octagon,Nonagon, Decagon

those are also have angles and price may take any shape of them around the square of nine.

So if you could make the indicator calculate each of them would be great

each shape has its angels

take Hexagon for example starts from 60,120,180,240,300,360

if you could let the indicator take these information and draw the lines based on the shape given to him would be great.

let me review the formula with you

X = price

a= alfa which is the angle factor and a = angles/180 degrees .... for example angle 90 would have (a) of 0.5 you take 90/180 = 0.5

Then the formula is SQRT of x +- (a) and the result is squared

the +- means you could add (a) or subtract (a) and that's for bear and bull like you did it by input negative to the angles in the indicator.

meaning calculating form top you subtract (a) and from bottom add (a).