PureBytes Links
Trading Reference Links
|
Yes, I update at night. I export two data files out of TC2000
into .csv files and then run two scripts from within Ami to get the
data into it. The exports from TC2000 take about 2 minutes and the
imports even less than that. Saving the database though takes around
5 minutes. My current difficulty is assigning new tickers from
TC2000 to the correct Markets and industries. I've asked Tomasz if
he can help me with a script to move the tickers out of Group 255
into a .csv file. If I can get that, I can go through several other
steps to get them assigned correctly...I hope to get it all automated
soon!
Brett
--- In amibroker@xxxx, acs64@xxxx wrote:
> Hey Brett,
>
> Yeah, it does help. When I get home I'll try it out. There's a
lot
> of ins and outs to the program, but thanks to help from people like
> you, others and Tomasz, it's a lot easier than it could be. Have
you
> updated quotes into the database? It must take awhile to do that
> every night, or are you doing it on weekends? Thanks for the help.
>
> Larry
>
> --- In amibroker@xxxx, brett_f1@xxxx wrote:
> > Hi Larry,
> >
> > I'm new to AmiBroker as well. I guess I've just been pounding on
> my
> > head a bit harder. Come to think of it now, I do have a bit of a
> > headache today <g>.
> >
> > The .js file can be run from within AmiBroker or not. It really
> does
> > not matter (if I recall correctly). To run it in Amibroker, save
> the
> > file in the scripts folder of Ami. Then go to tools, customize.
> > Click New. Give it a name. On the command line, browse to the
> > script file you saved and highlight it. Close out. The next
time
> > you go Tools menu there will be a new item listed with the name
you
> > assigned to the script file!
> >
> > The two broker files (sector and industries) that you create must
> > first exist in the new workspace before you create the database.
> > There is a way around this by deleting a file but I do not recall
> the
> > name right now...
> >
> > If the database is created this way, the assignments you made in
> > sectors and industries will govern the setup up the database and
> the
> > subsequent population of the tickers and data.
> >
> > Does this help?
> >
> > Brett
> >
> > --- In amibroker@xxxx, acs64@xxxx wrote:
> > > Hi Brett,
> > >
> > > I'm afraid I dont know enough about about this now to be able
to
> do
> > > the import....You said the code that you supplied should be cut
> and
> > > paste into a .js file. How is this file started from within
> > > Amibroker? Also, the broker.sector and broker.market
files....do
> > the
> > > categories from within them need to match the setup in the
> database
> > > file exactly? I assume they do, but not sure. I have setup a
> new
> > > blank workspace. It appears the data I downloaded is the same
as
> > the
> > > file that you uploaded to the files area of this group. I can
> > > understand why one wouldnt need the industry and sector since
> they
> > > are similar to each other.
> > >
> > > I'm new to Amibroker, so I probably need to have the most basic
> of
> > > steps explained along the way, otherwise I'll miss something.
> > Thanks
> > > for the help.....
> > >
> > > Larry
> > >
> > > --- In amibroker@xxxx, brett_f1@xxxx wrote:
> > > > I can relate to that! I ported over my entire TC2000
database
> > over
> > > > several times before i got it right.
> > > >
> > > > I suggest you first be sure that you have your broker.sectors
> and
> > > > broker.industries files set up correctly and working in a
fresh
> > > > workspace (database). Then set up your Markets by setting up
> the
> > > > market names in Stock, Categories.
> > > >
> > > > Then cut and paste the following text into a file and give it
a
> > > name
> > > > with a .js extension - perhaps ImportTickers&Industries.js
> > > >
> > > > /*
> > > > ** AmiBroker/Win32 scripting Example
> > > > **
> > > > ** File: Industries.js
> > > > ** Created: Tomasz Janeczko, November 26th, 2000
> > > > ** Last updated: Tomasz Janeczko, December 17th, 2000
> > > > ** Purpose: Import industy assignments
> > > > ** Language: JavaScript (Windows Scripting Host)
> > > > **
> > > > ** The data is stored in lines with following format
> > > > ** <ticker>,<full name>,<industry number>
> > > > **
> > > > ** Modified 5/6/2001 by Brett Forrester
> > > > */
> > > >
> > > > /* script for importing TC2000 ticker, market, full name, and
> > > > industry assignment number */
> > > >
> > > > WScript.Echo( "Script Started" );
> > > >
> > > > /* change this line according to your data file name */
> > > > ImportStocks("tick_mkt_name_ind.csv");
> > > >
> > > > WScript.Echo( "Finished" );
> > > >
> > > > function ImportStocks( filename )
> > > > {
> > > > var fso, f, r;
> > > > var ForReading = 1;
> > > > var AmiBroker;
> > > > var fields;
> > > > var stock;
> > > >
> > > >
> > > > /* Create AmiBroker app object */
> > > > AmiBroker = new ActiveXObject( "Broker.Application" );
> > > >
> > > > /* ... and file system object */
> > > > fso = new ActiveXObject
( "Scripting.FileSystemObject" );
> > > >
> > > > /* open ASCII file */
> > > > f = fso.OpenTextFile( filename, ForReading);
> > > >
> > > > i = 1;
> > > > /* read the file line by line */
> > > > while ( !f.AtEndOfStream )
> > > > {
> > > > r = f.ReadLine();
> > > >
> > > > /* split the lines using comma as a separator
*/
> > > > fields = r.split(",");
> > > >
> > > > try
> > > > {
> > > >
> > > > /* add a ticker - this is safe
operation, in
> > > > case that */
> > > > /* ticker already exists, AmiBroker
returns
> > > > existing one */
> > > > stock = AmiBroker.Stocks.Add( fields[
0 ] );
> > > >
> > > > /* add following line - blf */
> > > > stock.MarketID = parseInt( fields[
1 ] );
> > > >
> > > > stock.FullName = fields[ 2 ];
> > > >
> > > > stock.IndustryID = parseInt( fields[
3 ] );
> > > > }
> > > > catch( e )
> > > > {
> > > > WScript.echo( "There is a
problem in
> > > > line no." + i + ".\nThe line looks as follows:\n'" + r
+ "'\nIt
> > > will
> > > > be skipped and next lines will be processed as normal" );
> > > > }
> > > >
> > > > i++;
> > > > }
> > > >
> > > > /* refresh ticker list and windows */
> > > > AmiBroker.RefreshAll();
> > > >
> > > > }
> > > >
> > > > ================End Cut and Paste==============
> > > >
> > > > This script will look for Ticker, MarketID (0 to n), Stock
> Name,
> > > and
> > > > Industry ID (0 to n). You do not need the sector ID because
it
> > is
> > > > implied from the industry assignment.
> > > >
> > > > When you're comfortable with this turnout, SAVE your
database.
> > Now
> > > > you have the structure set up and your ready to import data.
> > > >
> > > > This worked for me. I'm sure Tomasz will chime in if I'm
right
> > or
> > > > wrong. I found it best to start with a clean empth database
> > > without
> > > > any sample data existing what so ever.
> > > >
> > > > Brett
> > > >
> > > > --- In amibroker@xxxx, acs64@xxxx wrote:
> > > > > Hello all,
> > > > >
> > > > > I have created a large .csv file with ticker symbols,
market,
> > > > > industry and sector. I would like to be able to load the
> whole
> > > > list
> > > > > with all data in one shot into Ami but am not sure how to
do
> > it.
> > > I
> > > > > have tried using the import wizards but the fields do not
> seem
> > to
> > > > > fit. Is there some coding required to make it work? Any
> help
> > > > would
> > > > > be greatly appreciated. Thanks
> > > > >
> > > > > Larry
|