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

RE: [quotes-plus] FW: [amibroker] Re: QP2 Fundamental Data



PureBytes Links

Trading Reference Links

Hello Tomasz,

This is one of the reasons I kept on using the old DLL that was used before
they implemented COM. I can make my code scream with the DLL - it will
allow me to set the amount of data retrieved and what data to load.

I can send you a copy of the DLL files I am using, I believe C++ is your
flavor (about 4.5 Megs worth of headers, libraries, source and HTML
documentation). I'm not sure if this is what your looking for, but then
again, you are probably spending more time on this than you anticipated ;)

Peter Gialames

PS In your 'To-Do' section of the web site you have 'support for external
plug-in DLLs' - will this address these type of issues?

-----Original Message-----
From: Tomasz Janeczko [mailto:amibroker@x...]
Sent: Tuesday, July 31, 2001 11:06 AM
To: amibroker@xxxxxxxxxxxxxxx
Subject: Re: [quotes-plus] FW: [amibroker] Re: QP2 Fundamental Data


Dear Peter,

Thank you for the information this is really helpful.

When I ran AmiBroker from the debugger I have
seen lots of initializations of various DLLs including Access JET
engine, VBA runtime and so on.
Therefore there is no surprise that the process is slow.

As I probably can not count on that Quotes Plus will address
this issue I have to solve it by myself (again) ;-))))

Thank you once more for your help, Peter.

Best regards,
Tomasz Janeczko
amibroker.com


----- Original Message -----
From: "Peter Gialames" <investor@xxxx>
To: <amibroker@xxxxxxxxxxxxxxx>
Sent: 31 July, 2001 15:44
Subject: FW: [quotes-plus] FW: [amibroker] Re: QP2 Fundamental Data


Tomasz,

Here is the response I got from Quotes Plus.

Peter Gialames

-----Original Message-----
From: gary [mailto:gary@x...]
Sent: Tuesday, July 31, 2001 9:01 AM
To: 'quotes-plus@xxxxxxxxxxxxxxx'
Subject: RE: [quotes-plus] FW: [amibroker] Re: QP2 Fundamental Data


Hi -

When you create a new qp2 object, the process must initialize the qp dll
each time. This is a very slow process as it creates internal temporary
tables, and opens a variety of tables.

The only way to speed it up is to perform the create once, and use the same
object each time.

Gary

-----Original Message-----
From: Peter Gialames [mailto:investor@x...]
Sent: Monday, 30 July, 2001 3:38 AM
To: Quotes-Plus Mailing List
Subject: [quotes-plus] FW: [amibroker] Re: QP2 Fundamental Data


Gary or Janene,

Below is a thread over at the AmiBroker list that relates to Quotes Plus and
the speed that the QP data is accessed using JScript/VBScript.

Could you please comment on what can be done for faster access? Are we
doing something wrong?

Thanks in advance,
Peter Gialames

-----Original Message-----
From: Tomasz Janeczko [mailto:amibroker@x...]
Sent: Monday, July 30, 2001 3:10 AM
To: amibroker@xxxxxxxxxxxxxxx
Subject: Re: [amibroker] Re: QP2 Fundamental Data


Dear Peter,

What is slow is CreateObject/new ActiveXObject (initialization) call for QP2
objects.
I have never found another COM that is SO SLOW in initialization.
This is not AmiBroker's fault, because I have tried many different objects
including AmiBroker's own OLE objects from AFL (there are used by Dimitris
also everyday) and they
run very fast. I tried also FileSystemObject and a number of other COM
objects.
None of them were anyway near that slow.

You have not noticed that in your code since you call CreateObject only once
and a second does not make a difference for you. (But since scripting engine
is initialized
on stock-by stock basis I can not use this approach yet)

See the following code that performs CreateObject only and demonstrate the
slowness
(this time in VBScript):


EnableScript("vbscript");
<%
Set oCompanyInfo = CreateObject("QuotesPlus.CompanyInfo")
%>
buy=sell=cum(1) == lastvalue( cum(1) );

Now compare the performance with the following code that does EXACTLY the
same but creates Microsoft File system object:

EnableScript("vbscript");
<%
Set fso = CreateObject("Scripting.FileSystemObject")
%>
buy=sell= cum(1) == lastvalue( cum(1) );

The second code is hundred times faster. From the AFL/AmiBroker side there
is no
difference in handling both cases. The only difference is the object being
created.

Errors on your machine: will try to find the reason, but I haven't noticed
any
problem on my 2 machines that I use for testing.

Best regards,
Tomasz Janeczko
===============
AmiBroker - the comprehensive share manager.
http://www.amibroker.com


----- Original Message -----
From: "Peter Gialames" <investor@xxxx>
To: <amibroker@xxxxxxxxxxxxxxx>
Sent: Sunday, July 29, 2001 11:33 PM
Subject: RE: [amibroker] Re: QP2 Fundamental Data


