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
<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] <mailto:amibroker%40yahoogroups.com>,
"wavemechanic" <olesmi...@...> wrote:
>
> 1 - uncomment the "price bars drawn" section
>
> 2 - See PlotText()
> ----- Original Message -----
> From: possum51au
> To: [email protected] <mailto:amibroker%40yahoogroups.com>
> 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/ <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/ <http://www.amibroker.com/devlog/>
>
> Yahoo! Groups Links
>