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" <sfclimb...@...> 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; > > >
