Search Your Queries Here

Export intraday and EOD data to TXT files from Amibroker to TEXT




First Process

Export intraday and EOD data to TXT files
One file for each stock
In the first line insert the directory you want to save them to, make sure the
directory exists
Select your charts to export with the “Apply to” filter in AA window
Select the timeframe period you want to save as using the AA “Settings”
Press Scan button

AFL :


/*
Export intraday and EOD data to TXT files
*/
fh = fopen( "c:\\SaveData\\"+Name()+".txt", "w");
if( fh )
{
   fputs( "Ticker,Date,Time,Open,High,Low,Close,Volume \n", fh );
   y = Year();
   m = Month();
   d = Day();
   r = Hour();
   e = Minute();
   n = Second();
   index = BarCount - 420;
   if(index > 0)
   {
    for( i = index; i < BarCount; i++ )
    {
      fputs( Name() + "," , fh );
      ds = StrFormat("%02.0f-%02.0f-%02.0f,",
                     y[ i ], m[ i ], d[ i ] );
      fputs( ds, fh );
      
      ts = StrFormat("%02.0f:%02.0f:%02.0f,",
                     r[ i ],e[ i ],n[ i ] );
      fputs( ts, fh );
      qs = StrFormat("%.4f,%.4f,%.4f,%.4f,%.0f\n",
                     O[ i ],H[ i ],L[ i ],C[ i ],V[ i ] );
      fputs( qs, fh );
    }
   }
   else {
    for( i = 0; i < BarCount; i++ )
    {
      fputs( Name() + "," , fh );
      ds = StrFormat("%02.0f-%02.0f-%02.0f,",
                     y[ i ], m[ i ], d[ i ] );
      fputs( ds, fh );
      
      ts = StrFormat("%02.0f:%02.0f:%02.0f,",
                     r[ i ],e[ i ],n[ i ] );
      fputs( ts, fh );
      qs = StrFormat("%.4f,%.4f,%.4f,%.4f,%.0f\n",
                     O[ i ],H[ i ],L[ i ],C[ i ],V[ i ] );
      fputs( qs, fh );
    }
   }
   fclose( fh );
}
Buy = 0;


Second Process

fmkdir( "C:\\SaveData" );
Buy = ( (DateNum() >= 1121220) AND (DateNum() <= 1121231) ); // data exported from 20/12/2012 to 31/12/2012

//if we want to export data for a single Day, we modify the Second line like this
//Buy = ( (DateNum() == 1070129));

for( i = 0; i < BarCount; i++ )
if( Buy[i] )
{
//fh = fopen( "C:\\SaveData\\intraday.csv", "a");//if we want to export all data in a single file//
fh = fopen( "C:\\SaveData\\"+Name()+".csv", "a");// if we want to export data in an individual file//
if( fh )
{
y = Year();
m = Month();
d = Day();
r = Hour();
e = Minute();
s= Second();

for( i = 0; i < BarCount; i++ )
if( Buy[i] )

{
fputs( Name() + "," , fh );
ds = StrFormat("%02.0f/%02.0f/%02.0f%02,",
y[ i ], m[ i ], d[ i ] );
fputs( ds, fh );

ts = StrFormat("%02.0f:%02.0f,%02.0f",
r[ i ],e[ i ]),s[i];
fputs( ts, fh );

qs = StrFormat("%.2f,%.2f,%.2f,%.2f,%.0f,%.2f\n",
O[ i ],H[ i ],L[ i ],C[ i ],V[ i ] ),OI[i];
fputs( qs, fh );
}
fclose( fh );
}
}

/*Export Data from Amibroker to ASCII files

Here there is a formula available to export data from Amibroker to ASCII files. With the formula we can export data for a specified period from Amibroker database.

How to export:

Scan with the formula in Automatic Analyser (AA) in Amibroker.
The formula will create a folder in C drive named 'Savedata' and will collecte the data in separate text files for each symbol.

Periodicity:

WE can export the data for different periodicity 1min, 5min, 10min or daily etc. as we required. To configure that go to AA > settings > General > Periodicity and set periodicity. Thus we can get data for 5min, 10min, 1 Hour, daily etc.

Select Date Range:

To set the date range, we have to edit the formula.
Open AA > pick (the formula file) > edit.
In the second line we can see:

Buy = ( (DateNum() >= 1061225) AND (DateNum() <= 1070110) );

First DateNum is the start date and second DateNum is end date.
The current settings will export data from 20061225(=10612205, so 2006 =106) to 20070110.
Just like that, we can select another date range. Instead of 2006, should give 106 and for 2007, give 107 etc. Month and date are same. Save the formula and scan it.
It will export and save the data in C:\Savedata folder.
If you want to export for an another date range, that will also be added to the corresponding files just after the current data.*/ 

0 comments: