I am trying to add performance of a benchmark (e.g. ^gspc)
during the test period to my back test report. I have come up with the
following code.
StartingBar
= FirstBarIndex(
Status
(
"FirstBarinTest"
));
EndingBar = LastBarIndex(
Status
(
"LastBarinTest"
));
Benchmark =
Foreign
(
"^GSPC"
,
"Close"
);
StartPriceBenchmark =
LastValue
(
ValueWhen
(
BarIndex
() <= StartingBar ,Benchmark )) ;
EndPriceBenchmark =
LastValue
(
ValueWhen
(
BarIndex
() >=EndingBar, Benchmark )) ;
BenchmarkPerformance =
100
* ( EndPriceBenchmark[ StartingBar ] -
StartPriceBenchmark[ StartingBar ] ) / Benchmark[ StartingBar ];
bo.AddCustomMetric(
"Benchmark Performance"
, BenchmarkPerformance );
The problem
with the above code is that it picks up the closing price of the starting date
of the test rather than the close of the day previous to first day of the test.
Any suggestions? TIA