private double GetRealRisk(int position, double price, double stopValue, double risk, double balance) { var posProfit = Instrument.GetPnl(position, price, price - stopValue); var openPos = Instrument.ConvertToPrice(position, price); var closePos = openPos + posProfit; var fee1 = openPos * OpenPriceFee; var fee2 = closePos * StopFee; var profit = posProfit + fee1 + fee2; return(Math.Round(profit / balance * 100, 3) * -1); }
private double GetProfit(long size, double priceOpen, double priceClose) { var posProfit = priceOpen <= priceClose?Instrument.GetPnl(size, priceOpen, priceClose) : Instrument.GetPnl(size, priceClose, priceOpen); var openPos = Instrument.ConvertToPrice(size, priceOpen); var closePos = openPos + posProfit; var fee1 = openPos * OpenPriceFee; var fee2 = closePos * ClosePriceFee; var profit = posProfit + fee1 + fee2; return(Math.Round(profit, RoundDigits)); }