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