Ah! Thanks!

--- In [email protected], "Tomasz Janeczko" <gro...@...> wrote:
>
> Hello,
> 
> Trade.EntryDateTime in 5.28.1 reports date in 64 bit format instead of 32 bit 
> expected by DateTimeToStr.
> Will be fixed in next beta.
> 
> Best regards,
> Tomasz Janeczko
> amibroker.com
>   ----- Original Message ----- 
>   From: ozzyapeman 
>   To: [email protected] 
>   Sent: Thursday, September 03, 2009 3:26 AM
>   Subject: [amibroker] Re: Help with converting DateTimes in CBT
> 
> 
> 
> 
>   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