Stock Portfolio Organizer

The ultimate porfolio management solution.

Shares, Margin, CFD's, Futures and Forex
EOD and Realtime
Dividends and Trust Distributions
And Much More ....
For Portfolio Manager Click Here

WiseTrader Toolbox

#1 Selling Amibroker Plugin featuring:

Advanced Adaptive Indicators
Advanced Pattern Exploration
Neural Networks
And Much More ....
Find Out More Here

Amibroker to Metastock Export for Amibroker (AFL)

Rating:
5 / 5 (Votes 1)
Tags:
amibroker

This AFL helps to export Amibroker data to Metastock format.
Please use asc2ms utility or Metastock converter to import csv files to MS.

Similar Indicators / Formulas

Kavach Of Karna v2
Submitted by hbkwarez over 10 years ago
Advanced Elliott Waves
Submitted by MarcosEn almost 13 years ago
3_6Day GuaiLiLv
Submitted by motorfly almost 13 years ago
Williams Alligator System
Submitted by durgesh1712 about 13 years ago
*Level Breakout system*
Submitted by Tinych about 13 years ago
Horizontal Live Priceline Tool
Submitted by northstar about 13 years ago

Indicator / Formula

Copy & Paste Friendly
// Originally By Barry Scarborough 7/14/2008, updated to handle large files 8/30/08
// Modified by 8/1/2012 Maheshwar Kanitkar & Santosh Gadre for exporting data in metastock format. 
// Output symbols will be less than 14 character to work with MS. Also we added Period as 1 min, which is hardcoded.


// #### READ THIS FIRST #### READ THIS FIRST #### READ THIS FIRST #### READ
//THIS FIRST #### READ THIS FIRST ####
// Export intraday and EOD data to .csv files 
// One file for each stock but the symbol name must be a valid Microsoft file Name OR you will have to modify it, see code below to change Name
// if the data exceeds 65500 lines it will be broken into separate files up to 327,500 lines OR about 227 days of 24 Hour, one Minute data
// This will create a directory C:\AmiBackup
// Select your symbols to export with the "Apply to" filter in AA window, to save data base use all symbols AND all quotes 
// Make sure the chart is on the period you want to save 
// Select the same timeframe period you want to save as using the AA "Settings"
// Press Scan button
// 

// created a directory on your C drive named AmiBroker data backup
dayhours = ParamToggle("Day hours only", "No|Yes");
fmkdir("c:\\AmiBackup\\");
SetBarsRequired(100000,100000);
lname = Name(); // gets the name of the symbol
// note: if you have names with invalid characters like / you must rename the file before you try to create a Name 
// add an IF line for each symbol you need to rename
if (lname == "ER2U8-GLOBEX-FUT") lname = "ER2U8GLOBEXFUT";

lname1 = StrReplace(lname , "12", "" ); 
lname = lname1;
lname1 = StrReplace(lname , "00", "" ); 
lname = lname1;

fh = fopen( "c:\\AmiBackup\\" + lname + ".csv", "w"); 
//PER = GetOption("Periodicity");
PER=1;
PERs= StrFormat( "%g", PER ); 

if( fh ) 
{ 
    if(Interval() == inDaily OR Interval() == inMonthly OR Interval() ==
inWeekly)
    {
        fputs( "Ticker,PER, Date,Open,High,Low,Close,Volume \n", fh ); 
           for( i = 0; i < BarCount; i++ ) 
        { 
               y = Year(); 
               m = Month(); 
               d = Day(); 
            fputs( lname  + "," , fh );
            fputs( PERs  + "," , fh );

                  ds = StrFormat("%02.0f%02.0f%02.0f,", y[ i ], m[ i ], d[ 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,PER,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( lname  + "," , fh );
                fputs( PERs  + "," , 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
            { 
                fputs( lname  + "," , fh );
                
                fputs( PERs  + "," , 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 ); 
            }
            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 ); 

} 

// ShellExecute("C:\\MoveDataFromAMI2MS.bat","",""); // calling asc2ms for file conversion in metastock format.

//ShellExecute ("asc2ms.exe", "-f C:\\AmiBackup\\GOLDM12AUGFUT.csv -r r -O C:\\AmiBackup\\RT --forceWrite=yes", "showcmd=1");

Buy = 1;

1 comments

1. mrkanitkar

Please set period for export in backtesting settings as per requirements.

Leave Comment

Please login here to leave a comment.

Back