public void closePosition(Position pos, DateTime time, TradeBookedEvent onTradeBooked, TradeBookedEvent onBookingFailed, int idxPlaceHolder = 0, decimal stockValue = 0m) { if (pos.Quantity != 0) { var positionClose = new Trade(time, pos.Epic, pos.Quantity > 0 ? SIGNAL_CODE.SELL : SIGNAL_CODE.BUY, Math.Abs(pos.Quantity), stockValue, idxPlaceHolder); closePosition(positionClose, time, onTradeBooked, onBookingFailed); } }
public void ClosePosition(Position pos, DateTime closing_time, TradeBookedEvent onTradeBooked = null, TradeBookedEvent onBookingFailed = null, decimal stockValue = 0m) { if (onTradeBooked == null) { onTradeBooked = new TradeBookedEvent(OnTradeBooked); } if (onBookingFailed == null) { onBookingFailed = new TradeBookedEvent(OnBookingFailed); } closePosition(pos, closing_time, onTradeBooked, onBookingFailed, 0, stockValue); }
public void ClosePosition(Trade trade, DateTime closing_time, TradeBookedEvent onTradeBooked = null, TradeBookedEvent onBookingFailed = null) { if (trade == null) { return; } if (onTradeBooked == null) { onTradeBooked = new TradeBookedEvent(OnTradeBooked); } if (onBookingFailed == null) { onBookingFailed = new TradeBookedEvent(OnBookingFailed); } closePosition(new Trade(trade, true, closing_time), closing_time, onTradeBooked, onBookingFailed); }
void closePosition(Trade trade, DateTime time, TradeBookedEvent onTradeBooked, TradeBookedEvent onBookingFailed) { _igStreamApiClient.ClosePosition(trade, time, onTradeBooked, onBookingFailed); Log.Instance.WriteEntry(string.Format("Forcefully closed a position, Epic: {0}, Size: {1}, Value: {2}", trade.Epic, trade.Size, trade.Price), System.Diagnostics.EventLogEntryType.Warning); }