> Hello Tomasz,
>
> I don't know why there is a performance penalty with AmiBroker. I know
that
> I can access this data in milliseconds through Excel VBA (and VB - I
bought
> 6.0). I can send you this code (Excel Spreadsheet) if you like.
>
> I am trying to see the performance problem you are talking about but I
> cannot get the script you posted to work, I keep getting errors (see
> attached & I sent you a bug report). The errors are in the following
lines:
>
> column0 = Float;
> column1 = EPS;
> column2 = ROE;
> column3 = Dividend;
>
> Like I said in a prior email, I work primarily with the DLL, but that is
not
> accessible in scripting languages. I am very familiar with the COM add-in
> though (I did testing between the two). One item that might cause the
> problem is the COM add-in loads 'all data available' for each symbol.
This
> is one of the reasons I stuck with the DLL - you can specify the amount of
> data to load (number of days to load).
>
> Gary Lyben (Quotes Plus Owner) said that he is going to add the ability to
> limit the amount of data loaded in the next update to the COM add-in ...
but
> there was no date specified.
>
> You can drop Gary an email if you wish (gary@xxxx), although he
> has not answered any of my private emails lately (not very typical of
their
> tech support). I will help as much as I can.
>
> Peter Gialames
>
> -----Original Message-----
> From: Tomasz Janeczko [mailto:amibroker@x...]
> Sent: Sunday, July 29, 2001 4:41 PM
> To: amibroker@xxxxxxxxxxxxxxx
> Subject: Re: [amibroker] Re: QP2 Fundamental Data
>
>
> Peter,
>
> I guess you talked a lot with QP2 people, do they have any hint
> about improving the speed of accessing fundamental data?
>
> The problem might be with that, that I create the instance
> of the QP2 object for every stock in the script, but it really
> should not have THIS performance penalty.
>
> Best regards,
> Tomasz Janeczko
> ===============
> AmiBroker - the comprehensive share manager.
> http://www.amibroker.com
>
>
> ----- Original Message -----
> From: "Tomasz Janeczko" <amibroker@xxxx>
> To: <amibroker@xxxxxxxxxxxxxxx>
> Sent: Sunday, July 29, 2001 10:24 PM
> Subject: Re: [amibroker] Re: QP2 Fundamental Data
>
>
> > Hello,
> >
> > Here comes a working example (exploration mode only) in AFL/ JScript:
> >
> > EnableScript("jscript");
> >
> > filter = cum( 1 ) == lastvalue( cum( 1 ) );
> > // this is to show only one entry per stock
> >
> > ticker = name();
> > numcolumns = 4;
> >
> > <%
> > CInfo = new ActiveXObject("QuotesPlus.CompanyInfo");
> > CInfo.Symbol = AFL("ticker");
> >
> > AFL("Float") = Number( CInfo.Float() );
> > AFL("EPS") = Number( CInfo.TTMEPS() );
> > AFL("ROE") = Number( CInfo.ROE() );
> > AFL("Dividend") = Number( CInfo.AnnualDividend() );
> > %>
> >
> > column0 = Float;
> > column0name = "Float";
> > column1 = EPS;
> > column1name = "TTM EPS";
> > column2 = ROE;
> > column2name = "ROE";
> > column3 = Dividend;
> > column3name = "Dividend";
> >
> > ------------
> > Note it seems that QP2 object is very slow in accessing company info
data.
> >
> > Best regards,
> > Tomasz Janeczko
> > ===============
> > AmiBroker - the comprehensive share manager.
> > http://www.amibroker.com
> >
> > ----- Original Message -----
> > From: "Peter Gialames" <investor@xxxx>
> > To: <amibroker@xxxxxxxxxxxxxxx>
> > Sent: Sunday, July 29, 2001 9:26 PM
> > Subject: [amibroker] Re: QP2 Fundamental Data
> >
> >
> > > Steve,
> > >
> > > I am not that good with VBScript (yet?) and most of my work is with
> > > the QP DLL (you can't use DLL's with VBScript ... I think), but you
> > > should can use the COM add-in supplied by Quotes Plus to get what you
> > > want(you use CreateObject("Projectname.Classname")).
> > >
> > > Once I find out how to 'hack' this I will let the list know ...
> > > although Tomasz might be able to help faster.
> > >
> > > Peter Gialames
> > >
> > > --- In amibroker@xxxx, Steve Wiser <slwiserr@xxxx> wrote:
> > > > Tomasz or anyone:
> > > >
> > > > How would I go about coding an indicator that used some fundamental
> > > data
> > > > from the QP2 database that is something other that C, O, H, L and
> > > V? I
> > > > would like to do some testing using EPS data and such inside
> > > > Amibroker. Using VB or Java scripting this seems like it should be
> > > > doable. And if so would be a great feature for Amibroker to brag
> > > about.
> > > >
> > > > Thanks
> > > >
> > > > Steve
> > >
> > >
> > >
> > >
> > >
> > > Your use of Yahoo! Groups is subject to
> http://docs.yahoo.com/info/terms/
> > >
> > >
> > >
> >
> >
> >
> >
> >
> > Your use of Yahoo! Groups is subject to
http://docs.yahoo.com/info/terms/
> >
> >
> >
>
>
>
>
>
> Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
>
>
>
>
>
>
> Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
>
>








Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/







Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/





Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/







Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/








Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/