Title: Re: [amibroker] Re: barcount
heh... that is a piece of art!!
All in gfx?
herman
Friday, August 28, 2009, 7:37:58 AM, you wrote:
> 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@xxx> 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@xxx>
>> 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
> <*> 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/
__._,_.___
**** 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/
__,_._,___
|