I'm trying to determine the longest drawdown period in the backtest, here's the
code snippet:
bslh = HighestBars(Foreign("~~~EQUITY", "C")); // # bars since last high
ldd = Highest(bslh); // longest drawdown to date, array
lbn = LastValue(BarIndex()); // last bar number
longestDD = ldd[lbn]; // longest drawdown in the test period, value
This sorta works, except when there's a long flat period preceding the first
trade, because HighestBars() treats such periods as drawdowns and increases the
counter, even though there were NO higher value in the past! Say, my initial
equity is 100,000 and the first trade occurs 2 months after the start of the
backtest period. HighestBars on the date preceding the first trade will be 60,
which will exceed my actual longest drawdown (if I have any luck), and screw up
my stats.
What am I overlooking this time? Many thanks!