I just can't manage to line up pixel plots with price charts. I copy my testing code below. I need is to line up horizontal and vertical lines produced with normal charting techniques, with lines produced using GFX functions. Any help would be much appreciated!!!
Herman
function GetPixelY( value )
{
global MinY, MaxY;
return Status( "pxheight" ) * ( value - MinY ) / ( MaxY - MinY );
}
function GetPixelX( value )
{
global MinX, MaxX;
return Status( "pxwidth" ) * ( value - MinX ) / ( MaxX - MinX );
}
function gfxPlotHLine( YPixels, Color )
{
global pxwidth;
GfxSelectPen( Color ) ;
GfxMoveTo( 0, YPixels );
GfxLineTo( pxwidth, YPixels );
}
function gfxPlotVLine( VPixels, Color )
{
global pxheight;
GfxSelectPen( Color ) ;
GfxMoveTo( 0, VPixels );
GfxLineTo( pxHeight, VPixels );
}
GraphXSpace = 0;
Plot( C, "", 1, 128 );
GfxSetOverlayMode( 1 );
GfxSetBkMode( 1 );
pxwidth = Status( "pxwidth" );
pxheight = Status( "pxheight" );
Miny = Status( "axisminy" );
Maxy = Status( "axismaxy" );
// Plot selected Low in price and in pixels
Lowprice = SelectedValue( Low );
Plot( Lowprice, "", 2, 1 );
LowPixels = GetPixelY( Lowprice );
gfxPlotHLine( LowPixels, colorRed );
// plot vertical line on selected bar in GFX
CumBar = Cum( Status( "barVisible" ) );
NumBarsVisible = LastValue( CumBar );
PixelsPerbar = pxWidth / SelectedValue( NumBarsVisible );
BarPixels = SelectedValue( NumBarsVisible ) * PixelsPerbar;
gfxPlotVLine( BarPixels, colorBrightGreen );
Title = "\n" +
" LowPixels: " + NumToStr( LowPixels, 1.0, False ) + "\n" +
"Pixels/Bar: " + NumToStr( PixelsPerbar, 1.0, False ) + "\n" +
" BarPixels: " + NumToStr( BarPixels, 1.0, False );
__._,_.___
Please note that this group is for discussion between users only.
To get support from AmiBroker please send an e-mail directly to
SUPPORT {at} amibroker.com
For NEW RELEASE ANNOUNCEMENTS and other news always check DEVLOG:
http://www.amibroker.com/devlog/
For other support material please check also:
http://www.amibroker.com/support.html
__,_._,___
|