Title: RE: [amibroker] Maintaining cursor position between time frames; Trivia for Reinsley
Trivia.
Remarkable coincidence: The day before yesterday I finished reading AL Brooks book for the 3rd time. It's an excellent book, not easy to read, but worth it. Although I don't necessarily agree with everything he says, there is enough there to trigger independent thinking. It certainly makes you look at charts in a more global overview way and rethink 2nd entries, legs, trend line breaks, dojis, one bar ranges, etc.
It is not a book for the feeble-minded: Content-heavy and tersely written. The 1st time reading was annoying since he uses terminology and concepts introduced later in the book, but the 2nd time around that is not a problem. His repetitiveness actually makes for re-enforced adaptation.
If you like this book, you probably would enjoy John Crane's book: Advanced Swing Trading (2003). It deals with symmetrical swings, forecasting 2nd legs, action/reaction lines, reversal dates. Again, no indicators used or candlesticks mentioned whatsoever.
-----Original Message-----
From: amibroker@xxxxxxxxxxxxxxx [mailto:amibroker@xxxxxxxxxxxxxxx] On Behalf Of reinsley
Sent: Wednesday, December 09, 2009 3:40 AM
To: amibroker@xxxxxxxxxxxxxxx
Subject: Re: [amibroker] Maintaining cursor position between time frames
Joris, with thanks for your explanation.
My aim is to plot the vertical cursor ( why not the cross cursor )
simultaneously into the main AB window and a floating window. These two
windows display two different futures tickers, both in 5 minutes.
The code, you sent, show me features I will adapt, Dennis Brown sent me
few month ago interesting code as well.
I want to finish a book (Al Brooks - Reading Price Charts Bar by Bar)
and I'll come back to this functionality .
Hoping that TJ will implement a built-in feature someday. It's a bit
late for a Xmas' present, maybe next year...
Best regards
Joris Schuller a écrit :
>
>
> Neil/Reinsley,
> I don't know whether this is what you are looking for or that you want
> something different. Let me know. I have some stuff with foreign symbols
> what might be closer to what you want.
> Below the afl from Brucer/Bisto. Apart from minor editing nothing was
> changed.
>
> The Zoomer.
> The Zoomer takes a little bit of getting used to, but the thing does work.
>
> Create a number of windows: For example, 5 Min,15 Min and 1 Hr timeframes
> (W1,W2,W3).
> There are several modes: Zoomer On/Off and Single and Multiple windows
> activated.
> Zoomer On/Off: Zoomer can be activated in the parameter window. Each window
> can be activated inividually. The Reset All button is somewhat misleading
> since it only turns off the Zoomer in the activated window and has to be
> repated for each window with Zoomer On.
> Zoomer Off: Clicking in one of the three windows results in a synchronized
> Selected Value Line (SVL) to appear in all 3 windows at the same time (of
> course when out of view, scrolling is required). Time ranges can be selected
> inidividually. Works fine.
> Zoomer On.
> One Window with Zoomer On. Zoomer On is selected in the parameter window for
> the activated window. All the zooming action takes place from the activated
> Zoomer window. After selection, the other 2 windows are adjusted such that
> they cover the same time range as the selected window (its time range stays
> unchanged). So in this example W1(5 Min) will have approximately 12X as
> many bars as W3(1 HR). Changes in the visible range when made from the
> Zoomer Window are all transferred to the other windows. So, the ranges of
> the unselected windows are synchronized with the selected window if the
> range is changed from the Selected Zoomer Window.
> However, ranges can be freely changed in the windows with Zoomer Off from
> their own time axis to look at other areas. Cursor synchronization can be
> done from each window, regardless of Zoomer condition. Occasionally
> Zooming doesn't work immediately: Click on the left or right arrows in the
> time axis or on the time axis (or the title bar) and it will respond.
> Multiple windows with Zoomer On. Initially I thought that multiple
> simultaneous Zoomer selection would provide more flexibilty. However,
> although on occasion there is the capability to toggle between the
> pre-synchronization time range and the synchronized time range there are
> also time axis issues, wrong and oscillating displays, so I stopped using
> it.
>
> //=================================Begin of Code
> (BruceR/Bisto)===================================
> /*
> Hi,
> here I am with a slightly different Version of the BruceR's function to
> avoid the undesired zooming when scrolling left at the left edge AND to let
> to show the blank bars on left edge in the main window:
> thanks BruceR
> Bisto
> */
> Title = EncodeColor(4)+ _DEFAULT_NAME()+"; "+EncodeColor(1) +
> StrFormat("{{NAME}} - {{INTERVAL}}; {{DATE}}; O=%g, H=%g, L=%g, C=%g
> (%.1f%%)
> {{VALUES}}", O, H, L, C, SelectedValue( ROC( C, 1 ) ) );
> /*
> sym="EUR.USD-IDEALPRO-CASH";
> fc = Foreign( sym, "C" );
> Plot(fc,"C",1,64);
> */
> Plot(C,"C",1,styleOwnScale|64);
>
> function ZoomSync( force )
> {
> // All variables are made local to prevent naming collisions or side effects
> //Originally guarantee
> 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
> LastBarIndex = Status( "LastVisibleBarIndex" );
> FirstBarIndex = Status( "FirstVisibleBarIndex" );
> Nblankbar = Status( "LastVisibleBarIndex" ) - BarCount;
> prevLastBarIndex = Nz( StaticVarGet( "_prevLastVisibleBarIndex" ) );
> prevFirstBarIndex = Nz( StaticVarGet( "_prevFirstVisibleBarIndex" ) );
> // Check for a new date/time range
>
> if ( ( LastBarIndex != prevLastBarIndex OR FirstBarIndex !=
> prevFirstBarIndex ) OR force )
> {
> // Set the new last values
> StaticVarSet( "_prevLastVisibleBarIndex", Status( "LastVisibleBarIndex" ) );
> StaticVarSet( "_prevFirstVisibleBarIndex", Status( "FirstVisibleBarIndex" )
> );
> DT = DateTime();
> BI = BarIndex();
> LastDateTime = LastValue( ValueWhen( LastBarIndex == BI, DT ) );
> FirstDateTime = LastValue( ValueWhen( FirstBarIndex == BI, DT ) );
> LastDateTimestr = DateTimeToStr( LastDateTime );
> FirstDateTimestr = DateTimeToStr( FirstDateTime );
> // 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( FirstDateTimestr, LastDateTimestr );
> }
> }
> res = True;
> }
> }
> return res;
> }
>
> UseZoomer = ParamToggle("Use Zoomer?", "No|Yes", 0);
> if (UseZoomer)
> ZoomSync( False );
> //================================End of
> Code================================
>
> -----Original Message-----
> From: amibroker@xxxxxxxxxxxxxxx <mailto:amibroker%40yahoogroups.com>
> [mailto:amibroker@xxxxxxxxxxxxxxx <mailto:amibroker%40yahoogroups.com>]
> On Behalf
> Of reinsley
> Sent: Sunday, December 06, 2009 8:43 AM
> To: amibroker@xxxxxxxxxxxxxxx <mailto:amibroker%40yahoogroups.com>
> Subject: Re: [amibroker] Maintaining cursor position between time frames
>
> Joris,
>
> +1
>
> In a variation on the same theme, I made many attempts between floating
> windows displaying two different futures. I was not successful, not yet...
>
> Could you please share your code ?
>
> Thank in advance.
>
> Best regards
>
> Joris Schuller a écrit :
> >
> >
> > _You want what we all want_: Expansion/contraction around the current
> > point of interest when switching time frames. No, there is no such
> > capability. The best way to not get lost when switching time frames is
> > clicking on your selected time, thus creating a vertical line and hunt
> > for that vertical line in the other time frame(s). Or make 3 windows,
> > set them to different time frames and use the afl’s dealing with
> > synchronized cursors, from Bruce R and modified by Bisto, who took out
> > most of the annoying zooming. If you are interested let me know and
> > will paste them in for you.
> >
> >
> >
> > *From:* amibroker@xxxxxxxxxxxxxxx
> <mailto:amibroker%40yahoogroups.com> [mailto:amibroker@xxxxxxxxxxxxxxx
> <mailto:amibroker%40yahoogroups.com>] *On
> > Behalf Of *Anthony
> > *Sent:* Wednesday, November 18, 2009 1:43 AM
> > *To:* amibroker@xxxxxxxxxxxxxxx <mailto:amibroker%40yahoogroups.com>
> > *Subject:* [amibroker] Maintaining cursor position between time frames
> >
> >
> >
> >
> >
> > Is there a way that one can maintain your current cursor position on the
> > screen so that the chart re-organises itself around the current position
> > on the screen when switching between time frames? I am specifically
> > referring to data which may be somewhere in the middle of a historic
> > chart and which requires you to go searching for the position every time
> > you switch time frame. This can be extremely tedious especially when
> > switching between say from an hourly chart to a 5m or 1m timeframe.
> >
> > Regards
> >
> > Tony
> >
> > No virus found in this incoming message.
> > Checked by AVG - www.avg.com
> > Version: 8.5.425 / Virus Database: 270.14.72/2511 - Release Date:
> > 11/18/09 07:50:00
> >
> >
>
> ------------------------------------
>
> **** IMPORTANT PLEASE READ ****
> This group is for the discussion between users only.
> This is *NOT* technical support channel.
>
> TO GET TECHNICAL SUPPORT send an e-mail directly to
> SUPPORT {at} amibroker.com
>
> TO SUBMIT SUGGESTIONS please use FEEDBACK CENTER at
> http://www.amibroker.com/feedback/ <http://www.amibroker.com/feedback/>
> (submissions sent via other channels won't be considered)
>
> For NEW RELEASE ANNOUNCEMENTS and other news always check DEVLOG:
> http://www.amibroker.com/devlog/ <http://www.amibroker.com/devlog/>
>
> Yahoo! Groups Links
>
>
------------------------------------
**** IMPORTANT PLEASE READ ****
This group is for the discussion between users only.
This is *NOT* technical support channel.
TO GET TECHNICAL SUPPORT send an e-mail directly to
SUPPORT {at} amibroker.com
TO SUBMIT SUGGESTIONS please use FEEDBACK CENTER at
http://www.amibroker.com/feedback/
(submissions sent via other channels won't be considered)
For NEW RELEASE ANNOUNCEMENTS and other news always check DEVLOG:
http://www.amibroker.com/devlog/
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:
amibroker-digest@xxxxxxxxxxxxxxx
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/
__._,_.___
**** IMPORTANT PLEASE READ ****
This group is for the discussion between users only.
This is *NOT* technical support channel.
TO GET TECHNICAL SUPPORT send an e-mail directly to
SUPPORT {at} amibroker.com
TO SUBMIT SUGGESTIONS please use FEEDBACK CENTER at
http://www.amibroker.com/feedback/
(submissions sent via other channels won't be considered)
For NEW RELEASE ANNOUNCEMENTS and other news always check DEVLOG:
http://www.amibroker.com/devlog/
__,_._,___
|