Jumat, 01 Juni 2012

script Export ke csv

berikut ini saya postingkan script untuk download data OHLC ke csv :
// created a directory on your C drive named AmiBroker data backup
Filter=1;
dayhours = ParamToggle("Day hours only", "No|Yes");
AddColumn( BarCount, "bar", 1.0 );

fmkdir("c:\\AmiBackup\\");
SetBarsRequired(100000,100000);
lname = Name(); // gets the name of the symbol

if (lname == "ER2U8-GLOBEX-FUT") lname = "ER2U8";

fh = fopen( "c:\\AmiBackup\\" + lname + ".csv", "w");
if( fh )
{
    if(Interval() == inDaily OR Interval() == inMonthly OR Interval() ==
inWeekly)
    {
        fputs( "Ticker,Date,Open,High,Low,Close,Volume \n", fh );
           for( i = 0; i < BarCount; i++ )
        {
               y = Year();
               m = Month();
               d = Day();
            fputs( Name() + "," , fh );
                  ds = StrFormat("%02.0f-%02.0f-%02.0f,", m[ i ], d[ i ], y[ i ] );
                  fputs( ds, fh );
              qs = StrFormat("%.4f,%.4f,%.4f,%.4f,%.0f\n", O[ i ],H[ i ],L[ i ],C[ i
],V[ i ] );
              fputs( qs, fh );
            if(i == 65500 OR i == 130000 OR i == 196500 OR i == 262000)
            {
                fclose( fh );
                if(i == 65500  ) fh = fopen( "c:\\AmiBackup\\" + lname + " A.csv", "w");
                if(i == 130000 ) fh = fopen( "c:\\AmiBackup\\" + lname + " B.csv", "w");
                if(i == 196500 ) fh = fopen( "c:\\AmiBackup\\" + lname + " C.csv", "w");
                if(i == 262000 ) fh = fopen( "c:\\AmiBackup\\" + lname + " D.csv", "w");
            }
        }
    }
    else // intraday so add time field
    {
        fputs( "Ticker,Date,Time,Open,High,Low,Close,Volume \n", fh );
           y = Year();
           m = Month();
           d = Day();
           r = Hour();
           e = Minute();
           n = Second();
  
           for( i = 1; i < BarCount; i++ )
        {
            if (dayhours AND LastValue(TimeNum()) >= 92900 AND LastValue(TimeNum()) <=
161500)
            {
                fputs( Name() + "," , fh );
                  ds = StrFormat("%02.0f-%02.0f-%02.0f,", m[ i ], d[ i ], y[ 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
            {
                fputs( Name() + "," , fh );
                  ds = StrFormat("%02.0f-%02.0f-%02.0f,", m[ i ], d[ i ], y[ 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 );
            }
            if(i == 65500 OR i == 130000 OR i == 196500 OR i == 262000)
            {
                fclose( fh );
                if(i == 65500  ) fh = fopen( "c:\\AmiBackup\\" + lname + " A.csv", "w");
                if(i == 130000 ) fh = fopen( "c:\\AmiBackup\\" + lname + " B.csv", "w");
                if(i == 196500 ) fh = fopen( "c:\\AmiBackup\\" + lname + " C.csv", "w");
                if(i == 262000 ) fh = fopen( "c:\\AmiBackup\\" + lname + " D.csv", "w");
            }
           }
    }
       fclose( fh );
}

Buy = 1;

mudah2an dapat bermanfaat bagi rekan-rekan sekalian.

0 komentar:

Posting Komentar