<?xml version="1.0" encoding="utf-8" ?>
<?xml-stylesheet type="text/xsl" href="RSS_xslt_style.asp" version="1.0" ?>
<rss version="2.0" xmlns:WebWizForums="http://syndication.webwiz.co.uk/rss_namespace/">
 <channel>
  <title>BullCharts : Gann in BullCharts</title>
  <link>http://www.bullcharts.com.au/forum/</link>
  <description>This is an XML content feed of; BullCharts : Gann in BullCharts : Last 10 Posts</description>
  <copyright>Copyright (c) 2006-2009 Web Wiz Forums - All Rights Reserved.</copyright>
  <pubDate>Wed, 08 Apr 2026 05:02:23 +0000</pubDate>
  <lastBuildDate>Tue, 14 Oct 2014 19:13:15 +0000</lastBuildDate>
  <docs>http://blogs.law.harvard.edu/tech/rss</docs>
  <generator>Web Wiz Forums 9.69</generator>
  <ttl>30</ttl>
  <WebWizForums:feedURL>www.bullcharts.com.au/forum/RSS_topic_feed.asp?FID=29</WebWizForums:feedURL>
  <image>
   <title>BullCharts</title>
   <url>http://www.bullcharts.com.au/forum/http://www.bullcharts.com.au/images/bull_logo.gif</url>
   <link>http://www.bullcharts.com.au/forum/</link>
  </image>
  <item>
   <title>Gann in BullCharts : Historical time and price cycles</title>
   <link>http://www.bullcharts.com.au/forum/forum_posts.asp?TID=978&amp;PID=3439#3439</link>
   <description>
    <![CDATA[<strong>Author:</strong> <a href="http://www.bullcharts.com.au/forum/member_profile.asp?PF=1044" rel="nofollow">cmacdon</a><br /><strong>Subject:</strong> Historical time and price cycles<br /><strong>Posted:</strong> 14&nbsp;Oct&nbsp;2014 at 7:13pm<br /><br />&#091;author=Dr Charles MacDonald&#093;<br />&#091;citation="Bullcharts Forum, Gann subset and Bullscript discussions Ivan Sargent, A unique Approach to Forecasting Market Reversal Point, Halliker's Inc,2010"&#093;<br /><br />&#091;Target=Price;&#093;<br />TDate:=InputDate("Start Date", date(2014,3,24));<br />Datea:=BarsSince(OnOrSkipped(TDate));<br /><br />{Parameters}<br />tme:=input("1=daily,6=hourly,24=15mins 36=10, 72=5, 180=2 minutes", 1, 1, 180);<br /><br />a:= input("Historical Gradient", 1, .00001, 100);<br /><br />b:= (a/tme);<br /><br />Vib:=input("Main Vibration", 4, .001, 100);<br /><br />Flag:=input("Vib Colour bars", 1, 0, 2);<br /><br />Lev2:=input("2 = Show Other Horz Lines 2 to 4 Ivan Sargent", 2, 1, 2);<br /><br />Lev2a:=input("2 = Show Horz Lines 5 to 8 Ivan Sargent", 1, 1, 2);<br /><br />Lev2b:=input("2 = Show Horz Lines 9 to 16 Ivan Sargent", 1, 1, 2);<br /><br />Lev2c:=input("2 = Show Horz Lines 17 to 24 Ivan Sargent", 1, 1, 2);<br /><br />Lev3:=input("2 = Show Vert Lines Ivan Sargent", 1, 1, 2);<br /><br />Rd:=input("Rounding The levels", 3, 0, 3);<br /><br />{----------------------------------------------------------------------------------------}<br />z:=Zig(If(Outside() AND Ref(H,-1)&gt;Ref(H,-2),H,If(Outside() AND Ref(L,-1)&lt;Ref(L,-2),L,If((Outside() OR Inside()) AND C&gt;O,H,If((Outside() OR Inside()) AND O&gt;C,L,If(H&gt;Ref(H,-1),H,If(L&lt;Ref(L,-1),L,If(Ref(H,-1)&gt;Ref(H,-2),H,If(Ref(L,-1)&lt;Ref(L,-2),L,C)))))))),Vib,%);<br /><br />ispeak := z&gt;hist(z,1) and z&gt;future(z,1);<br />istrough := z&lt;hist(z,1) and z&lt;future(z,1);<br /><br />&#091;linestyle=Solid; color=Red;width=2;&#093;<br />If(datea,z,undefined);<br /><br />{These are calculation mechanics needed to produced various Time and Volume outputs}<br />UpZig:=Z&gt;ref(z,-1);<br />DownZig:=Z&lt;ref(z,-1);<br /><br />{-------------------------------------------------------------------------------------------}<br />{Additional Peak and Valley Horz lines}<br />&#091;name=1st Swing peak; linestyle=Dotted; color=Blue; width=2&#093;<br />pk1:=If(Lev2=2,Round(lastvalue(valuewhen(1,ispeak,H)),Rd),Undefined);<br />If(datea,pk1,undefined);<br /><br />&#091;name=2nd Swing peak; linestyle=Dotted; color=Blue; width=2&#093;<br />pk2:=If(Lev2=2,Round(lastvalue(valuewhen(2,ispeak,H)),Rd),Undefined);<br />If(datea,pk2,undefined);<br /><br />&#091;name=3rd Swing peak;  linestyle=Dotted; color=Blue; width=2&#093;<br />pk3:=If(Lev2=2,Round(lastvalue(valuewhen(3,ispeak,H)),Rd),Undefined);<br />If(datea,pk3,undefined);<br /><br />&#091;name=4th Swing peak;  clinestyle=Dotted; color=Blue; width=2&#093;<br />pk4:=If(Lev2=2,Round(lastvalue(valuewhen(4,ispeak,H)),Rd),Undefined);<br />If(datea,pk4,undefined);<br /><br />&#091;name=5th Swing peak; linestyle=Solid; color=Cyan; width=2&#093;<br /><br />pk5:=If(Lev2a=2,Round(lastvalue(valuewhen(5,ispeak,H)),Rd),Undefined);<br />If(datea,pk5,undefined);<br /><br />&#091;name=6th Swing peak;  color=Cyan; width=2&#093;<br />pk6:=If(Lev2a=2,Round(lastvalue(valuewhen(6,ispeak,H)),Rd),Undefined);<br />If(datea,pk6,undefined);<br /><br />&#091;name=7th Swing peak; color=Cyan; width=2&#093;<br />pk7:=If(Lev2a=2,Round(lastvalue(valuewhen(7,ispeak,H)),Rd),Undefined);<br />If(datea,pk7,undefined);<br /><br />&#091;name=8th Swing peak;  color=Cyan; width=2&#093;<br />pk8:=If(Lev2a=2,Round(lastvalue(valuewhen(8,ispeak,H)),Rd),Undefined);<br />If(datea,pk8,undefined);<br /><br />&#091;name=9th Swing peak; linestyle=Dotted; color=Sky Blue; width=2&#093;<br />pk9:=If(Lev2b=2,Round(lastvalue(valuewhen(9,ispeak,H)),Rd),Undefined);<br />If(datea,pk9,undefined);<br /><br />&#091;name=10th Swing peak; linestyle=Dotted; color=Sky Blue; width=2&#093;<br />pk10:=If(Lev2b=2,Round(lastvalue(valuewhen(10,ispeak,H)),Rd),Undefined);<br />If(datea,pk10,undefined);;<br /><br />&#091;name=11th Swing peak; linestyle=Dotted; color=Sky Blue; width=2&#093;<br />pk11:=If(Lev2b=2,Round(lastvalue(valuewhen(11,ispeak,H)),Rd),Undefined);<br />If(datea,pk11,undefined);<br /><br />&#091;name=12th Swing peak; linestyle=Dotted; color=Sky Blue; width=2&#093;<br />pk12:=If(Lev2b=2,Round(lastvalue(valuewhen(12,ispeak,H)),Rd),Undefined);<br />If(datea,pk12,undefined);<br /><br />&#091;name=13th Swing peak; linestyle=Dotted; color=Sky Blue; width=2&#093;<br />pk13:=If(Lev2b=2,Round(lastvalue(valuewhen(13,ispeak,H)),Rd),Undefined);<br />If(datea,pk13,undefined);<br /><br />&#091;name=14th Swing peak; linestyle=Dotted; color=Sky Blue; width=2&#093;<br />pk14:=If(Lev2b=2,Round(lastvalue(valuewhen(14,ispeak,H)),Rd),Undefined);<br />If(datea,pk14,undefined);<br /><br />&#091;name=15th Swing peak; linestyle=Dotted; color=Sky Blue; width=2&#093;<br />pk15:=If(Lev2b=2,Round(lastvalue(valuewhen(15,ispeak,H)),Rd),Undefined);<br />If(datea,pk15,undefined);<br /><br />&#091;name=16th Swing peak; linestyle=Dotted; color=Sky Blue; width=2&#093;<br />pk16:=If(Lev2b=2,Round(lastvalue(valuewhen(16,ispeak,H)),Rd),Undefined);<br />If(datea,pk16,undefined);<br /><br />&#091;name=17th Swing peak; linestyle=Dotted; color=Sky Blue; width=2&#093;<br />pk17:=If(Lev2c=2,Round(lastvalue(valuewhen(17,ispeak,H)),Rd),Undefined);<br />If(datea,pk17,undefined);<br /><br />&#091;name=18th Swing peak; linestyle=Dotted; color=Sky Blue; width=2&#093;<br />pk18:=If(Lev2c=2,Round(lastvalue(valuewhen(18,ispeak,H)),Rd),Undefined);<br />If(datea,pk18,undefined);<br /><br />&#091;name=19th Swing peak; linestyle=Long Dash; color=Green; width=1&#093;<br />pk19:=If(Lev2c=2,Round(lastvalue(valuewhen(19,ispeak,H)),Rd),Undefined);<br />If(datea,pk19,undefined);<br /><br />&#091;name=20th Swing peak; linestyle=Long Dash; color=Green; width=1&#093;<br />pk20:=If(Lev2c=2,Round(lastvalue(valuewhen(20,ispeak,H)),Rd),Undefined);<br />If(datea,pk20,undefined);<br /><br />&#091;name=21st Swing peak; linestyle=Long Dash; color=Green; width=1&#093;<br />pk21:=If(Lev2c=2,Round(lastvalue(valuewhen(21,ispeak,H)),Rd),Undefined);<br />If(datea,pk21,undefined);<br /><br />&#091;name=22nd Swing peak; linestyle=Long Dash; color=Green; width=1&#093;<br />pk22:=If(Lev2c=2,Round(lastvalue(valuewhen(22,ispeak,H)),Rd),Undefined);<br />If(datea,pk22,undefined);<br /><br />&#091;name=23th Swing peak; linestyle=Long Dash; color=Green; width=1&#093;<br />pk23:=If(Lev2c=2,Round(lastvalue(valuewhen(23,ispeak,H)),Rd),Undefined);<br />If(datea,pk23,undefined);<br /><br />&#091;name=24th Swing peak; linestyle=Long Dash; color=Green; width=1&#093;<br />pk24:=If(Lev2c=2,Round(lastvalue(valuewhen(24,ispeak,H)),Rd),Undefined);<br />If(datea,pk24,undefined);<br /><br /><br />&#091;name=1st Swing trough; linestyle=Dotted; color=Red; width=2&#093;<br />tr1:=If(Lev2=2,Round(lastvalue(valuewhen(1,istrough,L)),Rd),Undefined);<br />If(datea,tr1,undefined);<br /><br />&#091;name=2nd Swing trough; linestyle=Dotted; color=Red; width=2&#093;<br />tr2:=If(Lev2=2,Round(lastvalue(valuewhen(2,istrough,L)),Rd),Undefined);<br />If(datea,tr2,undefined);<br /><br />&#091;name=3rd Swing trough;  linestyle=Dotted; color=Red; width=2&#093;<br />tr3:=If(Lev2=2,Round(lastvalue(valuewhen(3,istrough,L)),Rd),Undefined);<br />If(datea,tr3,undefined);<br /><br />&#091;name=4th Swing trough; linestyle=Dotted; color=Red; width=2&#093;<br />tr4:=If(Lev2=2,Round(lastvalue(valuewhen(4,istrough,L)),Rd),Undefined);<br />If(datea,tr4,undefined);<br /><br />&#091;name=5th Swing trough; color=Orange; width=2&#093;<br />tr5:=If(Lev2a=2,Round(lastvalue(valuewhen(5,istrough,L)),Rd),Undefined);<br />If(datea,tr5,undefined);<br /><br />&#091;name=6th Swing trough; color=Orange; width=2&#093;<br />tr6:=If(Lev2a=2,Round(lastvalue(valuewhen(6,istrough,L)),Rd),Undefined);<br />If(datea,tr6,undefined);<br /><br />&#091;name=7th Swing trough; color=Orange; width=2&#093;<br />tr7:=If(Lev2a=2,Round(lastvalue(valuewhen(7,istrough,L)),Rd),Undefined);<br />If(datea,tr7,undefined);<br /><br />&#091;name=8th Swing trough; color=Orange; width=2&#093;<br />tr8:=If(Lev2a=2,Round(lastvalue(valuewhen(8,istrough,L)),Rd),Undefined);<br />If(datea,tr8,undefined);<br /><br />&#091;name=9th Swing trough; linestyle=Solid; color=Gray; width=1&#093;<br />tr9:=If(Lev2b=2,Round(lastvalue(valuewhen(9,istrough,L)),Rd),Undefined);<br />If(datea,tr9,undefined);<br /><br />&#091;name=10th Swing trough; linestyle=Solid; color=Gray; width=1&#093;<br />tr10:=If(Lev2b=2,Round(lastvalue(valuewhen(10,istrough,L)),Rd),Undefined);<br />If(datea,tr10,undefined);<br /><br />&#091;name=11th Swing trough; linestyle=Solid; color=Gray; width=1&#093;<br />tr11:=If(Lev2b=2,Round(lastvalue(valuewhen(11,istrough,L)),Rd),Undefined);<br />If(datea,tr11,undefined);<br /><br />&#091;name=12th Swing trough; linestyle=Solid; color=Gray; width=1&#093;<br />tr12:=If(Lev2b=2,Round(lastvalue(valuewhen(12,istrough,L)),Rd),Undefined);<br />If(datea,tr12,undefined);<br /><br />&#091;name=13th Swing trough; linestyle=Solid; color=Gray; width=1&#093;<br />tr13:=If(Lev2b=2,Round(lastvalue(valuewhen(13,istrough,L)),Rd),Undefined);<br />If(datea,tr13,undefined);<br /><br />&#091;name=14th Swing trough; linestyle=Solid; color=Gray; width=1&#093;<br />tr14:=If(Lev2b=2,Round(lastvalue(valuewhen(14,istrough,L)),Rd),Undefined);<br />If(datea,tr14,undefined);<br /><br />&#091;name=15th Swing trough; linestyle=Solid; color=Gray; width=1&#093;<br />tr15:=If(Lev2b=2,Round(lastvalue(valuewhen(15,istrough,L)),Rd),Undefined);<br />If(datea,tr15,undefined);<br /><br />&#091;name=16th Swing trough; linestyle=Solid; color=Gray; width=1&#093;<br />tr16:=If(Lev2b=2,Round(lastvalue(valuewhen(16,istrough,L)),Rd),Undefined);<br />If(datea,tr16,undefined);<br /><br />&#091;name=17th Swing trough; linestyle=Dotted; color=Black; width=1&#093;<br />tr17:=If(Lev2c=2,Round(lastvalue(valuewhen(17,istrough,L)),Rd),Undefined);<br />If(datea,tr17,undefined);<br /><br />&#091;name=18th Swing trough; linestyle=Dotted; color=Black; width=1&#093;<br /><br />tr18:=If(Lev2c=2,Round(lastvalue(valuewhen(18,istrough,L)),Rd),Undefined);<br />If(datea,tr18,undefined);<br /><br />&#091;name=19th Swing trough; linestyle=Long Dash; color=Black; width=1&#093;<br /><br />tr19:=If(Lev2c=2,Round(lastvalue(valuewhen(19,istrough,L)),Rd),Undefined);<br />If(datea,tr19,undefined);<br /><br />&#091;name=20th Swing trough; linestyle=Long Dash; color=Black; width=1&#093;<br /><br />tr20:=If(Lev2c=2,Round(lastvalue(valuewhen(20,istrough,L)),Rd),Undefined);<br />If(datea,tr20,undefined);<br /><br />&#091;name=21st Swing trough; linestyle=Long Dash; color=Black; width=1&#093;<br /><br />tr21:=If(Lev2c=2,Round(lastvalue(valuewhen(21,istrough,L)),Rd),Undefined);<br />If(datea,tr21,undefined);<br /><br />&#091;name=22th Swing trough; linestyle=Long Dash; color=Black; width=1&#093;<br /><br />tr22:=If(Lev2c=2,Round(lastvalue(valuewhen(22,istrough,L)),Rd),Undefined);<br />If(datea,tr22,undefined);<br /><br />&#091;name=23th Swing trough; linestyle=Long Dash; color=Black; width=1&#093;<br /><br />tr23:=If(Lev2c=2,Round(lastvalue(valuewhen(23,istrough,L)),Rd),Undefined);<br />If(datea,tr23,undefined);<br /><br />&#091;name=24th Swing trough; linestyle=Long Dash; color=Black; width=1&#093;<br /><br />tr24:=If(Lev2c=2,Round(lastvalue(valuewhen(24,istrough,L)),Rd),Undefined);<br />If(datea,tr24,undefined);<br /><br />{-------------------------------------------------------------------------------------------}<br />&#091;Visible=True;&#093;<br />&#091;name=Hi Vertical; linestyle=verticalmarker;  color=Orange; width=1&#093;<br />aV:=if(Lev3=2,if(isPeak, 1, undefined),undefined);<br />If(datea,aV,undefined);<br /><br />&#091;name=Lo Vertical; linestyle=verticalmarker;  color=Lime Green; width=1&#093;<br />bV:=if(Lev3=2,if(istrough, 1, undefined),undefined);<br />If(datea,bV,undefined);<br /><br />{-------------------------------------------------------------------------------------------}<br /><br />{This section takes up price colour bars }<br /><br />&#091;linestyle=PriceColor&#093;<br /><br />&#091;name=Upswing barsl; Color=Royal Blue&#093; <br />ub:=If(UpZig,1,0);<br />ub;<br /><br />&#091;name=DownswingBars; Color=Red&#093; <br />db:=If(DownZig,1,0);<br />db;<br /><br />]]>
   </description>
   <pubDate>Tue, 14 Oct 2014 19:13:15 +0000</pubDate>
   <guid isPermaLink="true">http://www.bullcharts.com.au/forum/forum_posts.asp?TID=978&amp;PID=3439#3439</guid>
  </item> 
  <item>
   <title>Gann in BullCharts : Historical time and price cycles</title>
   <link>http://www.bullcharts.com.au/forum/forum_posts.asp?TID=978&amp;PID=3438#3438</link>
   <description>
    <![CDATA[<strong>Author:</strong> <a href="http://www.bullcharts.com.au/forum/member_profile.asp?PF=1044" rel="nofollow">cmacdon</a><br /><strong>Subject:</strong> Historical time and price cycles<br /><strong>Posted:</strong> 14&nbsp;Oct&nbsp;2014 at 7:10pm<br /><br /><img src="uploads/1044/Sargent3.png" border="0" />]]>
   </description>
   <pubDate>Tue, 14 Oct 2014 19:10:18 +0000</pubDate>
   <guid isPermaLink="true">http://www.bullcharts.com.au/forum/forum_posts.asp?TID=978&amp;PID=3438#3438</guid>
  </item> 
  <item>
   <title>Gann in BullCharts : Historical time and price cycles</title>
   <link>http://www.bullcharts.com.au/forum/forum_posts.asp?TID=978&amp;PID=3437#3437</link>
   <description>
    <![CDATA[<strong>Author:</strong> <a href="http://www.bullcharts.com.au/forum/member_profile.asp?PF=1044" rel="nofollow">cmacdon</a><br /><strong>Subject:</strong> Historical time and price cycles<br /><strong>Posted:</strong> 14&nbsp;Oct&nbsp;2014 at 7:09pm<br /><br /><img src="uploads/1044/Sargent2.png" border="0" />]]>
   </description>
   <pubDate>Tue, 14 Oct 2014 19:09:37 +0000</pubDate>
   <guid isPermaLink="true">http://www.bullcharts.com.au/forum/forum_posts.asp?TID=978&amp;PID=3437#3437</guid>
  </item> 
  <item>
   <title>Gann in BullCharts : Historical time and price cycles</title>
   <link>http://www.bullcharts.com.au/forum/forum_posts.asp?TID=978&amp;PID=3436#3436</link>
   <description>
    <![CDATA[<strong>Author:</strong> <a href="http://www.bullcharts.com.au/forum/member_profile.asp?PF=1044" rel="nofollow">cmacdon</a><br /><strong>Subject:</strong> Historical time and price cycles<br /><strong>Posted:</strong> 14&nbsp;Oct&nbsp;2014 at 7:08pm<br /><br />As you know Gann always said history repeats, what happened in the past will happen again in the future.<br /><br />Ivan Sargent in his book A unique approach to forecasting market reversal points, Halliker's 2010 uses the remnants of past time and price cycles to produce a grid which forms the basis of forecasting future points where price and time may meet and reversals may occur.<br /><br />Sargent acknowledges researching Gann, Bayer and Andrews methods in his early research; so, I thought it appropriate to apply his method to sizing Gann Squares.  I have used the method to set the size and forecast periods of Gann Squares based on previous time and price cycles.  <br /><br />It is really a cycles based variant of trying to find an appropriate vibration for a stock.  So below are three charts explain the indicator then I will post the Bullscript code for the indicator.<br /><br />Because it is also linked to filtered wave sizing it can be complimentary to the earlier post using filtered waves to assess vibrations.<br /><br />Normally you would not show 24 past cycles and, in his book Sargent suggests 5 - 12 are sufficient for his method.<br /><br /><img src="uploads/1044/Sargent1.png" border="0" /><span style="font-size:10px"><br /><br />Edited by cmacdon - 14&nbsp;Oct&nbsp;2014 at 7:15pm</span>]]>
   </description>
   <pubDate>Tue, 14 Oct 2014 19:08:58 +0000</pubDate>
   <guid isPermaLink="true">http://www.bullcharts.com.au/forum/forum_posts.asp?TID=978&amp;PID=3436#3436</guid>
  </item> 
  <item>
   <title>Gann in BullCharts : Full Gann Square indicator Code</title>
   <link>http://www.bullcharts.com.au/forum/forum_posts.asp?TID=977&amp;PID=3435#3435</link>
   <description>
    <![CDATA[<strong>Author:</strong> <a href="http://www.bullcharts.com.au/forum/member_profile.asp?PF=1044" rel="nofollow">cmacdon</a><br /><strong>Subject:</strong> Full Gann Square indicator Code<br /><strong>Posted:</strong> 12&nbsp;Oct&nbsp;2014 at 2:47pm<br /><br />{At this point I will include the Full indicator Bullscript code so you can play around with it, if you so wish.<br /><br />If you have come straight to this particular post, the explanation for most of this Bullscript code and using the indicator and how it might be applied daily or intraday is set out in earlier posts so you will not need to ask too many questions.<br /><br />I will post a Murrey Math Type Version, and also an indicator I developed from Ivan Sargent's approach to identifying historical cycles sometime next week as they both methods may be complimentary to finding the proper vibration for a stock.  I will keep them separate indicators as the one below is a fairly large for a Bullscript indicator in its own right}<br /><br /><br /><br />&#091;author=Dr Charles MacDonald&#093;<br />&#091;citation="Bullcharts Forum, Gann subset and Bullscript discussions "&#093;<br /><br />&#091;Target=Price;&#093;<br />TDate:=InputDate("Date of trend", date(2014,3,24));<br />HD:=BarsSince(OnOrSkipped(TDate));<br /><br />tme:=input("1=daily,6=hourly,24=15mins 36=10, 72=5, 180=2 minutes", 1, 1, 180);<br />z1:=If(HD,1,0);<br />DwnswingCount:=If (z1,+prev(z1),0);<br />DwnSwing:=barssince(z1=0);<br /><br />{Bot:=input("Input the Low on start day", 35.25, .001, 10000);}<br />Bot:=valuewhen(1,HD=1,L);<br /><br />pdinp:=input("Average Day to calc gradient", 100, 1, 72000);<br />{tme added for intraday conversion}<br />pd:=pdinp;<br /><br />Type:=Input("1 Hist Stats,2 $change per bar,3 Angle Label  ",2,0);<br />Type2:=Input("Colour bars 1 Zig Swings ,2 Vibrations  ",1,0);<br />VT:=Input("Vibration colour bar Testing Lookback period ",2,0);<br /><br />a:= input("Historical Gradient Vib =&gt; 1 X 1", 0.079, 0.00001, 10000);<br />a3:= input("High Vib", 0.079, 0.00001, 10000);<br />a4:= input("Low Vib", 0.079, 0.00001, 10000);<br /><br />a2:= Input("Show other Forecast Gradients",1,0); <br />SA:= Input("Show other Angles",1,0); <br /><br />{---Conversion needed if applying daily angles on an intraday chart---}<br />b:= a/tme;<br />b1:= a3/tme;<br />b2:= a4/tme;<br /><br />{--------This adds single text calc of the daily spread as a %-------}<br />Gradient := b;<br /><br />&#091;Visible=True&#093;<br /><br />{------------Collect some statistics to help do the Gann Square and Angle projections--------}<br />{---We will test Vibrations 2 ways using Merril Filtered Waves and a colour bar by bar test of the adopted vibration---}<br />Vib:=input("Main Vibration", 8, .001, 100);<br />z:=Zig(If(Outside() AND Ref(H,-1)&gt;Ref(H,-2),H,If(Outside() AND Ref(L,-1)&lt;Ref(L,-2),L,If((Outside() OR Inside()) AND C&gt;O,H,If((Outside() OR Inside()) AND O&gt;C,L,If(H&gt;Ref(H,-1),H,If(L&lt;Ref(L,-1),L,If(Ref(H,-1)&gt;Ref(H,-2),H,If(Ref(L,-1)&lt;Ref(L,-2),L,C)))))))),Vib,%);<br /><br />ispeak := z&gt;hist(z,1) and z&gt;future(z,1);<br />istrough := z&lt;hist(z,1) and z&lt;future(z,1);<br /><br />&#091;Nmae=Vib; linestyle=Solid; color=Red&#093;<br />if(Dwnswing &lt;=pd+1,Z,undefined);<br /><br />UPSwing:=barssince(istrough&gt;0);<br />DownSwing:=barssince(ispeak&gt;0);<br /><br />{These are calculation mechanics needed to produced various Time and Volume outputs}<br />UpZig:=Z&gt;ref(z,-1);<br />DownZig:=Z&lt;ref(z,-1);<br /><br />{------------Minor wave vibration test--------}<br />Vib2:=input("Alternative Filtered Wave Vibration test", 4, .001, 100);<br />z2:=Zig(If(Outside() AND Ref(H,-1)&gt;Ref(H,-2),H,If(Outside() AND Ref(L,-1)&lt;Ref(L,-2),L,If((Outside() OR Inside()) AND C&gt;O,H,If((Outside() OR Inside()) AND O&gt;C,L,If(H&gt;Ref(H,-1),H,If(L&lt;Ref(L,-1),L,If(Ref(H,-1)&gt;Ref(H,-2),H,If(Ref(L,-1)&lt;Ref(L,-2),L,C)))))))),Vib2,%);<br /><br />ispeak2 := z2&gt;hist(z2,1) and z2&gt;future(z2,1);<br />istrough2 := z2&lt;hist(z2,1) and z2&lt;future(z2,1);<br /><br />&#091;linestyle=Solid; width=2; color=Blue&#093;<br />Z2;<br /><br />&#091;color=Blue&#093;<br />&#091;name=Peak High; linestyle=Text; textalign=Above,Center; color=Blue&#093;<br />if(isPeak2, " " + z2, undefined);<br />High*1.02;<br /><br />&#091;name=Trough Low; linestyle=Text; textalign=Below,Center;color=Blue&#093;<br />if(isTrough2, "" + z2, undefined);<br />Low*0.98;<br /><br />{ Fill }<br />&#091;name=Vibrations Fill; linestyle=fill&#093;<br />&#091;color=Lime Green &#093; z;<br />&#091;color=Deep Violet&#093; Z2;<br /><br />{------ Historical Statistics--------}<br />&#091;Name=Swing Count; linestyle=Text; fontsize=8; textalign=Above,Right; color=Blue&#093;<br />if(Type=1 AND isPeak, "n=" + Round((Upswing),0),undefined);<br />High*1.01;<br /><br />&#091;Name=Swing Count; linestyle=Text; textalign=Below,Right;color=Blue&#093;<br />if(Type=1 AND isTrough, "n=" + Round((Downswing),0),undefined);<br />Low*0.99;<br /><br />&#091;Name=PerDay; linestyle=Text; textalign=Above,Left; color=Blue&#093;<br />if(Type=1 AND isPeak, "P/day= " + Round((z-valuewhen(1,istrough,L))/Upswing,3), undefined);<br />High*1.01;<br /><br />&#091;Name=PerDay; linestyle=Text; textalign=Below,Left;color=Blue&#093;<br />if(Type=1 AND isTrough, "P/day= " +  Round((z-valuewhen(1,ispeak,H))/Downswing,3), undefined);<br />Low*0.99;<br /><br />{------% for minor swing within move and move %--------}<br />&#091;Name=Percent of SwingU; linestyle=Text; fontsize=8; textalign=Above,Center; color=Black&#093;<br />if(Upswing &lt;=pd+1 AND Type=1 AND isPeak, "%Sw " + Round((z-valuewhen(1,istrough&gt;0,z))/valuewhen(1,istrough&gt;0,z)*100,1), undefined);<br />High;<br /><br />&#091;Name=Percent of SwingD; linestyle=Text; textalign=Below,Center;&#093;<br />if(Downswing &lt;=pd+1 AND Type=1 AND isTrough, "%Sw "+Round(-(z-valuewhen(1,ispeak&gt;0,z))/{valuewhen(1,ispeak&gt;0,z)}z*100,1)+"%", undefined);<br />Low;<br /><br />{--------This section takes up price colour bars vibration confirmation test--------}<br />&#091;linestyle=PriceColor;&#093;<br /><br />{--------colour bars  per Zig Swing--------}<br />&#091;Color=Blue;&#093;<br />&#091;name=Upswing barsl; Color= Blue;&#093; <br />ub:=If(Type2=1 and UpZig,1,0);<br />ub;<br /><br />&#091;name=DownswingBars; Color=Red;&#093; <br />db:=If(Type2=1 and DownZig,1,0);<br />db;<br /><br />{--------colour bars  per Vibrations--------}<br />&#091;name=Upswing barsl; Color= Blue;&#093; <br />ub2:=If(Type2=2 and (Typ()-Hist(Typ(),vt))&gt;=vt*b,1,0);<br />ub2;<br /><br />&#091;name=DownswingBars; Color=Red;&#093; <br />db2:=If(Type2=2 and(Typ()-Hist(Typ(),vt))&lt;=-vt*b,1,0);<br />db2;<br /><br />&#091;color=Lime&#093;  true;<br /><br />{--------Some peripheral calculations need later on--------}<br />{Count since start of Move}<br />MoveSwing:=barssince(HD=0);<br /><br />{Trigonometry variables to calc angles Have to apply arcSin (Days/Hypothenuse to get angles as ARCTan function does not work properly so this is more convoluted formula}<br /><br />{Adjacent}<br />Days:=(DwnSwing-1);<br />{Opposite}<br />Price:=Z-Bot;<br /><br />{Hypothenuse}<br />{if not scaled to begin with Hyp:=Sqrt(Days * Days + Price * Price);}<br />{When Properly chart scaled first time}<br />Hyp:=Sqrt((DwnSwing-1) * (DwnSwing-1) + Price * Price);<br />angle:=ASIN(Price/Hyp);<br /><br />{----------------------Now Project the Top and Bottom for a Basic Square--------------------------}<br />&#091;name=O/8; linestyle=Horzline; Width=2; color=Black; visible=yes&#093;<br />bottom:=If ({HD and }Dwnswing &lt;=pd+1,Bot,undefined);<br />bottom;<br /><br />&#091;linestyle=Text; fontsize=6; textalign=Below,center;color=Black;&#093;<br />if(barssince(Z1=0)and Dwnswing &lt;=pd+1, int(Dwnswing-1) + " ", undefined);<br />bottom;<br /><br />&#091;name=8/8; linestyle=Horzline; Width=2; color=Black; visible=yes&#093;<br />Top:=If (HD and Dwnswing &lt;=pd+1,(Bot-b) +(pd+1)*b,undefined);<br />Top;<br /><br />{------add Gann Percentage levels within the square----------------------}<br />&#091;name=1/8; linestyle=Horzline; Width=1; color=Orange; visible=yes&#093;<br />oneeight:=If(HD and Dwnswing &lt;=pd+1,Bottom + (Top-Bottom)*1/8,undefined);<br />oneeight;<br />&#091;name=2/8;color=Black;Width=2;&#093;;<br />twoeight:=If(HD and Dwnswing &lt;=pd+1, Bottom + (Top-Bottom)*2/8,undefined);<br />twoeight;<br />&#091;name=3/8; Width=1; color=Sea Green&#093;;<br />threeeight:=If(HD and Dwnswing &lt;=pd+1, Bottom + (Top-Bottom)*3/8,undefined);<br />threeeight;<br />&#091;name=4/8;color=Black;Width=2;&#093;;<br />foureight:=If(HD and Dwnswing &lt;=pd+1, Bottom + (Top-Bottom)*4/8,undefined);<br />foureight;<br />&#091;name=5/8; Width=1; color=Sea Green&#093;;<br />fiveeight:=If(HD and Dwnswing &lt;=pd+1, Bottom + (Top-Bottom)*5/8,undefined);<br />fiveeight;<br />&#091;name=6/8; color=Black;Width=2;&#093;;<br />sixeight:=If(HD and Dwnswing &lt;=pd+1, Bottom + (Top-Bottom)*6/8,undefined);<br />sixeight;<br />&#091;name=7/8;  Width=1; color=Orange;&#093;<br />seveneight:=If(HD and Dwnswing &lt;=pd+1, Bottom + (Top-Bottom)*7/8,undefined);<br />seveneight;<br />&#091;name=8/8;  color=Black;Width=2;&#093;;<br />eighteight:=If(HD and Dwnswing &lt;=pd+1,Top,undefined);<br />eighteight;<br />&#091;name=8/8; Width=1; color=Blue;&#093;<br />onethird:=If(HD and Dwnswing &lt;=pd+1, Bottom + (Top-Bottom)*1/3,undefined);<br />onethird;<br />Twothird:=If(HD and Dwnswing &lt;=pd+1, Bottom + (Top-Bottom)*2/3,undefined);<br />Twothird;<br /><br />{------Project the Angles on first Square and a second Square-------}<br /><br />{---Start Angles from Low point chosen as Starting point by dragging indicator start line---}<br /><br />&#091;Width=1;&#093;<br />expr1:= if(HD and Dwnswing &lt;=(pd+1),Bot-b,undefined);<br />expr2:= if(HD and Dwnswing &lt;=((pd+1)/2)+1,Bot-2*b,undefined);<br />expr4:= if(HD and Dwnswing &lt;=((pd+1)/4)+1,Bot-4*b,undefined);<br /><br />expra:= if(HD and Dwnswing &lt;=(2*pd+1),Bot-b/2,undefined);<br />exprc:= if(HD and Dwnswing &lt;=(2*pd+1),Bot-b/4,undefined);<br /><br />{This is effectively scaled 1 X 1 Angle}<br />base1:= if(expr1=Bot-b, prev(expr1)+(b),undefined);<br /><br />{-----------------Other  angles realtive to the Adopted 1 X 1 (or the Base Gradient)---------------}<br /><br />base2:= if(a2 AND expr2=Bot-2*b, prev(expr2)+(b*2),undefined);<br />base4:= if(a2 AND expr4=Bot-4*b, prev(expr4)+(b*4),undefined);<br />basea:= if(a2 AND expra=Bot-b/2, prev(expra)+(b/2),undefined);<br />basec:= if(a2 AND exprc=Bot-b/4, prev(exprc)+(b/4),undefined)<br /><br />{-----------------Draw the angles in first Square---------------}<br /><br />&#091;linestyle=Dash; width=1; name=Scaled 1 X 1; Color=Black;&#093;<br />base1;<br />&#091;name=Scaled Base 2 X 1; color=Blue;&#093;<br />base2;<br />&#091;name=Scaled Base 4 X 1; color=Red;&#093;<br />base4;<br />&#091;name=Scaled Base 1 X 2; width=1; color=orange;&#093;<br />basea;<br />&#091;name=Scaled Base 1 X 4; color=orange;&#093;<br />basec;<br /><br />{---- Now add Down Angles---}<br />expr1d:= if(HD and Dwnswing &lt;=pd+1,Top+b,undefined);<br />exprad:= if(HD and Dwnswing &lt;=(2*pd+1),Top+(b/2),undefined);<br />exprbd:= if(HD and Dwnswing &lt;=((pd+1)/2)+1,Top+b*2,undefined);<br /><br />&#091;linestyle=Solid; width=1; name=1 X 1; Color=Black;&#093;<br />base1d:= if( expr1d=Top+b, prev(expr1d)-(b),undefined);<br />base1d;<br /><br />&#091;linestyle=dash; width=1;&#093;<br />&#091; name=1 X 2; Color=Royal Blue;&#093;<br />basead:= if( exprad=Top+(b/2), prev(exprad)-(b/2),undefined);<br />basead;<br /><br />&#091; name=1 X 4; Color=Red; width=1;&#093;<br />basebd:= if( exprbd=Top+b*2, prev(exprbd)-(b*2),undefined);<br />basebd;<br /><br />&#091;Visible=True&#093;<br />{gradients on second squares}<br />expr41:= if(HD and Dwnswing &gt;=pd+1 AND Dwnswing &lt;=2*pd+1 ,Bot-b,undefined);<br />expr4a:= if(HD and Dwnswing &gt;=pd+1 AND Dwnswing &lt;=2*pd+1 ,Bot-b/2,undefined);<br />expr4b:= if(HD and Dwnswing &gt;=pd+1 AND Dwnswing &lt;=3*((pd+1)/2),Bot-b*2,undefined);<br /><br />&#091;linestyle=Dash; width=1; name=1 X 1; Color=Black;&#093;<br />base41:= if(SA=1 AND expr41=Bot-b, prev(expr41)+(b),undefined);<br />base41;<br />&#091;name=1 X 2; Color=Royal Blue;&#093;<br />base4a:= if(SA=1 AND expr4a=Bot-b/2, prev(expr4a)+(b/2),undefined);<br />base4a;<br />&#091;name=2 X 1; Color=Red;&#093;<br />base4b:= if(SA=1 AND expr4b=Bot-b*2, prev(expr4b)+(b*2),undefined);<br />base4b;<br /><br />{Down angle to complete first square from mid point}<br />expr6b:= if(HD and Dwnswing &gt;=(pd+1)/2 AND Dwnswing &lt;=(pd+1),Bot-b*2,undefined);<br />&#091;name=3 X 1; Color=Red;&#093;<br />base6b:= if(SA=1 AND expr6b=Bot-b*2, prev(expr6b)+(b*2),undefined);<br />base6b;<br /><br />{Down angle to complete second square from mid point}<br />expr8b:= if(HD and Dwnswing &gt;=(pd)*(3/2)+1 AND Dwnswing &lt;=(pd*2)+1,Bot-b*2,undefined);<br />&#091;name=3 X 1; Color=Red;&#093;<br />base8b:= if(SA=1 AND expr8b=Bot-b*2, prev(expr8b)+(b*2),undefined);<br />base8b;<br /><br />{These are up angles}<br />expr5:=if(HD and Dwnswing &gt;=pd+1 AND Dwnswing &lt;=2*pd+1,(Bot-(pd*-gradient))+b,undefined);<br />expr5a:=if(HD and Dwnswing &gt;=pd+1 AND Dwnswing &lt;=2*pd+1,(Bot-(pd*-gradient))+b/2,undefined);<br />expr5b:=if(HD and Dwnswing &gt;=pd+1 AND Dwnswing &lt;=3*((pd+1)/2),(Bot-(pd*-gradient))+b*2,undefined);<br /><br />&#091;name=1 X 1; Color=Black;&#093;<br />base5:=if(SA=1 AND expr5=(Bot-(pd*-gradient))+b, prev(expr5)-(b),undefined);<br />base5;<br />&#091;name=1 X 2; Color=Royal Blue;&#093;<br />base5a:=if(SA=1 AND expr5a=(Bot-(pd*-gradient))+b/2, prev(expr5a)-(b/2),undefined);<br />base5a;<br />&#091;name=2 X 1; Color=Red;&#093;<br />base5b:=if(SA=1 AND expr5b=(Bot-(pd*-gradient))+b*2, prev(expr5b)-(b*2),undefined);<br />base5b;<br /><br />{Up angle to complete first square from mid point}<br />expr7b:=if(HD and Dwnswing &gt;=(pd+1)/2 AND Dwnswing &lt;=(pd+1),(Bot-(pd*-gradient))+b*2,undefined);<br /><br />&#091;name=3 X 1; Color=Red;&#093;<br />base7b:=if(SA=1 AND expr7b=(Bot-(pd*-gradient))+b*2, prev(expr7b)-(b*2),undefined);<br />base7b;<br /><br />{Up angle to complete second square from mid point}<br />expr9b:=if(HD and Dwnswing &gt;=(pd)*(3/2)+1 AND Dwnswing &lt;=(pd*2)+1,(Bot-(pd*-gradient))+b*2,undefined);<br />&#091; name=3 X 1; Color=Red;&#093;<br />base9b:= if(SA=1 AND expr9b=(Bot-(pd*-gradient))+b*2, prev(expr9b)-(b*2),undefined);<br />base9b;<br /><br />{---------------Quarter Circle Formula for Gann or Michael Jenkin's Approach -------}<br />x:=barssince(HD);<br /><br />y:=(Top-Bot)/tme;<br />circ4:= if(HD and Dwnswing&lt;=(pd+1),sqrt(((pd)^2)-((Dwnswing-1)^2)),undefined);<br />&#091;name=Quarter Circle; linestyle=Solid; width=3;  Color=blue;&#093;<br />If ((circ4+bot)&gt;=Bot,(circ4*b)+bot,undefined);<br /><br />circ5:= if(HD and Dwnswing&lt;=(pd+1),sqrt((((pd)*4/8)^2)-((Dwnswing-1)^2)),undefined);<br />&#091;name=Quarter Circle; linestyle=Solid; width=3;  Color=blue;&#093;<br />If ((circ5+bot)&gt;=Bot,(circ5*b)+bot,undefined);<br /><br />circ6:= if(HD and Dwnswing&lt;=(pd+1),sqrt(((pd*6/8)^2)-((Dwnswing-1)^2)),undefined);<br />&#091;name=Quarter Circle; linestyle=Solid; width=2;  Color=Red;&#093;<br />circ6a:=If ((circ6+bot)&gt;=Bot,(circ6*b)+bot,undefined);<br />circ6a;<br /><br />circ7:= if(HD and Dwnswing&lt;=(pd+1),sqrt(((pd*2/8)^2)-((Dwnswing-1)^2)),undefined);<br />&#091;name=Quarter Circle; linestyle=Solid; width=2;  Color=Red;&#093;<br />If ((circ7+bot)&gt;=Bot,(circ7*b)+bot,undefined);<br /><br />{---------------Set up high and Low Vibration range-------}<br /><br />exprh:= if(HD and Dwnswing &lt;=(pd+1),Bot-b1,undefined);<br />{This is effectively scaled 1 X 1 Angle}<br />baseh:= if(exprh=Bot-b1, prev(exprh)+(b1),undefined);<br />&#091;linestyle=Dash; width=1; name=High Vibration; Color=Black;&#093;<br />baseh;<br /><br />exprl:= if(HD and Dwnswing &lt;=(pd+1),Bot-b2,undefined);<br />{This is effectively scaled 1 X 1 Angle}<br />basel:= if(exprl=Bot-b2, prev(exprl)+(b2),undefined);<br />&#091;linestyle=Dash; width=1; name=High Vibration; Color=Black;&#093;<br />basel;<br /><br />&#091;name=Fill; linestyle=fill;&#093; <br />&#091;color=Lime; &#093;<br />Baseh;Base1;<br /><br />&#091;color=Red; &#093;<br />Base1; Basel;<br /><br />{Relative Angle to 1X1}<br />Relang:=Price/(Base1-Bot);<br /><br />{Actual Gradient line Angle to 1X1}<br />Relang2:=(Base1-Bot)/(Base1-Bot);<br /><br />{Draw verticle Line as time elapses within the Square}<br /><br />&#091;name=Start line; Linestyle=Fill Bars; Width=2; color=Black;&#093;<br />if(HD and Dwnswing=1,Top,undefined);<br />if(HD and Dwnswing=1,Bot,undefined);<br /><br />&#091;name=Quarter Time;&#093;<br />If (Dwnswing= round(((pd)/4)+1,0),Top,undefined);<br />If (Dwnswing= round(((pd)/4)+1,0),Bot,undefined);<br /><br />&#091;name=Half Time;&#093;<br />If (Dwnswing= round(((pd)/2)+1,0),Top,undefined);<br />If (Dwnswing= round(((pd)/2)+1,0),Bot,undefined);<br /><br />&#091;name=Three Quarter Time;&#093;<br />If (Dwnswing= round(((pd)*3/4),0)+1,Top,undefined);<br />If (Dwnswing= round(((pd)*3/4),0)+1,Bot,undefined);<br /><br />&#091;name=Price and time sb Square;&#093;<br />If (Dwnswing= round(((pd)),0)+1,Top,undefined);<br />If (Dwnswing= round(((pd)),0)+1,Bot,undefined);<br /><br />Tp1:=If (Dwnswing= round(((pd)/4)+1,0),1,undefined);<br />Tp2:=If (Dwnswing= round(((pd)/2)+1,0),1,undefined);<br />Tp3:=If (Dwnswing= round(((pd)*3/4),0)+1,1,undefined);<br />Tp4:=If (Dwnswing= round(((pd)),0)+1,1,undefined);<br /><br />{--------------Statistics to use to apply Gann's basis of my Forecasting Method------------------}<br />&#091;Visible=False&#093;<br />{Price change per day per swing}<br />&#091;Name=WD Fcst; linestyle=Text; fontsize=8; textalign=Above,Right; color=Blue&#093;<br />if(Downswing &lt;=pd+1 AND Type=2 AND isPeak,"WDSw " + Round((z-valuewhen(1,istrough&gt;0,z)){-valuewhen(1,istrough&gt;0,z)}/Upswing,2), undefined);<br />High*1.01;<br /><br />&#091;Name=WD Fcst; linestyle=Text; textalign=Below,Right; color=Blue&#093;<br />if(Downswing &lt;=pd+1 AND Type=2 AND istrough,"WDSw " + Round((z-valuewhen(1,ispeak&gt;0,z)){-valuewhen(1,istrough&gt;0,z)}/DownSwing,2), undefined);<br />Low*.99;<br /><br />&#091;Visible=True&#093;<br />{Price change per day since start}<br /><br />pcpb:=Round(((Z-Bot)/(Moveswing-1)),3);<br /><br />&#091;Name=WDFcstMve; linestyle=Text; textalign=Above,center; color=Black&#093;<br />if(Dwnswing &lt;=pd+1 AND Type=2 AND isPeak,"WD " + pcpb, undefined);<br />High*1.01;<br /><br />&#091;Name=WDFcstMve; linestyle=Text; textalign=Below,center;color=Black&#093;<br />if(Dwnswing &lt;=pd+1 AND Type=2 AND isTrough,"WD " + pcpb, undefined);<br />Low*.99;<br /><br />{--------------Traditional Gann Angle Nomenclature applied to adopted scale or gradient-----------------}<br />&#091;Name=AngleU; linestyle=Text; fontstyle=Bold; textalign=Above,Center; color=Black&#093;<br />if(HD AND Dwnswing &lt;=pd+1 AND Type=3 AND isPeak,Round(Relang,2)+" X 1", undefined);<br />High*1.01;<br /><br />&#091;Name=AngleD; linestyle=Text; textalign=Below,Center;color=Black&#093;<br />if(HD AND Dwnswing &lt;=pd+1 AND Type=3 AND isTrough, "1 X " + Round(1/Relang,2) , undefined);<br />Low*.99;<br /><br />{------------This part displays the gradient in cents per bar-------------}<br />&#091;linestyle=Text; fontsize=8; fontstyle=Bold; textalign=Above,Left; color=Black;&#093;<br />if(Type=2 AND Tp1, "Grad= "+ Round(Gradient,4) , undefined); base1;<br />if(Type=2 AND Tp2, "Grad= "+ Round(Gradient,4) , undefined); base1;<br />if(Type=2 AND Tp3, "Grad= "+ Round(Gradient,4) , undefined); base1;<br />if(Type=2 AND Tp4, "Grad= "+ Round(Gradient,4) , undefined); base1;<br /><br />if(Type=2 AND Tp1, "Grad=" +Round(Gradient,4)*4, undefined) ; Top;<br />if(Type=2 AND Tp2, "Grad=" +Round(Gradient,4)*2, undefined) ; Top;<br /><br />if(Type=2 AND Tp4, "Grad=" +Round(Gradient/2,4), undefined) ; Foureight;<br />if(Type=2 AND Tp4, "Grad=" +Round(Gradient/4,4), undefined) ; TwoEight;<br /><br />if(Type=3 AND Tp1, "1 X " + Round(Relang2,0), undefined); base1;<br />if(Type=3 AND Tp2, "1 X " + Round(Relang2,0), undefined); base1;<br />if(Type=3 AND Tp3, "1 X " + Round(Relang2,0), undefined); base1;<br />if(Type=3 AND Tp4, "1 X " + Round(Relang2,0), undefined); base1;<br /><br />if(Type=3 AND Tp1, Round(Relang2,0), undefined) + " X 1" ; Top;<br />if(Type=3 AND Tp1, Round(Relang2,0)*4, undefined) + " X 1" ; Top;<br />if(Type=3 AND Tp2, Round(Relang2,0)*2, undefined) + " X 1" ; Top;<br />if(Type=3 AND Tp4, "1 X " +Round(Relang2*2,0), undefined) ; Foureight;<br />if(Type=3 AND Tp4, "1 X " +Round(Relang2*4,0), undefined) ; TwoEight;<br /><br />{---Add Gann text applied to 1/8 and 1/3 Percentages Grid levels---}<br />&#091;linestyle=Text; textalign=Above,Left; color=Blue;&#093;<br />if(HD and Dwnswing &lt;=1 and Bottom, Round(Bottom,2) + " )% ", undefined);Bottom;<br /><br />&#091;linestyle=Text; textalign=Above,Left; color=Orange;&#093;<br />if(HD and Dwnswing &lt;=1 and oneeight, Round(oneeight,2) + " 12.5% ", undefined);oneeight;<br /><br />&#091;linestyle=Text; textalign=Above,Left; color=Magenta; &#093;<br />if(HD and Dwnswing &lt;=1 and twoeight, Round(twoeight,2) + " 25% ", undefined);twoeight;<br /><br />&#091;linestyle=Text; textalign=Above,Left; color=Black; &#093;<br />if(HD and Dwnswing &lt;=1 and threeeight, Round(threeeight,2) + " 33.3% ",undefined);onethird;<br /><br />&#091;linestyle=Text; textalign=Above,Left; color=Sea Green; &#093;<br />if(HD and Dwnswing &lt;=1 and threeeight, Round(threeeight,2) + " 37.5% ",undefined);threeeight;<br /><br />&#091;linestyle=Text; textalign=Above,Left; color=Blue; &#093;<br />if(HD and Dwnswing &lt;=1 and foureight, Round(foureight,2) + " 50% ",undefined); foureight;<br /><br />&#091;linestyle=Text; textalign=Above,Left; color=Sea Green; &#093;<br />if(HD and Dwnswing &lt;=1 and fiveeight, Round(fiveeight,2) + " 62.5% ", undefined);fiveeight;<br /><br />&#091;linestyle=Text; textalign=Above,Left; color=Black; &#093;<br />if(HD and Dwnswing &lt;=1 and threeeight, Round(threeeight,2) + " 66.6% ",undefined);twothird;<br /><br />&#091;linestyle=Text; textalign=Above,Left; color=Magenta; &#093;<br />if(HD and Dwnswing &lt;=1 and sixeight, Round(sixeight,2) + " 75% ", undefined);sixeight;<br /><br />&#091;linestyle=Text; textalign=Above,Left; color=Orange; &#093;<br />if(HD and Dwnswing &lt;=1 and seveneight, Round(seveneight,2) + " 87.5% ",undefined);seveneight;<br /><br />&#091;linestyle=Text; textalign=Above,Left; color=Blue; &#093;<br />if(HD and Dwnswing &lt;=1 and eighteight, Round(eighteight,2) + " 100% ",undefined);eighteight;<br /><br /><br /><span style="font-size:10px"><br /><br />Edited by cmacdon - 12&nbsp;Oct&nbsp;2014 at 2:58pm</span>]]>
   </description>
   <pubDate>Sun, 12 Oct 2014 14:47:23 +0000</pubDate>
   <guid isPermaLink="true">http://www.bullcharts.com.au/forum/forum_posts.asp?TID=977&amp;PID=3435#3435</guid>
  </item> 
  <item>
   <title>Gann in BullCharts : Quarter Circles</title>
   <link>http://www.bullcharts.com.au/forum/forum_posts.asp?TID=976&amp;PID=3434#3434</link>
   <description>
    <![CDATA[<strong>Author:</strong> <a href="http://www.bullcharts.com.au/forum/member_profile.asp?PF=1044" rel="nofollow">cmacdon</a><br /><strong>Subject:</strong> Quarter Circles<br /><strong>Posted:</strong> 12&nbsp;Oct&nbsp;2014 at 2:28pm<br /><br /><img src="uploads/1044/circle2.png" border="0" />]]>
   </description>
   <pubDate>Sun, 12 Oct 2014 14:28:08 +0000</pubDate>
   <guid isPermaLink="true">http://www.bullcharts.com.au/forum/forum_posts.asp?TID=976&amp;PID=3434#3434</guid>
  </item> 
  <item>
   <title>Gann in BullCharts : Quarter Circles</title>
   <link>http://www.bullcharts.com.au/forum/forum_posts.asp?TID=976&amp;PID=3433#3433</link>
   <description>
    <![CDATA[<strong>Author:</strong> <a href="http://www.bullcharts.com.au/forum/member_profile.asp?PF=1044" rel="nofollow">cmacdon</a><br /><strong>Subject:</strong> Quarter Circles<br /><strong>Posted:</strong> 12&nbsp;Oct&nbsp;2014 at 2:27pm<br /><br /><img src="uploads/1044/circle1.png" border="0" />]]>
   </description>
   <pubDate>Sun, 12 Oct 2014 14:27:31 +0000</pubDate>
   <guid isPermaLink="true">http://www.bullcharts.com.au/forum/forum_posts.asp?TID=976&amp;PID=3433#3433</guid>
  </item> 
  <item>
   <title>Gann in BullCharts : Quarter Circles</title>
   <link>http://www.bullcharts.com.au/forum/forum_posts.asp?TID=976&amp;PID=3432#3432</link>
   <description>
    <![CDATA[<strong>Author:</strong> <a href="http://www.bullcharts.com.au/forum/member_profile.asp?PF=1044" rel="nofollow">cmacdon</a><br /><strong>Subject:</strong> Quarter Circles<br /><strong>Posted:</strong> 12&nbsp;Oct&nbsp;2014 at 2:26pm<br /><br />Whilst Gann referred a lot to Circles within Square and Squaring time and the Square of Nine etc.<br /><br />Various other authors use Quarter Circles along with Gann Squares e.g.Gunner24.  In that case Quarter Circles are used to interpret Support and Resistance moves within a Gann Square and to scale the Square off the first impulse wave.<br /><br />Michael Jenkins sometimes uses part circles on his charts by taking the Square roots of certain numbers.<br /><br />Pyrapoint is a Gann theory derived tool developed based on the work of Don.E.Hall which uses Pythagorean Square Root Theory.<br /><br />What these Gann related tools and methods try to pick up as a basis for further projections of price action is the mathematical relationship emanating from the first impulse wave of a price action move. Whilst not getting into Elliott waves theory, there are certain Fibonacci ratios emanating from some waves allowing subsequent price action waves likely place and time to be mathematically projected.<br /><br />In the Gann Square indicator I added Quarter Circles.  You will note the formulas in the Bullscript are based on simultaneous square roots of price and time coordinates.<br /><br />The only issue in the way I have written the Bullscript code is that the forecast period must be divisible by 4 to fully form the Quarter Cycles on the indicator on the chart.  If the time bars produces fractions of a bar at the Quarter marks in time e.g. a forecast period of 39 days divisible by 4 is not a whole number for a time bar location then some parts of the Quarter Circle towards the bottom of the horizontal axis will not form.  If that is a distraction go into indicator styles and untick the quarter circle not forming.<br /><br />Below are examples of using a first impulse wave to the first Gann Square indicator or to the first quarter circle as the guide to set up the scaling framework for the complete projection of the fully Gann Square framework which probably has a mathematical relationship to the first impulse wave.  It is a bit trial and error to get right but once set up the Gann Square really does not need to be moved on a chart or rescaled for some time.<span style="font-size:10px"><br /><br />Edited by cmacdon - 13&nbsp;Oct&nbsp;2014 at 1:59am</span>]]>
   </description>
   <pubDate>Sun, 12 Oct 2014 14:26:57 +0000</pubDate>
   <guid isPermaLink="true">http://www.bullcharts.com.au/forum/forum_posts.asp?TID=976&amp;PID=3432#3432</guid>
  </item> 
  <item>
   <title>Gann in BullCharts : Intraday Gann Square</title>
   <link>http://www.bullcharts.com.au/forum/forum_posts.asp?TID=975&amp;PID=3431#3431</link>
   <description>
    <![CDATA[<strong>Author:</strong> <a href="http://www.bullcharts.com.au/forum/member_profile.asp?PF=1044" rel="nofollow">cmacdon</a><br /><strong>Subject:</strong> Intraday Gann Square<br /><strong>Posted:</strong> 12&nbsp;Oct&nbsp;2014 at 1:31pm<br /><br /><img src="uploads/1044/intraday4.png" border="0" />]]>
   </description>
   <pubDate>Sun, 12 Oct 2014 13:31:20 +0000</pubDate>
   <guid isPermaLink="true">http://www.bullcharts.com.au/forum/forum_posts.asp?TID=975&amp;PID=3431#3431</guid>
  </item> 
  <item>
   <title>Gann in BullCharts : Intraday Gann Square</title>
   <link>http://www.bullcharts.com.au/forum/forum_posts.asp?TID=975&amp;PID=3430#3430</link>
   <description>
    <![CDATA[<strong>Author:</strong> <a href="http://www.bullcharts.com.au/forum/member_profile.asp?PF=1044" rel="nofollow">cmacdon</a><br /><strong>Subject:</strong> Intraday Gann Square<br /><strong>Posted:</strong> 12&nbsp;Oct&nbsp;2014 at 1:21pm<br /><br /><img src="uploads/1044/intraday2.png" border="0" />]]>
   </description>
   <pubDate>Sun, 12 Oct 2014 13:21:04 +0000</pubDate>
   <guid isPermaLink="true">http://www.bullcharts.com.au/forum/forum_posts.asp?TID=975&amp;PID=3430#3430</guid>
  </item> 
 </channel>
</rss>