// Downloaded From https://www.WiseStockTrader.com // 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;