PureBytes Links
Trading Reference Links
|
Herman,
If running the script using the Backtest on individual symbols (i.e.
not as portfolio), couldn't you just construct the name as part of
the script?
Sorry that I haven't actually tried this out first (no AmiBroker on
this machine). But, I believe the script would only ever apply to a
single ticker at a time. If so, it should work.
Mike
e.g.
// Demo trading system
Short = Cover = 0;
Buy=Cross( MACD(), Signal() );
Sell=Cross( Signal(), MACD() );
atcName = "~~~UI_"+Name(); // <-- Name of single ticker in use
// 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
}
bo.PostProcess();
AddToComposite( MyHistStat1, atcName, "X", atcFlagEnableInPortfolio
| atcFlagDefaults ); // <-- Signals are all on single ticker at a time
}
PlotForeign(atcName, "UlcerIndex Historical", colorRed, styleLine );
--- In amibroker@xxxxxxxxxxxxxxx, "Herman" <psytek@xxx> wrote:
>
> Some time ago Tomasz posted the code below (simplified) on the KB.
Would
> anyone know how to modify this code to save the metrics for
individually
> backtested tickers? Composites would be named like "UI_"+Name(). I
want to
> run individual backtests over a watchlist and save ticker-specific
metrics
> in composites. The metrics would be read/used in another trading
system.
>
> many thanks for any help you can give!
> herman
>
> // 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_HISTORICAL", "X",
> atcFlagEnableInPortfolio | atcFlagDefaults );
> }
>
> PlotForeign("~~~UI_HISTORICAL", "UlcerIndex Historical", colorRed,
> styleLine );
>
------------------------------------
Please note that this group is for discussion between users only.
To get support from AmiBroker please send an e-mail directly to
SUPPORT {at} amibroker.com
For NEW RELEASE ANNOUNCEMENTS and other news always check DEVLOG:
http://www.amibroker.com/devlog/
For other support material please check also:
http://www.amibroker.com/support.html
Yahoo! Groups Links
<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/amibroker/
<*> Your email settings:
Individual Email | Traditional
<*> To change settings online go to:
http://groups.yahoo.com/group/amibroker/join
(Yahoo! ID required)
<*> To change settings via email:
mailto:amibroker-digest@xxxxxxxxxxxxxxx
mailto:amibroker-fullfeatured@xxxxxxxxxxxxxxx
<*> To unsubscribe from this group, send an email to:
amibroker-unsubscribe@xxxxxxxxxxxxxxx
<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
|