[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: [amibroker] Re: How To Overwrite Exported CSV Data File



PureBytes Links

Trading Reference Links

Oh, I thought you'd know...

Here:

if ( Status("stocknum") == 0 )
{
    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, "w"); 
}

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 );
  }
}
Buy = 0; // link to "scan" button


> -----Original Message-----
> From: amibroker@xxxxxxxxxxxxxxx 
> [mailto:amibroker@xxxxxxxxxxxxxxx] On Behalf Of Lester Vanhoff
> Sent: Monday, June 12, 2006 6:46 PM
> To: amibroker@xxxxxxxxxxxxxxx
> Subject: [amibroker] Re: How To Overwrite Exported CSV Data File
> 
> Below is the copy of e-mail from Dingo with his idea (his 
> post for some reason has never made it to this board). I'm 
> still not sure how to implement it in my code. Thanks, Dingo.
> 
> From: dingo <dingo@xxx>
> 
> 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 }
> 
> 
> --- In amibroker@xxxxxxxxxxxxxxx, "Lester Vanhoff" 
> <ebsn247lsm@xxx> wrote:
> >
> > 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 
> --------------------~--> Home is just a click away.  Make 
> Yahoo! your home page now.
> http://us.click.yahoo.com/DHchtC/3FxNAA/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
> 
> 
> 
>  
> 
> 
>