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

[amibroker] Re: barcount



PureBytes Links

Trading Reference Links

Thanks Tomasz,

yes that's how I'm doing it now. The last bar issue was also to determine if the user was scrolled all the way to the right of the chart.
If in 5min interval chart, the datetime won't change on that last bar for 5mins so recent trade data wouldn't be included.
However I realised I can just change "Time stamp of compressed intraday bars" to "END time of interval" in the intraday preferences and that solves the problem.

Regards,
Julian.


--- In amibroker@xxxxxxxxxxxxxxx, "Tomasz Janeczko" <groups@xxx> wrote:
>
> Hello,
> 
> Nice charts you are doing. Congratulations.
> 
> However, I still that better option, instead of using "proportional" scaling
> by factor (VisibleBars/TotalBars ), you could use date/time based solution:
> get only trades which date/time is greater or equal than first visible bar
> and less or equal than last visible bar. That would be also more accurate
> than proportional scaling that may or may not give exactly the date/time
> range displayed on chart.
> 
> 
> Best regards,
> Tomasz Janeczko
> amibroker.com
> ----- Original Message ----- 
> From: "jooleanlogic" <juliangoodsell@xxx>
> To: <amibroker@xxxxxxxxxxxxxxx>
> Sent: Friday, August 28, 2009 1:37 PM
> Subject: [amibroker] Re: barcount
> 
> 
> > Thankyou Tomasz. "No" was all I was after and would have saved a lot of stress.
> >
> > I appreciate that you try to point out issues you foresee when a question is asked, but with many of my questions, as is the case 
> > with this one, you generally assume way too much about what I'm doing with the information.
> >
> > You made all these assumptions in your reply which are all incorrect in my situation.
> >> Instead I was just trying to help you better by pointing out conceptual mistake you are making.
> >> there is no point in accessing future data at all,
> >> future invisible bars should not really be relevant to your chart.
> >> That is the message I was trying to bring accross, yet you don't want to see.
> >> You don't need to worry about scrolling.
> >> All you need to do is to draw from first to last visible bar
> >
> > This is what I'm doing Tomasz.
> > http://members.iinet.net.au/~joolean/
> > The bottom image took about an hour of my time, but hopefully you can see now why I asked the question. I am not using the data in 
> > the way you are thinking. The pivot bars shown work exactly like normal bars and will scale and scroll like a normal chart. I 
> > handle all that myself.
> >
> > My apologies for the terse posts, but please don't make such strong assumptions about what users may or may not be asking 
> > questions for. All I wanted was a simple answer which you have now given me.
> >
> > Thankyou,
> > Jules.
> >
> >
> > --- In amibroker@xxxxxxxxxxxxxxx, "Tomasz Janeczko" <groups@> wrote:
> >>
> >> Yes I could have just said one plain : NO.
> >>
> >> Instead I was just trying to help you better by pointing out conceptual mistake you are making. However, no good deed goes
> >> unpunished.
> >>
> >> In my response I just pointed out you simple fact, that if chart is not scrolled to right-most position, there is no point
> >> in accessing future data at all, to draw a chart that is not supposed to look into the future.
> >> That's all. That's why insisting on "knowing" the value LastValue(BarIndex()) is IMHO mistake you are making.
> >>
> >> Instead you should be using { bi = BarIndex(); lastbarindexinchart = bi[ BarCount -1 ]; }
> >> because future invisible bars should not really be relevant to your chart.
> >>
> >> That is the message I was trying to bring accross, yet you don't want to see.
> >> You should be using Status() function that I pointed out to determine first and last visible bar and
> >> use it for drawing. That's all. You don't need to worry about scrolling. You don't perform scrolling, you don't
> >> perform scroll bar sizing, etc. It is *only* needed for scroll bar update, but you don't do that in your code.
> >> This is all handled by AB. All you need to do is to draw from first to last visible bar, without really caring how many bars 
> >> there
> >> are.
> >>
> >> Now, if you anyway insist on doing all things the other way round, not the way I suggested/recommended,
> >> you can of course do it your way using LastValue(BarIndex()), but then I offered you better way - it is your
> >> call to choose to use my advice or not. IMHO you have taken wrong implementation approach and I am trying to help you by pointing 
> >> it
> >> out.
> >> But of course you may not like it.
> >>
> >> And, no sorry, I don't have better answer for you, there is no one-to-one replacement for LastValue(BarIndex()) .
> >>
> >> Best regards,
> >> Tomasz Janeczko
> >> amibroker.com
> >> ----- Original Message ----- 
> >> From: "jooleanlogic" <juliangoodsell@>
> >> To: <amibroker@xxxxxxxxxxxxxxx>
> >> Sent: Thursday, August 27, 2009 11:10 PM
> >> Subject: [amibroker] Re: barcount
> >>
> >>
> >> > What's sad Tomasz is your inability to understand the question being asked and offer a normal response. You jump to ridicule so
> >> > quickly as to miss the point of the question.
> >> >
> >> > Your explanation of barcount is total semantics. So what if you say a chart is represented by the 100 bars available as opposed 
> >> > to
> >> > the other 200,000+ that we know are there? It's meaningless. It was implicitly clear in my question as to which value I was 
> >> > after.
> >> > "Is there a way to determine the total number of bars in a chart besides LastValue(BarIndex())? Using LastValue turns off 
> >> > quickAFL
> >> > for future bars and I don't want to do that."
> >> > There is no ambiguity in that question.
> >> >
> >> > In my dll, I have around a half million custom trade objects in an array. The full set is in memory but for performance reasons 
> >> > I
> >> > will only process and render what's necessary, say trades 240,000 to 260,000 if the user is scrolled to the middle of the 
> >> > chart,
> >> > but I still know there's 500k trades all up. I need to know this figure in order to scale and scroll the chart.
> >> > BarCount in my chart would be 20,000, yet the "total number of bars" I'm referring to is the figure of 500,000 and it doesn't 
> >> > cost
> >> > me any cpu cycles to get that value.
> >> >
> >> > Internally, do you know this value for your charts and is it exposed through afl anywhere?
> >> >
> >> > Jules.
> >> >
> >> > --- In amibroker@xxxxxxxxxxxxxxx, "Tomasz Janeczko" <groups@> wrote:
> >> >>
> >> >> Go on with teaching me about the program I wrote....
> >> >> This is hillarious.
> >> >>
> >> >> BarCount IS total number of bars in CHART. CHART is something that
> >> >> is drawn in given window with given zoom - and it usually some VISIBLE bars.
> >> >>  And for most formulas (*those not having future leak problem*)
> >> >> invisible bars in the FUTURE (from the right hand side of last visible bar) are irrelevant.
> >> >> Those bars which are used for given chart calcualtions are "bars in chart".
> >> >> Others are not.
> >> >>
> >> >> Read this
> >> >> http://www.amibroker.com/kb/2008/07/03/quickafl/
> >> >>
> >> >> And this:
> >> >> http://www.amibroker.com/guide/afl/afl_view.php?barindex
> >> >>
> >> >> and this:
> >> >> http://www.amibroker.com/f?setbarsrequired
> >> >>
> >> >> and this:
> >> >> http://www.amibroker.com/f?status
> >> >>
> >> >> It contains all info you need.
> >> >>
> >> >> Best regards,
> >> >> Tomasz Janeczko
> >> >> amibroker.com
> >> >> ----- Original Message ----- 
> >> >> From: "jooleanlogic" <juliangoodsell@>
> >> >> To: <amibroker@xxxxxxxxxxxxxxx>
> >> >> Sent: Thursday, August 27, 2009 8:04 PM
> >> >> Subject: [amibroker] Re: barcount
> >> >>
> >> >>
> >> >> >> But  BarCount *IS* total number of bars in a chart. And that was original question.
> >> >> >
> >> >> > BarCount under QuickAFL is not the TOTAL number of bars in the chart, otherwise the bar number in the tooltip wouldn't show
> >> >> > 500,000 when BarCount says there's only 180 bars.
> >> >> > LastValue(BarIndex()) is how many bars there are in the current chart, on whatever timeframe the user happens to be on.
> >> >> >
> >> >> >> BarIndex will not give you total number of "available bars in the data" because
> >> >> > you don't know that. Why? Because in a second or two new backfilled data may arrive and it will all change, or user will 
> >> >> > change
> >> >> > filtering or interval and the number of bars of "available data" will change.
> >> >> >
> >> >> > Where in my question did I ask to access off chart data? All I asked for was "TOTAL number of BARS in a CHART". I.e. the
> >> >> > current
> >> >> > chart, not some future one.
> >> >> >
> >> >> >> Why do you care at all about "total number of "available" bars" it is irrelevant, unless you really want to PROCESS THEM. 
> >> >> >> But
> >> >> >> then... you would need to ACCESS them. But then.... you will need to SetBarsRequired( sbrAll, sbrAll ) and then... BarCount
> >> >> >> will
> >> >> >> represent total number of bars of available data.
> >> >> >
> >> >> > How can you know it's irrelevant when you have no idea what I'm doing? I'm rendering market delta charts from T&S data using
> >> >> > gfx
> >> >> > functions. I need to know how many bars are on the current chart so I can map between the footprint bars and normal bars in
> >> >> > order
> >> >> > to perform scaling and scrolling amongst other issues.
> >> >> >
> >> >> > LastValue(BarIndex()) gets me the total number of bars in the current chart, but LastValue negates the advantages of 
> >> >> > QuickAFL.
> >> >> > This causes a performance hit the further to the left the user scrolls.
> >> >> > All I want to know is, can I get the total number of bars in the chart, as given by LastValue(BarIndex()), without using
> >> >> > LastValue? If not, so be it.
> >> >> >
> >> >> > Jules.
> >> >> >
> >> >> >
> >> >> > --- In amibroker@xxxxxxxxxxxxxxx, "Tomasz Janeczko" <groups@> wrote:
> >> >> >>
> >> >> >> But  BarCount *IS* total number of bars in a chart. And that was original question.
> >> >> >>
> >> >> >> BarIndex will not give you total number of "available bars in the data" because
> >> >> >> you don't know that. Why? Because in a second or two new backfilled data may arrive
> >> >> >> and it will all change, or user will change filtering or interval and the number of bars of "available data" will change.
> >> >> >>
> >> >> >> Why do you care at all about "total number of "available" bars" it is irrelevant, unless you really
> >> >> >> want to PROCESS THEM. But then... you would need to ACCESS them. But then.... you will need
> >> >> >> to SetBarsRequired( sbrAll, sbrAll ) and then... BarCount will represent total number of bars of available data.
> >> >> >>
> >> >> >> Best regards,
> >> >> >> Tomasz Janeczko
> >> >> >> amibroker.com
> >> >> >> ----- Original Message ----- 
> >> >> >> From: "jooleanlogic" <juliangoodsell@>
> >> >> >> To: <amibroker@xxxxxxxxxxxxxxx>
> >> >> >> Sent: Thursday, August 27, 2009 3:50 PM
> >> >> >> Subject: [amibroker] Re: barcount
> >> >> >>
> >> >> >>
> >> >> >> > Thanks Snoopy,
> >> >> >> >
> >> >> >> > Barcount doesn't give you the total number of bars in the data, just the total number of available bars.
> >> >> >> > I need to know how many total bars exist in the current symbol when running under QuickAFL.
> >> >> >> >
> >> >> >> > Turning off QuickAFL is about a 10x performance hit which is not acceptable for the sake of one number.
> >> >> >> >
> >> >> >> > Jules.
> >> >> >> >
> >> >> >> >
> >> >> >> > --- In amibroker@xxxxxxxxxxxxxxx, Snoopy <snoopy.pa30@> wrote:
> >> >> >> >>
> >> >> >> >> Here is the reference to the Barcount Constant.  Not sure if it will
> >> >> >> >> impact Quickafl.
> >> >> >> >>
> >> >> >> >> *BarCount* constant gives the number of bars in array (such as Close,
> >> >> >> >> High, Low, Open, Volume, etc). Array elements are numbered from 0 (zero)
> >> >> >> >> to BarCount-1.
> >> >> >> >>
> >> >> >> >
> >> >> >> >
> >> >> >> >
> >> >> >> >
> >> >> >> > ------------------------------------
> >> >> >> >
> >> >> >> > **** 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
> >> >
> >> >
> >> >
> >>
> >
> >
> >
> >
> > ------------------------------------
> >
> > **** 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/