Herman,

Try additionally including the flag to enable in backtest. Simply 
using atcFlagEnableInPortfolio may not be enough.

>From the user guide:
"AddToComposite function also detects the context in which it is run
(it works ONLY in scan mode, unless atcFlagEnableInBacktest or 
atcFlagEnableInExplore flags are specified)"

Mike

--- In [email protected], "Herman" <[EMAIL PROTECTED]> wrote:
>
> Thank you Tomasz, but this code still does not work. I changed the 
StaticVar
> to the Text type.
> 
> Can you help some more ... ?  or does anyone else see the problem?
> 
> TIA,
> Herman
> 
> StaticVarSetText( "Symbol", Name() );
> // Demo trading system
> Short = Cover = 0;
> Buy = Cross( MACD(), Signal() );
> Sell = Cross( Signal(), MACD() );
> 
> // Using the CBT to retrieve/save metrics
> SetOption( "UseCustomBacktestProc", True );
> if ( Status( "action" ) == actionPortfolio )
> {
> bo = GetBacktesterObject();
> bo.PreProcess();
> MyHistStat1 = Null;
> for ( bar = 0; bar < BarCount; bar++ )
> {
> bo.ProcessTradeSignals( bar );
> stats = bo.GetPerformanceStats( 0 );
> MyHistStat1[ bar ] = stats.GetValue( "UlcerIndex" ); // any metric 
can be
> retrieved
> }
> bo.PostProcess();
> AddToComposite( MyHistStat1, "~~~UI_" + StaticVarGetText
( "Symbol" ) +
> "_HISTORICAL", "X", atcFlagEnableInPortfolio | atcFlagDefaults );
> }
> PlotForeign( "~~~UI_HISTORICAL", "UlcerIndex Historical", colorRed,
> styleLine );
> 
> -----Original Message-----
> From: [email protected] [mailto:[EMAIL PROTECTED]
On Behalf
> Of Tomasz Janeczko
> Sent: July 24, 2008 3:00 PM
> To: [email protected]
> Subject: [SPAM]Re: [amibroker] How to save Metrics in Composites for
> Individual BTs
> 
> 
> The same code. The only distinction is that you need to run 
INDIVIDUAL
> backtest
> and use Static variable to save name
> 
> StaticVarSet Text ("Symbol", Name() );
> // Demo trading system
> Short = Cover = 0;
> Buy=Cross( MACD(), Signal() );
> Sell=Cross( Signal(), MACD() );
> 
> // Using the CBT to retrieve/save metrics
> SetOption("UseCustomBacktestProc", True );
> if( Status("action") == actionPortfolio )
> {
>   bo = GetBacktesterObject();
>   bo.PreProcess();
>   MyHistStat1 = Null;
> 
>   for(bar=0; bar < BarCount; bar++)
>   {
>    bo.ProcessTradeSignals( bar );
>    stats = bo.GetPerformanceStats( 0 );
>    MyHistStat1[ bar ] = stats.GetValue("UlcerIndex"); // any metric 
can be
> retrieved
>   }
> 
>   bo.PostProcess();
>   AddToComposite( MyHistStat1, "~~~UI_" + StaticVarGet Text 
("Symbol") +
> "_HISTORICAL", "X", atcFlagEnableInPortfolio | atcFlagDefaults );
> }
> 
> PlotForeign("~~~UI_HISTORICAL", "UlcerIndex Historical", colorRed,
> styleLine );
>


Reply via email to