Try to isolate the problem. Add _TRACE statements immediately after getting the 
string values, to see if they get output to AB's own trace log properly.

Mike

--- In [email protected], "ozzyapeman" <zoopf...@...> wrote:
>
> Really weird that it works for you, and not for me. I can't think of any
> other setting that could possibly affect this. And it's not just dumping
> to file that does not work. As a test, I can't add a datetime as a
> custom metric to the backtester report. The string shows up as "Invalid
> DateTime". If I try to add it as a number, it shows up as "0.0":
> 
>          EntryDate    = Trade.EntryDateTime;
>          EntryDateStr = DateTimeToStr(EntryDate);
> 
>          Trade.AddCustomMetric( "EntryDate" ,EntryDateStr    );
> 
> 
> Of course I know that the entry date column already exists in the
> backtester report. I'm just doing this as a test, after the dump to file
> did not work.
> 
> Is this a possible bug in AB 5.28.1?
> 
> I don't recall ever having any problems with DateTime conversions in
> previous versions, and I've done stuff like this before.
> 
> 
> --- In [email protected], "ozzyapeman" <zoopfree@> wrote:
> >
> > Thanks, Mike. That's interesting. I had changed my PC system time
> format to be compatible with some VBscript programs I needed to run.
> That might be the culprit, although DateTime works fine within Amibroker
> itself. It's only when I try to dump to file that it gets screwed up.
> >
> >
> >
> > --- In [email protected], "sfclimbers" sfclimbers@ wrote:
> > >
> > > Your code works fine, as published, for me. Perhaps inconsistent
> environment settings between AmiBroker generating the date and whatever
> you're using to open the generated file (e.g. American form vs.
> Australian)?
> > >
> > > Mike
> > >
> > > --- In [email protected], "ozzyapeman" <zoopfree@> wrote:
> > > >
> > > > Hello,
> > > >
> > > > During a backtest, I want to dump the EntryDate, ExitDate, and
> Profit
> > > > for each trade, to an external file.
> > > >
> > > > Everything works except converting the DateTimes to strings. When
> it is
> > > > dumped to file, I get "Invalid DateTime" for each of those
> entries.
> > > >
> > > > Can anyone spot what is wrong here? Should be pretty
> straightforward:
> > > >
> > > >
> > > > FileName = "F:\\Test CBT.csv";
> > > >
> > > > SetCustomBacktestProc( "" );
> > > >
> > > > if ( Status( "action" ) == actionPortfolio )
> > > > {
> > > >      bo = GetBacktesterObject();
> > > >      bo.Backtest( 1 );
> > > >
> > > >      for ( trade = bo.GetFirstTrade(); trade; trade =
> bo.GetNextTrade() )
> > > >      {
> > > >          Profit       = Trade.GetProfit;
> > > >
> > > >          EntryDate    = Trade.EntryDateTime;
> > > >          ExitDate     = Trade.ExitDateTime;
> > > >
> > > >          EntryDateStr = DateTimeToStr( EntryDate );
> > > >          ExitDateStr  = DateTimeToStr( ExitDate );
> > > >
> > > >          fh = fopen( FileName, "a" );
> > > >
> > > >          if ( fh )
> > > >          {
> > > >              fputs( EntryDateStr + "," + ExitDateStr + "," +
> StrFormat(
> > > > "%.2f", Profit ) + "," + "\n", fh );
> > > >              fclose( fh );
> > > >          }
> > > >      }
> > > >
> > > >      bo.ListTrades();
> > > > }
> > > >
> > > >
> > > > fast = MA( Close, 5 );
> > > > slow = MA( Close, 25 );
> > > > Buy = Cross( fast, slow );
> > > > Sell = Cross( slow, fast );
> > > > Cover = Short = 0;
> > > >
> > >
> >
>


Reply via email to