PureBytes Links
Trading Reference Links
|
Thanks Tomasz! Will try that out.
--- In amibroker@xxxxxxxxxxxxxxx, "Tomasz Janeczko" <groups@xxx> 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@xxx>
> To: <amibroker@xxxxxxxxxxxxxxx>
> 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@xxx>
> > Sent: Tuesday, March 17, 2009 4:04 AM
> > To: <amibroker@xxxxxxxxxxxxxxx>
> > 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 amibroker@xxxxxxxxxxxxxxx, "ozzyapeman" <zoopfree@> wrote:
> >>>
> >>> Thanks a bunch, Mike. Modulo's so much simpler!
> >>>
> >>>
> >>> --- In amibroker@xxxxxxxxxxxxxxx, "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 amibroker@xxxxxxxxxxxxxxx, "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 amibroker@xxxxxxxxxxxxxxx, "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
> >
> >
> >
>
------------------------------------
**** 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:
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/
|