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