Not replying to your problem, but why not just using File / Import Ascii or File / Import Wizard for importing quotes data into AB? It should be faster than using COM automation and it works perfectly.
2009/11/15 Alain Baur <[email protected]> > > > Hi all, > > I am trying to link an file of ascii datas with Amibroker. > > I have downloaded, in Amibroker'sguide, a jscript procedure which is > capable to realize this, bur it does'not work with me. > > *Here is the source of this Jscript* : > > /* > ** AmiBroker/Win32 scripting Example > ** > ** File: Import.js > ** Created: Tomasz Janeczko, January 30th, 2000 > ** Purpose: Import quotes from Metastock ASCII file > ** Language: JScript (Windows Scripting Host) > ** > ** The data is stored in lines with following format > ** <ticker>,<per>,<date>,<high>,<low>,<close>,<volume> > ** > */ > ImportMsASCII( "C:\\ACCOR.Txt" ); > > function ImportMsASCII( filename ) > { > var fso, f, r; > var ForReading = 1; > var AmiBroker; > var date; > var quote; > 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); > > /* skip first line which contains format definition */ > f.SkipLine(); > > /* read the file line by line */ > while ( !f.AtEndOfStream ) > { > r = f.ReadLine(); > > /* split the lines using semicolon as a separator */ > fields = r.split(";"); > > /* add a ticker - this is safe operation, in case that */ > /* ticker already exists, AmiBroker returns existing one */ > stock = AmiBroker.Stocks.Add( fields[ 0 ] ); > > /* notify the user */ > WScript.Echo( "Importing " + fields[ 0 ] ); > /* parse the date from the text file */ > date = new Date( fields[ 1 ] ); > > /* add a new quotation */ > quote = stock.Quotations.Add( date.getvarDate() ); > /* put data into it */ > quote.Open = parseFloat( fields[2]); > quote.High = parseFloat( fields[ 3 ] ); > quote.Low = parseFloat( fields[ 4 ] ); > quote.Close = parseFloat( fields[ 5 ] ); > quote.Volume = parseInt( fields[ 6 ] ); > > } > /* refresh ticker list and windows */ > AmiBroker.RefreshAll(); > /* notify the user */ > WScript.Echo( "Finished" ); > } > * and here is an example of datas file :* > > <Ticker>,<date_DMY>,<Open>,<High>,<Low>,<Close>,<Volume> > ACCOR;09/10/2009; 37.42; 38.12; 36.87; 37.10; 735891 > ACCOR;12/10/2009; 37.25; 37.84; 37.13; 37.68; 673107 > ACCOR;13/10/2009; 37.36; 38.02; 37.21; 37.34; 726353 > ACCOR;14/10/2009; 37.71; 38.29; 37.59; 37.81; 850644 > ACCOR;15/10/2009; 37.85; 38.10; 36.30; 36.50; 1445724 > ACCOR;16/10/2009; 36.50; 36.88; 35.90; 36.08; 1541279 > ACCOR;19/10/2009; 36.12; 36.65; 35.90; 36.28; 1036342 > ACCOR;20/10/2009; 36.49; 36.63; 36.05; 36.20; 799961 > ACCOR;21/10/2009; 36.31; 36.40; 35.57; 35.74; 889888 > ACCOR;22/10/2009; 35.47; 35.47; 34.70; 35.02; 804990 > ACCOR;23/10/2009; 35.50; 35.78; 34.26; 34.31; 1473307 > ACCOR;26/10/2009; 34.49; 34.85; 33.75; 33.87; 1293311 > > I always have an error message : "*cet objet ne gère pas cette propriété*" > > at the lnstruction "quote = stock.Quotations.Add( date.getvarDate() )" (In > red in the source code) > > Can anyone help me ? > > Best regards; > > >
