PureBytes Links
Trading Reference Links
|
What you need is a "one time switch" so you can open the file in overwrite
mode once and then do an append the rest of the time. This can be
accomplished by:
if ( Status("stocknum") == 0 )
{
Your "one time stuff" here before your other code
}
d
> -----Original Message-----
> From: amibroker@xxxxxxxxxxxxxxx
> [mailto:amibroker@xxxxxxxxxxxxxxx] On Behalf Of Lester Vanhoff
> Sent: Monday, June 12, 2006 7:46 AM
> To: amibroker@xxxxxxxxxxxxxxx
> Subject: [amibroker] How To Overwrite Exported CSV Data File
>
> The following AFL will export eod data to C:\Test\Mseod.csv
> (set the filter, eg. a watch list and hit Scan button).
> However, to use it in real life you would need to delete that
> csv file before every export, otherwise the new data will be
> appended to the old file. The question is how to overwrite
> this file from AFL.
>
> 1) This line must be set to a=append in order to export all
> tickers in a watch list. If set to w=overwrite only one
> ticker will be exported:
>
> fh = fopen( output_folder + "\\" + output_file, "a");
>
> 2) I tried to include fdelete(), 2nd line below, but then
> only data for one ticker is exported:
>
> fmkdir( output_folder );
> fdelete( output_folder + "\\" + output_file );
>
> Here is the full code:
>
> // Export data to C:\Test\Mseod.csv in old MetaStock format:
> Tkr,D,yymmdd,O,H,L,C,V,oi
>
> output_folder = "C:\\Test";
> output_file = "Mseod.csv";
> fmkdir( output_folder ); // if the directory doesn't exists
> it will be automatically created
>
> fh = fopen( output_folder + "\\" + output_file, "a"); //
> a=append needed to get all tickers from watch list
>
> if (fh)
> {
> t = Name();
> p = "D";
> y = Year()%100;
> m = Month();
> d = Day();
> for( i = 0; i < BarCount; i++ ) // loop
> {
> fputs( t + "," , fh );
> fputs( p + "," , fh );
> ds = StrFormat( "%02.f%02.f%02.f,", y[i], m[i], d[i] ); //
> date string
> fputs( ds, 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
>
>
>
>
>
>
> ------------------------ Yahoo! Groups Sponsor
> --------------------~--> Protect your PC from spy ware with
> award winning anti spy technology. It's free.
> http://us.click.yahoo.com/97bhrC/LGxNAA/yQLSAA/GHeqlB/TM
> --------------------------------------------------------------
> ------~->
>
> Please note that this group is for discussion between users only.
>
> To get support from AmiBroker please send an e-mail directly
> to SUPPORT {at} amibroker.com
>
> For other support material please check also:
> http://www.amibroker.com/support.html
>
>
> Yahoo! Groups Links
>
>
>
>
>
>
|