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

Re: [amibroker] Re: barcount



PureBytes Links

Trading Reference Links

+1 , sid70

sidhartha70 a écrit :
>  
> 
> Jules,
> 
> Great charts. Almost identical to those produced by MarketDelta. I 
> assume you are familiar with the product...?
> Is this all your own work...? Written in C# or C++...?
> This is something quite a few users have wished to see added to AB 
> natively for quite some time.
> 
> TIA
> 
> --- In amibroker@xxxxxxxxxxxxxxx <mailto:amibroker%40yahoogroups.com>, 
> "jooleanlogic" <juliangoodsell@xxx> 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/ 
> <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 
> <mailto:amibroker%40yahoogroups.com>, "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 <mailto:amibroker%40yahoogroups.com>>
>  > > 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 
> <mailto:amibroker%40yahoogroups.com>, "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/ 
> <http://www.amibroker.com/kb/2008/07/03/quickafl/>
>  > > >>
>  > > >> And this:
>  > > >> http://www.amibroker.com/guide/afl/afl_view.php?barindex 
> <http://www.amibroker.com/guide/afl/afl_view.php?barindex>
>  > > >>
>  > > >> and this:
>  > > >> http://www.amibroker.com/f?setbarsrequired 
> <http://www.amibroker.com/f?setbarsrequired>
>  > > >>
>  > > >> and this:
>  > > >> http://www.amibroker.com/f?status 
> <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 <mailto:amibroker%40yahoogroups.com>>
>  > > >> 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 
> <mailto:amibroker%40yahoogroups.com>, "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 
> <mailto:amibroker%40yahoogroups.com>>
>  > > >> >> 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 
> <mailto:amibroker%40yahoogroups.com>, 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/ 
> <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/ 
> <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/ 
> <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:
    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/