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

[amibroker] Re: Zoom Link



PureBytes Links

Trading Reference Links

That may have to wait for Tomasz.  To do that you would have to
"register" and identify specify window documents.  Right now, I can't
see a way for a document window to identify its number in the document
collection and "register" that for refresh.


--- In amibroker@xxxxxxxxxxxxxxx, "sidhartha70" <sidhartha70@xxx> wrote:
>
> Specifically Bruce, I have say 10 Charts open across two monitors, and
> I actually want to 'zoom link' just 4 of them, leaving all the others
> completely unaffected.
> 
> Is that possible...?
> 
> --- In amibroker@xxxxxxxxxxxxxxx, "sidhartha70" <sidhartha70@> 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/