PureBytes Links
Trading Reference Links
|
I've used it in several multi-window setups. Two things come to mind.
First, make sure that it is in only one pane per document window.
Second, I"m using it end of day - since it uses start and end date
time stamps, streaming data may need to be accounted for.
--- In amibroker@xxxxxxxxxxxxxxx, "sidhartha70" <sidhartha70@xxx> wrote:
>
> Thanks Bruce.
>
> Unfortuantely it doesn't seem to work for me... I end up with some
> very strange behaviour. Windows zooming in and out at will,
> independently...
>
> Maybe it's screen setup dependent...??
>
>
>
> --- In amibroker@xxxxxxxxxxxxxxx, "bruce1r" <brucer@> wrote:
> >
> > Had done it before, so until Tomasz gets to it -
> >
> >
>
//--------------------------------------------------------------------------------------------------
> > //
> > // This function checks the current display range, and if it has
> > changed, it
> > // synchronizes all other windows (documents) to that range.
> > //
> > // To use, #include this file in an indicator in each window
> > (document) to be
> > // synchronized. Normally it sync's other windows (documents) when
> > the caller's
> > // displayed date range changes, but it has an optional parameter to
> > force a re-sync.
> > //
> > // NOTE - the only downside is that the blank bars on the right
> side are
> > // removed by the ZoomToRange method
> > //
> > // Bruce R - 12/10/08
> > //
> >
>
//--------------------------------------------------------------------------------------------------
> >
> > function ZoomSync( force )
> > {
> > // All variables are made local to guarantee naming collisions or
> > side effects
> > local bv, dr, Curstdt, Curenddt, prevstdt, prevenddt, Curststr,
> > Curendstr;
> > local OAB, OAD, dcount, i, OADoc, OAW, OADocWin, res;
> >
> > // Get a count of the number of documents
> > OAB = CreateObject( "Broker.Application" );
> > OAD = OAB.Documents;
> > dcount = OAD.Count;
> >
> > // Process multiple windows (documents)
> > res = False;
> > if ( dcount > 1 )
> > {
> > // Get current and last start and end DateTimes's
> > bv = Status( "barvisible" );
> > dt = DateTime( );
> > Curstdt = LastValue( Lowest( IIf( bv, dt, LastValue( dt ) ) ) );
> > Curenddt = LastValue( Highest( IIf( bv, dt, 0 ) ) );
> > prevstdt = Nz( StaticVarGet( "_prevstdt" ) );
> > prevenddt = Nz( StaticVarGet( "_prevenddt" ) );
> >
> > // Check for a new date/time range
> > if ( ( Curstdt != prevstdt OR Curenddt != prevenddt ) OR force )
> > {
> > // Set the new last values
> > StaticVarSet( "_prevstdt", Curstdt );
> > StaticVarSet( "_prevenddt", Curenddt );
> >
> > Curststr = DateTimeToStr( Curstdt );
> > Curendstr = DateTimeToStr( Curenddt );
> >
> > // Loop through the document collection
> > for ( i = 0; i < dcount; i++ )
> > {
> > // If it is not the active document -
> > OADoc = OAD.Item( i );
> >
> > // NOTE - it doesn't hurt to sync the current window and it
> makes all
> > // windows have no blank bars on the right so they look
> > the same
> > //if ( OADoc != OAB.ActiveDocument )
> > {
> > // Get the document window and zoom to range
> > //_TRACE( " Zoom to range document - " + i + " , " + Curststr +
> > " - " + Curendstr );
> > OADW = OADoc.Windows;
> > // Document window count assumed to be 1
> > OADocWin = OADW.Item( 0 );
> > OADocWin.ZoomToRange( Curststr, Curendstr );
> > }
> > }
> > res = True;
> > }
> > }
> > return res;
> > }
> >
> > // Call for synchronization
> > ZoomSync( False );
> >
> >
> >
> > --- In amibroker@xxxxxxxxxxxxxxx, "sidhartha70" <sidhartha70@> wrote:
> > >
> > > TJ,
> > >
> > > Would 'zoom link' functionality be difficult to implement...?
> > >
> >
>
------------------------------------
**** IMPORTANT ****
This group is for the discussion between users only.
This is *NOT* technical support channel.
*********************
TO GET TECHNICAL 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
*********************************
Yahoo! Groups Links
<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/amibroker/
<*> Your email settings:
Individual Email | Traditional
<*> To change settings online go to:
http://groups.yahoo.com/group/amibroker/join
(Yahoo! ID required)
<*> To change settings via email:
mailto:amibroker-digest@xxxxxxxxxxxxxxx
mailto:amibroker-fullfeatured@xxxxxxxxxxxxxxx
<*> To unsubscribe from this group, send an email to:
amibroker-unsubscribe@xxxxxxxxxxxxxxx
<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
|