Beispiel #1
0
        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));
            }
        }
Beispiel #2
0
        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);
        }
Beispiel #3
0
        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);
        }
Beispiel #4
0
 public BfxParentTransaction(BfxMarket market, BfxParentOrder order)
     : base(market)
 {
     _order = order;
 }
 public BfxParentOrderEventArgs(BfxParentOrder order)
 {
     Order = order;
 }