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

[amibroker] Re: Zoom Link



PureBytes Links

Trading Reference Links

TJ,

Would you mind commenting... Is what I'm trying to do possible via
AFL... (i.e. an extension of Bruce's code)? Or are we going to have to
wait for your expertise to hard code it...?

TIA


--- In amibroker@xxxxxxxxxxxxxxx, "bruce1r" <brucer@xxx> wrote:
>
> 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@> 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/