Thanks for looking into this so expeditiously. Interesting stuff. I actually thought about this possibility overnight: that it wasn't a problem with i/d data per se, but rather that i/d trading tends to magnify streaks because there are so many trades happening on a single "bad day" or two or three in a row.
I was creating Kelly from scratch in code before I realized there was a built-in function. (Guess I should ask next time.)
I was wondering why my hand-coded solution didn't exhibit this problem. Then I realized that you had turned me on to a method a few weeks ago, where you do a run to get the data (that is normally in the Performance report), save it in a DataSeries (in this case the Kelly value for each bar) and then ClearPositions() and run the strategy again with conditions based on the DataSeries (Kelly value).
https://www.wealth-lab.com/Forum/Posts/Using-Strategy-performance-metrics-to-size-positions-39310Because I did it this way, even when I got negative values for Kelly, I was still collecting data in my lookback window because trades that were going into the DataSeries were not conditional (kept executing without checking Kelly).
Something like this is necessary if Kelly is to continue to be accurate. If data starts getting based on trades that were filtered on Kelly, then we have a recursive situation. When any trade is rejected based on a Kelly filter (as opposed to the underlying strategy), the K value will no longer be valid.
As far as I understand, Kelly was not intended to be to be used with a moving time window for data collection. It wasn't intended as a trading indicator, but rather a probabilistic approach to money allocation. (Maybe you know all this already.) K Value can change over time, but that's only because new data is coming in (but not going out) with every trade. It seems WL, and I, decided to try to use it as an indicator.
So, since we're sort of in uncharted territory, what makes the most sense to me is that the system must capture the performance of each trade dictated by the basic strategy, if only to capture the data, before applying Kelly as a filter. It doesn't matter if the trader actually executes the trade. Kelly is agnostic to the size of the trade since it deals with ratios and percentages, not absolute dollars.