PureBytes Links
Trading Reference Links
|
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/
>
>
|