Thanks Wavemechanic I have uncommented those lines and now my chart looks terrific. So that is first question sorted- and thank you again.
Now I would like to learn more about plotting text within the formula. I looked at Plot Text function and tried the MACD example. I also tried to understand the formula below - which would be near to what I want. http://www.amibroker.com/library/detail.php?id=1300&hilite=ZIG But, I am totally lost as to how to code the text I want and have it over the top or bottom of each swing on the Gann chart. DATE Close Range Days If anyone has some time to guide me would be a relief. Cheers Raine --- In [email protected], "wavemechanic" <olesmi...@...> wrote: > > 1 - uncomment the "price bars drawn" section > > 2 - See PlotText() > ----- Original Message ----- > From: possum51au > To: [email protected] > Sent: May 11, 2010 4:56 PM > Subject: [amibroker] Gann Swing charts with text - possible? > > > 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(); > > > > > > ------------------------------------ > > **** IMPORTANT PLEASE READ **** > This group is for the discussion between users only. > This is *NOT* technical support channel. > > TO GET TECHNICAL SUPPORT send an e-mail directly to > SUPPORT {at} amibroker.com > > TO SUBMIT SUGGESTIONS please use FEEDBACK CENTER at > http://www.amibroker.com/feedback/ > (submissions sent via other channels won't be considered) > > For NEW RELEASE ANNOUNCEMENTS and other news always check DEVLOG: > http://www.amibroker.com/devlog/ > > Yahoo! Groups Links >
