[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [amibroker] GFX problem: lining up price plots with pixel plots



PureBytes Links

Trading Reference Links

Herman,

Perhaps if you make 4 params, 2 for x axis, and 2 for y axis for -- scaling m + offset b: mx+b.
Then adjust the parameters visually in real time until they align.  Then look at the values and see if it dawns what the issue is.

Best regards,
Dennis

On Mar 1, 2008, at 5:37 PM, Herman wrote:

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;
PlotC"", 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 = SelectedValueLow );
Plot( Lowprice, "", 2, 1 );
LowPixels = GetPixelY( Lowprice );
gfxPlotHLine( LowPixels, colorRed );

// plot vertical line on selected bar in GFX
CumBar = CumStatus"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




Your email settings: Individual Email|Traditional
Change settings via the Web (Yahoo! ID required)
Change settings via email: Switch delivery to Daily Digest | Switch to Fully Featured
Visit Your Group | Yahoo! Groups Terms of Use | Unsubscribe

__,_._,___