public void LoadMarketInformations() { if (OrderCache == default) { return; } OrderCache.UpdateActiveOrders(); // Load active parent orders var parents = OrderCache.GetActiveParentOrders(); foreach (var parent in parents) { var xParentOrder = new BfxParentOrder(parent); var txParent = new BfxParentTransaction(this, xParentOrder); foreach (var xChildOrder in xParentOrder.Children.Cast <BfxChildOrder>()) { _childOrderTransactions[xChildOrder.AcceptanceId] = new BfxChildTransaction(this, xChildOrder, txParent); } _parentOrderTransactions.TryAdd(parent.AcceptanceId, txParent); } ; // Load standalone child orders var children = OrderCache.GetActiveIndependentChildOrders(); foreach (var child in children) { var order = new BfxChildOrder(child); _childOrderTransactions.TryAdd(child.AcceptanceId, new BfxChildTransaction(this, order)); } }
public static IBfxOrder StopLimit(BfTradeSide side, decimal triggerPrice, decimal orderPrice, decimal size) { var request = BfParentOrderRequest.StopLimit(BfProductCode.Unknown, side, triggerPrice, orderPrice, size, 0, BfTimeInForce.NotSpecified); var order = new BfxParentOrder(request); return(order); }
public static IBfxOrder Trailing(BfTradeSide side, decimal trailingOffset, decimal size) { var request = BfParentOrderRequest.Trail(BfProductCode.Unknown, side, trailingOffset, size, 0, BfTimeInForce.NotSpecified); var order = new BfxParentOrder(request); return(order); }
public BfxParentTransaction(BfxMarket market, BfxParentOrder order) : base(market) { _order = order; }
public BfxParentOrderEventArgs(BfxParentOrder order) { Order = order; }