foreach (Trade t in Performance.AllTrades)
{
if (t.Entry.MarketPosition == MarketPosition.Long)
{
bestPriceReached = MAX(High, ((t.ExitExecution.BarIndex + 1) - t.EntryExecution.BarIndex))[(Count - 1) - (t.ExitExecution.BarIndex - 1)];
worstPriceReached = MIN(Low, ((t.ExitExecution.BarIndex + 1) - t.EntryExecution.BarIndex))[(Count - 1) - (t.ExitExecution.BarIndex - 1)];
}
else if (t.Entry.MarketPosition == MarketPosition.Short)
{
bestPriceReached = MIN(Low, ((t.ExitExecution.BarIndex + 1) - t.EntryExecution.BarIndex))[(Count - 1) - (t.ExitExecution.BarIndex - 1)];
worstPriceReached = MAX(High, ((t.ExitExecution.BarIndex + 1) - t.EntryExecution.BarIndex))[(Count - 1) - (t.ExitExecution.BarIndex - 1)]; ;
}
maeTrade = Math.Abs(worstPriceReached - t.Entry.Price);
mfeTrade = Math.Abs(bestPriceReached - t.Entry.Price);
etdTrade = Math.Abs(mfeTrade - t.ProfitCurrency);
}
Regards,

Comment