I'm trying to add a Backtester column to show an indicator value at
trade entry. Using examples taken from elsewhere on the forum, I came
up with the code below. However, "test2" is always 0.00. Can anyone
tell me where I'm going wrong? Thanks.
AddToComposite( CCI
(14), "~UI_HISTORICAL", "X",atcFlagEnableInPortfolio+atcFlagDefaults )
;
// Custom Backtest
SetCustomBacktestProc("");
if (Status("action") == actionPortfolio){
bo=GetBacktesterObject();
bo.Backtest(1);
dt = DateTime();
bi = BarIndex();
for (trade = bo.GetFirstTrade(); trade; trade = bo.GetNextTrade())
{
SetForeign( trade.Symbol ); // need to switch the symbol
entrybar = LastValue( ValueWhen( dt == trade.EntryDateTime,
BarIndex() ) );
SetForeign( "~UI_HISTORICAL" ); // need to switch the symbol
test2 = C[ entrybar ]; // we need scalar value
trade.AddCustomMetric("test2",test2);
}
bo.AddCustomMetric("Marker","Marker");
bo.ListTrades();
}