Thanks, Prashanth, that did it. In AA-Settings I had periodicity set to 
"daily". It should be "1 minute".

Here is the summary of additions to Graham's original code from here:

http://www.amibroker.com/library/detail.php?id=327

1) The "fmkdir" line will create the output folder if it doesn't exist.

2) The "fopen" line is the "One time switch", which opens the file in overwrite 
mode once, before the rest of the formula is run in append mode. This way if 
you already have the old "csv" file on your hard drive it will be overwritten 
with the new data. Without this addition the new data will be appended to the 
old data.

if ( Status("stocknum") == 0 )
{
fmkdir( output_folder );
fopen( output_folder + "\\" + output_file, "w");
}

3) Trying to have the date format to show two-digit year instead of four-digit 
was a tough one. Here is the solution:

y = Year()%100;

4) File header was removed because in the csv file with the data for multiple 
tickers it was created for each new ticker in the middle of the file:

http://img184.imageshack.us/img184/940/12262006041035ps1.png

fh = fopen( output_folder + "\\" + output_file, "a");
// a=append is needed to get all tickers from watch list
if (fh)
{
/* fputs( "Ticker,Date,Time,Open,High,Low,Close,Volume,Trades\n", fh ); */
   t = Name();
   y = Year();   // to get two digit year use: y = Year()%100;
   etc.

I will start another thread about this issue.

Happy New Year,
Lester

----------------------
Here is the full code:

// Export RT data to C:\ZZ\RT.csv in the format: 
Tkr,mm/dd/yyyy,hh:mm:ss,O,H,L,C,V,I

// 1) AA - settings - periodicity: one min. Chart can be set to any peridicity. 
Date range won't work.
// 2) Execution: AA - ApplyTo (set "filters") - Date Range: anything (it 
doesn't work) - Scan
// 3) If the directory doesn't exist it WILL be created automatically
// 4) Hitting "verify" or "apply" buttons exports only the active symbol in the 
periodicity of the cahrt.
//    Use "scan" to export a watch list, in periodicity set in AA-Settings

output_folder = "C:\\ZZ";
output_file   = "RT.csv";

if ( Status("stocknum") == 0 )
{
fmkdir( output_folder ); // if the directory doesn't exists it will be 
automatically created
fopen( output_folder + "\\" + output_file, "w"); // if the file already exists 
all data will be w=overwritten
}

fh = fopen( output_folder + "\\" + output_file, "a"); // a=append is needed to 
get all tickers from watch list
if (fh)
{
// fputs( "Ticker,Date,Time,Open,High,Low,Close,Volume,Trades\n", fh );
   t = Name();
   y = Year();   // to get two digit year use: y = Year()%100;
   m = Month(); 
   d = Day(); 
   r = Hour();
   e = Minute();
   n = Second();
for( i = 0; i < BarCount; i++ ) // loop
  {
  fputs( t + ", " , fh );
  ds = StrFormat("%02.0f/%02.0f/%02.0f, ", m[i], d[i], y[i] ); // date string
  fputs( ds, fh );
  ts = StrFormat("%02.0f:%02.0f:%02.0f, ", r[i], e[i], n[i] ); // time string
  fputs( ts, fh );
  qs = StrFormat("%.4f, %.4f, %.4f, %.4f, %.0f, %.0f\n", O[i], H[i], L[i], 
C[i], V[i], OI[i] ); // quote string
  fputs( qs, fh );
  }
fclose( fh );
}
Buy = 0; // link to "scan" button

/************/


Reply via email to