Hello,
See also the very last sample in the User's Guide:
http://www.amibroker.com/guide/a_lowlevelgfx.html
It shows how to find out what visible bars are and how to align
lowlevel gfx with normal chart.
See also the following sample from ReleaseNotes.html document
function GetVisibleBarCount()
{
lvb = Status("lastvisiblebar");
fvb = Status("firstvisiblebar");
return Min( Lvb - fvb, BarCount - fvb );
}
function GfxConvertBarToPixelX( bar )
{
lvb = Status("lastvisiblebar");
fvb = Status("firstvisiblebar");
pxchartleft = Status("pxchartleft");
pxchartwidth = Status("pxchartwidth");
return pxchartleft + bar * pxchartwidth / ( Lvb - fvb + 1 );
}
function GfxConvertValueToPixelY( Value )
{
local Miny, Maxy, pxchartbottom, pxchartheight;
Miny = Status("axisminy");
Maxy = Status("axismaxy");
pxchartbottom = Status("pxchartbottom");
pxchartheight = Status("pxchartheight");
return pxchartbottom - floor( 0.5 + ( Value - Miny ) * pxchartheight/ ( Maxy -
Miny ) );
}
Plot(C, "Price", colorBlack, styleHistogram );
GfxSetOverlayMode(0);
GfxSelectSolidBrush( colorRed );
GfxSelectPen( colorRed );
AllVisibleBars = GetVisibleBarCount();
fvb = Status("firstvisiblebar");
for( i = 0; i < AllVisibleBars ; i++ )
{
x = GfxConvertBarToPixelX( i );
y = GfxConvertValueToPixelY( C[ i + fvb ] );
GfxRectangle( x-1, y-1, x + 2, y+1 );
}
//SetChartBkGradientFill( ColorRGB(200,200,200), ColorRGB( 255,255,255) );
_SECTION_END();
Best regards,
Tomasz Janeczko
amibroker.com
----- Original Message -----
From: "Tomasz Janeczko" <[email protected]>
To: <[email protected]>
Sent: Monday, March 30, 2009 11:18 AM
Subject: Re: [amibroker] Re: How do you find the number of padded bars that are
visible?
> It is described in detail in the Knowledge Base:
> http://www.amibroker.com/kb/2008/07/03/quickafl/
>
> (pay special attention to the PICTURE embedded in the article)
>
> Best regards,
> Tomasz Janeczko
> amibroker.com
> ----- Original Message -----
> From: "sidhartha70" <[email protected]>
> To: <[email protected]>
> Sent: Monday, March 30, 2009 12:13 AM
> Subject: [amibroker] Re: How do you find the number of padded bars that are
> visible?
>
>
>> If your talking about built in AFL functions like PlotOHLC() etc then they
>> have built in abilities to plot beyond the end of the
>> last bar... so wondering about how much space in there is not something you
>> have to worry about.
>>
>> If it's low level gfx, then I'm not sure I can help. I do use low level gfx
>> quite a bit but it is either 'on or off' my chart... I
>> tend to use it for display buttons & grids etc..etc...
>>
>> There may well be a way to get back the info you want... maybe someone else
>> can point you in the right direction...?
>>
>> As a point of note Conrad, I wouldn't worry so much about code speed right
>> now... my advice is to get down what you want, then
>> worry about removing any superfluous calculation afterwards...
>>
>> --- In [email protected], "sidhartha70" <sidharth...@...> wrote:
>>>
>>> Just to be clear Conrad, you are talking about low level gfx drawing
>>> operations....? Rather than those in any way related to the
>>> AFL Plot() PlotOHLC() etc..etc...?
>>>
>>> --- In [email protected], "Conrad Joach" <consolejoker@> wrote:
>>> >
>>> > I'll ask this question in a totaly different way. Depending on a user's
>>> > settings, there is a certain amount of padding on the
>>> > right side of the chart when the chart is scrolled all the way to the
>>> > right.
>>> >
>>> > It could be none, but default is more than none. Mine is set to 15 bars.
>>> >
>>> > My script would like to know how many bars of padding are visible on the
>>> > chart. For instance if the default is 15, and the user
>>> > hasn't moved the scroll bar, then there are 15 bars of space that I would
>>> > like to plot some data in.
>>> >
>>> > But if the user has scrolled just a bit, there may be only 7 blank bars
>>> > left on the right, and I want to plot here just those 7
>>> > bars. If I plot more than 7, I am going to draw into the right hand price
>>> > axis, plus waste resources.
>>> >
>>> > It may be that when the user scrolls back in time, they see 0 bars. I
>>> > would like to know not to plot anything beyond the bars
>>> > that are visible.
>>> >
>>> > So how can one find this out?
>>> >
>>>
>>
>>
>>
>>
>> ------------------------------------
>>
>> **** 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
>>
>>
>>
>
>
>
> ------------------------------------
>
> **** 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
>
>
>