A crosses over or under implies that the crosses is done (previous bar, the indicator k was below d and current bar k is over d), while k>d is only a simple comparison on the same bar of these 2 values.
I know but this does not explain this particular case. Plz read the question again and look at the pictures. The second strategy must buy at exactly the same bar as first strategy. (If k has crossed over d it means k > d)
Without checking the code, I can’t help more sorry 😐 Did you check all other conditions? Did you made GRAPH of k and d variables to check if they are exactly the same as the indicator?