Gann Progressions

413 6 41
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.
Remove from Favorite Scripts Add to Favorite Scripts
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)

Any suggestions on how to make input adjustments for currencies; ie changes to divisor or degree divisor?
Many thanks
+1 Reply
ShirokiHeishi PRO TonyCampbell
As far as I have been able to ascertain, converting the currency to a three digit numeral (ie. .9876 becomes 987.6) and then use the divisor at 1000, or however many decimal places you moved the original number from.) Unless you are looking for fractional degrees, I do not change the degree divisor, just the standard degree values work really well as it is. Hope that helps.
very interesting script
Good indicator. However, one disadvantage, We have to input the price manually every time we jump from one scrip to another. Can be it automated?

good indicator for real. let me share some thoughts with u .
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).

@Stroggwars., Wow, that is an excellent idea, this may take some time, but I am willing to give it a try...I am resting a different version currently, but will eventually update the script. Thanks to all who commented.
Ideas Scripts Chart
United States
United Kingdom
Home Stock Screener Forex Signal Finder Economic Calendar How It Works Chart Features House Rules Moderators For the WEB Widgets Stock Charting Library Priority Support Feature Request Blog & News FAQ Help & Wiki Twitter
Private Messages Chat Ideas Published Followers Following Priority Support Public Profile Profile Settings Account and Billing Sign Out