Thanks for all the feedback, guys. It's been very helpful!

--- In [email protected], "Barry Scarborough" <razzba...@...> wrote:
>
> This is a little simpler than the similar approach I mentioned a few posts 
> earlier. In my trading program I have an initialization function and I set 
> the lastValue of timeNum in the static var to the current bar on the first 
> pass through the code. That way NewBar will not be true on the first scan 
> through the code and that prevents it from being true mid bar, which it will 
> in the way Tomasz and I proposed. It will wait until the next bar after AB 
> starts. That may or may not matter to you. 
> 
> Barry
> 
>  --- In [email protected], "Tomasz Janeczko" <groups@> wrote:
> >
> > There is much easier and reliable method: 
> > 
> > dt = LastValue( DateTime() );
> > 
> > if( StaticVarGet( "lastdt" ) != dt )
> > {
> >   _TRACE("New bar");
> >   StaticVarSet("lastdt", dt );
> > }
> > 
> > (Note that it works only if Tools->Preferences->Intraday is set
> > to show START or END time of interval).
> > 
> > Best regards,
> > Tomasz Janeczko
> > amibroker.com
> > ----- Original Message ----- 
> > From: "Yofa" <jtoth100@>
> > To: <[email protected]>
> > Sent: Tuesday, March 17, 2009 1:03 PM
> > Subject: Re: [amibroker] Re: Testing for new bar using string manipulation 
> > and quotation time
> > 
> > 
> > > Hi,
> > > 
> > > barTime % 100 == 0 will not work reliably! If there is no new tick or no 
> > > CPU 
> > > time to do refresh it will skipp new bars a few times!
> > > This is a common problem. Look for similar posts here. You will fined 
> > > code 
> > > samples.
> > > 
> > > Y
> > > --------------------------------------------------
> > > From: "Mike" <sfclimbers@>
> > > Sent: Tuesday, March 17, 2009 4:04 AM
> > > To: <[email protected]>
> > > Subject: [amibroker] Re: Testing for new bar using string manipulation 
> > > and 
> > > quotation time
> > > 
> > >> If you have any concerns about rounding, you could use AlmostEqual 
> > >> instead 
> > >> of "==".
> > >>
> > >> http://www.amibroker.com/guide/afl/afl_view.php?id=301
> > >>
> > >> Mike
> > >>
> > >> --- In [email protected], "ozzyapeman" <zoopfree@> wrote:
> > >>>
> > >>> Thanks a bunch, Mike. Modulo's so much simpler!
> > >>>
> > >>>
> > >>> --- In [email protected], "Mike" <sfclimbers@> wrote:
> > >>> >
> > >>> > Again, assuming that your approach is sound, better still would be to 
> > >>> > use the modulo operator.
> > >>> >
> > >>> > barTime = 103731;
> > >>> >
> > >>> > if (barTime % 100 == 0)
> > >>> >   _TRACE( "New bar found" );
> > >>> >
> > >>> > Mike
> > >>> >
> > >>> > --- In [email protected], "Mike" <sfclimbers@> wrote:
> > >>> > >
> > >>> > > Without commenting on the validity of the approach (I am not a real 
> > >>> > > time trader), I can suggest that your problem is coming from a 
> > >>> > > formatting incompatibility.
> > >>> > >
> > >>> > > Add a format clause indicating zero decimal places and it will work 
> > >>> > > fine.
> > >>> > >
> > >>> > > Note too that your switching back to a number again is redundant 
> > >>> > > and 
> > >>> > > even error prone since "==" is not necessarily exact when dealing 
> > >>> > > with floats. Just use the string manipulation directly.
> > >>> > >
> > >>> > > barTime       = 103731;
> > >>> > > barTimeStr    = NumToStr( barTime, 6.0 );
> > >>> > >
> > >>> > > if ( StrRight( barTimeStr, 2 ) == "00" )
> > >>> > >     _TRACE ( "New bar found" );
> > >>> > >
> > >>> > > Mike
> > >>> > >
> > >>> > > --- In [email protected], "ozzyapeman" <zoopfree@> wrote:
> > >>> > > >
> > >>> > > > Hello, hoping someone can help out with this string conversion 
> > >>> > > > problem.
> > >>> > > >
> > >>> > > > In live trading, I am pulling quotation time using TimeNum(), and 
> > >>> > > > want
> > >>> > > > to test for the start of a new bar. So my thinking is to simply 
> > >>> > > > convert
> > >>> > > > the time to a number, extract the last two characters, convert 
> > >>> > > > back 
> > >>> > > > to a
> > >>> > > > number and see if it equals 0. If so, that means the last two 
> > >>> > > > digits in
> > >>> > > > the quotation time are "00" and hence we are at the start of a 
> > >>> > > > new 
> > >>> > > > bar.
> > >>> > > >
> > >>> > > > However, the sample code below is always thinking we have a new 
> > >>> > > > bar
> > >>> > > > whether the time is, for e.g.  :
> > >>> > > >
> > >>> > > > 10:37:31   or
> > >>> > > > 10:37:00
> > >>> > > >
> > >>> > > >   Obviously, only the second time should trip the 'new bar' 
> > >>> > > > print. 
> > >>> > > > But
> > >>> > > > instead, both do:
> > >>> > > >
> > >>> > > >
> > >>> > > > barTime       = 103731;  // we would normally use TimeNum() here, 
> > >>> > > > but
> > >>> > > > using a number for example
> > >>> > > >
> > >>> > > > barTimeStr    = NumToStr(barTime);
> > >>> > > >
> > >>> > > > NewBarSeconds = StrToNum ( StrRight(barTimeStr, 2) );
> > >>> > > >
> > >>> > > > printf("NewBarSeconds = " + NewBarSeconds);
> > >>> > > >
> > >>> > > > if (NewBarSeconds == 0)
> > >>> > > >
> > >>> > > > printf("    We have a new bar");
> > >>> > > >
> > >>> > >
> > >>> >
> > >>>
> > >>
> > >>
> > >>
> > >>
> > >> ------------------------------------
> > >>
> > >> **** 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
> > >>
> > >>
> > >>
> > >> 
> > > 
> > > 
> > > ------------------------------------
> > > 
> > > **** 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
> > > 
> > > 
> > >
> >
>


Reply via email to