OK. this is good many Tanks
----- Original Message -----
From: Robert Chevallier
To: [email protected]
Sent: Sunday, November 15, 2009 11:34 PM
Subject: Re: [amibroker] Link an ascii file of datas with Amibroker
For automation of importing external ascii file, I would rather use the code
below (with a proper .format file - use the import wizard to create and save
it) :
/* Create AmiBroker application object */
AmiBroker = new ActiveXObject( "Broker.Application" );
function Import( filename )
{
/* import the data using appropriate format definition file - in our case
(PRN files with Ticker) this is prnn.format file */
AmiBroker.Import( 0, filename, "prn.format" );
/* refresh ticker list and windows */
AmiBroker.RefreshAll();
}
See http://www.amibroker.com/newsletter/02-2001.html for details
Hope it helps
-R
2009/11/15 mark.a.brand <[email protected]>
as a test just split out the call to getvardate just to see that it is not
reversing the day and month. this is what i found when i read your file, but
that could be because of my locale settings.
eg.
qd = date.getVarDate();
WScript.Echo( "date: " + qd );
2009/11/16 Alain Baur <[email protected]>
Thank you for your quick response.
In fact, my question is only the begining of a procedure for import real
time quotes.
The ascii file is link in real time with my broker server of datas.
If I automatize the link every 5 seconds, (for example), i will have
realtime datas on my Amibroker.
If interested, you can search "stock monitor performance", an indian
programmer who has create a complete software
on Excel, for analyse, graph and portfolio management. His Soft may
realize the link with Amibroker, but unfortunately
it works only with the Indian market (and with internationals indices).
Still thank for your quick response and best regards.
N.B : I think that others Amibroker users are interesred by this problem,
(see recent yahoo.group messages)
----- Original Message -----
From: Robert Chevallier
To: [email protected]
Sent: Sunday, November 15, 2009 9:13 PM
Subject: Re: [amibroker] Link an ascii file of datas with Amibroker
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;