Nuno, the new result is correct. The old version DOESN'T place Break Even at all. The mistake was due to specific interpretation of the comparison of floating numbers in the computer languages.
For example, a normal person know that two numbers are equal when A = B. It works in the computer for integer numbers, but it is wrong for float or double numbers.
Computer cannot represent such numbers exactly. Lats say 19.25 can be represented as 19.25000001
So A=B doesn't work. It must be ABS(A - B) < Sigma, where sigma is a small number like 0.00001
My change sin the code was:
if (posDir == PosDirection.Long && price >= posPrice + targetBreakEven
if (posDir == PosDirection.Long && price >= posPrice + targetBreakEven - micron
Where micron = Point/2;
Your real question must be "Why Pessimistic method shows low strategy performance?".
It's because it check if break even can be activated and closes the position on zero. Backtester prefers to close on zero, because it doesn't look forward and doesn't know what will happen with the position. It may go on profit or it also may close on BE later. Since it's a Pessimistic method, it closes the position on BE. It may look bad, but it actually protects you from false expectations.
You can always go to the Comparator to see a more realistic performance of a strategy with ambiguous bars. I thing that the comparator is one of the best tools in FSB Pro and even in the Forex analyzing tools worldwide. Other even do not show you ambiguous bars!! Probably they don't have!?!