The macros should deliver only 'real' trades - either pending, open or closed. Without **trades** 'attempted' with Entry but missed.
Bug#2.5
With this bug all functions currently using these macros (like plotTradeProfile(), plotMAEGraph(), etc, possibly results() ) return results with artifacts, processing 'trades' with zero profit/mae/mfe, but counting such as 'trades' .
for(all_trades)
{
var vResult = toPIP(TradeResult);
var vMAE = TradeMAE/PIP/vStep;
int n = floor(vMAE);
plotBar("Profit",n,n*vStep,0,AVG|BARS|LBL2,COLOR_PROFIT);
if(vResult > 0)
plotGraph("Win",vMAE,vResult,DOT,GREEN);
else
plotGraph("Loss",vMAE,vResult,DOT,RED);
}
So, either really do not preserve such **trades" (as you confirmed), or make for(..._trades) macros skip those.