Hi Visshvesh
This is a Google doc for an ANZ chart - sometimes a picture helps!  I am
still working on  an annotation above and below each swing  with the
range of the swing and the bars in it.

http://docs.google.com/leaf?id=0By34fw59bL30MmQxNmE4MGEtMjk0YS00NGJjLWI2\
ZDgtNTEwOGFlZWRlMTMz&hl=en

I like to trade swings in price and I read the  Gann chart  to clearly
see if there is a higher swing bottom  when I want to go long or when a
lower swing top tells me  to exit as there is a strong possibility of a
change of the main trend.

This is a simple gann chart - it would be great to have a param so that
a 3 day or 5 day chart could be seen.  Also point swing charts are very
good - the chart will not swing until the a certain number of points  is
exceeded for instance (much like range bars) .  However I have no idea
how to code such a thing - maybe one day:)

Cheers
Raine


--- In [email protected], Vishvesh <vishvesh.chau...@...> wrote:
>
> Hi,
>
> I really liked the code, but based on ur experience can you explain me
how
> do u read this swing charts?
>
> Thanks & Regards
> Vishvesh
>
> On Wed, May 12, 2010 at 2:26 AM, possum51au raine.temp...@... wrote:
>
> >
> >
> > Hi
> > I am a fan of Gann swing charts and use the formulas kindly provided
by
> > Thomasz in 2001.
> > I have 2 questions for anyone able to help.
> > 1. How can I change this formula so that it overlays a bar chart
> >
> > 2. I wonder if it is possible to code AFL to show (above and below
each
> > swing) the Date, price, range above and below each swing and number
of
> > bars/days ?
> >
> > | |
> > | |
> > |__|
> > 1 May
> > 1.16
> > R .30
> > 5 d
> >
> > I'd be grateful for any suggestions/help on this
> > Thanks
> > Raine
> >
> > This is the formula I use now.
> > _SECTION_BEGIN("Gann 1 bar Swing new ");
> > /* Gann Swing chart v4 */
> > /* Last modified 24 Feb 2001 */
> > /* AFL implementation by */
> > /* (C)2001 Tomasz Janeczko */
> > /* one and two - bar reversal version */
> >
> > /* Change this to 1 for two-bar mode */
> > twobarmode = 0;
> >
> > outsidebar = Outside();
> > insidebar = H <= Ref( H, -1 ) AND L >= Ref( L, -1 ); // built-in
inside()
> > works with < > instead of <= >=
> >
> > upbar = H > Ref( H, -1 ) AND L >= Ref( L, -1 );
> > downbar = L < Ref( L, -1 ) AND H <= Ref( H, -1 );
> >
> > upbar2 = upbar OR ( outsidebar AND Ref( downbar, 1 ) ) ;
> > downbar2 = downbar OR ( outsidebar AND Ref( upbar, 1 ) );
> >
> > Poi = outsidebar AND Ref( insidebar, 1 );
> > Poo = outsidebar AND Ref( outsidebar, 1 );
> > Pooi = Poo AND Ref( insidebar, 2 );
> > Poio = Poi AND Ref( outsidebar, 2 );
> > Poii = Poi AND Ref( insidebar, 2 );
> > Pooo = Poo AND Ref( outsidebar, 2 );
> > Poooi = Pooo AND Ref( insidebar, 3 );
> > Pooio = Pooi AND Ref( outsidebar, 3 );
> > Poioo = Poio AND Ref( outsidebar, 3 );
> >
> > upbar3 = upbar2 OR ( Poi AND Ref( downbar, 2 ) );
> > downbar3 = downbar2 OR ( Poi AND Ref( upbar, 2 ) );
> >
> > upbar4 = upbar3 OR ( Poo AND Ref( upbar, 2 ) );
> > downbar4 = downbar3 OR ( Poo AND Ref( downbar, 2 ) );
> >
> > upbar5 = upbar4 OR ( Pooi AND Ref( upbar, 3 ) );
> > downbar5 = downbar4 OR ( Pooi AND Ref( downbar, 3 ) );
> >
> > upbar6 = upbar5 OR ( Poio AND Ref( upbar, 3 ) );
> > downbar6 = downbar5 OR ( Poio AND Ref( downbar, 3 ) );
> >
> > upbar7 = upbar6 OR ( Poii AND Ref( downbar, 3 ) );
> > downbar7 = downbar6 OR ( Poii AND Ref( upbar, 3 ) );
> >
> > upbar8 = upbar7 OR ( Pooo AND Ref( downbar, 3 ) );
> > downbar8 = downbar7 OR ( Pooo AND Ref( upbar, 3 ) );
> >
> > upbar9 = upbar8 OR ( Poooi AND Ref( downbar, 4 ) );
> > downbar9 = downbar8 OR (Poooi AND Ref( upbar, 4 ) );
> >
> > upbar10 = upbar9 OR ( Pooio AND Ref( downbar, 4 ) );
> > downbar10 = downbar9 OR ( Pooio AND Ref( upbar, 4 ) );
> >
> > upbar11 = upbar10 OR ( Poioo AND Ref( downbar, 4 ) );
> > downbar11 = downbar10 OR ( Poioo AND Ref( upbar, 4 ) );
> >
> > fupbar = upbar11;
> > fdownbar = downbar11;
> >
> > // Two-bar mode handling
> > fupbar = IIf( twobarmode, fupbar AND Ref( fupbar, 1 ), fupbar );
> > fdownbar = IIf( twobarmode, fdownbar AND Ref( fdownbar, 1 ),
fdownbar );
> >
> > /* Barcount since most recent up and down swings */
> > Us = BarsSince( fupbar );
> > Ds = BarsSince( fdownbar ) ;
> >
> > Sd1 =IIf( Us==0, 1, IIf( Ds==0, -1, 0) );
> >
> > Sd2 = IIf( Sd1 == 1, IIf( Ref( BarsSince(Sd1==1), -1) > Ref(
BarsSince( Sd1
> > == -1), -1), 1, 0),
> > IIf( Sd1 == -1, IIf( Ref( BarsSince(Sd1==1),-1) < Ref( BarsSince(
Sd1 ==
> > -1),-1), -1, 0), 0 ) );
> >
> > g0 = ValueWhen( Sd2, Sd2 ); /* sample and hold non-zero values */
> >
> > /* shift back one bar, add one dummy swing at the end and shift
forward */
> > /* to ensure proper handling of the last swing */
> > lastbar = Cum(1) == LastValue( Cum(1) );
> > swinglevel = IIf( g0 == -1, HighestSince( Sd2 == 1, H ),
LowestSince( Sd2
> > == -1, L ) );
> > swinglevel = IIf( lastbar, IIf( g0 == -1, LowestSince( Sd2 == -1, L
),
> > HighestSince( Sd2 == 1, H )), Ref( swinglevel, 1 ) );
> >
> > /* Gann Swing chart drawn here */
> > Graph1 = Ref( ValueWhen( Ref( Sd2 != 0, 1 ) OR lastbar, swinglevel ,
0 ),
> > -1 );
> > Graph1Style = 512+1024;
> > GraphXSpace = 5;
> > Title = Date() + Name() + " 1 Bar Gann Swing Chart";
> >
> > /* Colourized price bars drawn here */
> > /* graph0 = close; */
> > /* graph0style = 128; */
> > /* barcolor = IIF( outsidebar, 1, IIF( downbar, 4, IIF( upbar, 5, 0
) ) );
> > */
> > /* graph0barcolor = ValueWhen( barcolor != 0, barcolor ); */
> > _SECTION_END();
> >
> > _SECTION_BEGIN("Background");
> > //SetChartBkGradientFill( ParamColor("BgTop",
> > colorLavender),ParamColor("BgBottom", colorCustom3));
> > SetChartBkColor(colorWhite); // color of outer border
> > SetChartBkGradientFill( ColorRGB(175,175,239), colorLavender,
titlebkcolor
> > = colorWhite );
> > //color of inner panel
> > _SECTION_END();
> >
> >
> >
>


Reply via email to