public void AddElement(DBResult element)
 {
     TSystem selectedSystem;
     try
     {
         selectedSystem = NewSystems[element.SystemId];
         selectedSystem.AddPosition(element);
     }
     catch (KeyNotFoundException)
     {
         selectedSystem = new TSystem(element.SystemId);
         selectedSystem.AddPosition(element);
         NewSystems.Add(element.SystemId, selectedSystem);
     }
 }
 public void AddElement(DBResult element)
 {
     TSystem selectedSystem;
     lock (lockSystems)
     {
         try
         {
             selectedSystem = NewSystems[element.SystemId];
         }
         catch (KeyNotFoundException)
         {
             selectedSystem = new TSystem(element.SystemId);
         }
         selectedSystem.AddPosition(element);
         NewSystems[element.SystemId] = selectedSystem;
     }
 }
        private List<OrdersReq> CreateOrder(DBResult oldItem, DBResult newItem)
        {
            List<OrdersReq> reqList = new List<OrdersReq>();

            if (oldItem.Direction == newItem.Direction)
            {
                if (oldItem.Lots > newItem.Lots)
                {
                    OrdersReq req = new OrdersReq();
                    req.Operation = GeneralConstants.OrderOperations.Clsoe;
                    req.Direction = oldItem.Direction;
                    req.Volume = oldItem.Lots - newItem.Lots;
                    req.Symbol = oldItem.Symbol;
                    reqList.Add(req);
                }
                else
                {
                    OrdersReq req = new OrdersReq();
                    req.Operation = GeneralConstants.OrderOperations.Open;
                    req.Direction = oldItem.Direction;
                    req.Volume = newItem.Lots - oldItem.Lots;
                    req.Symbol = oldItem.Symbol;
                    reqList.Add(req);
                }
            }
            else
            {
                OrdersReq req = new OrdersReq();
                req.Operation = GeneralConstants.OrderOperations.Clsoe;
                req.Direction = oldItem.Direction;
                req.Volume = oldItem.Lots;
                req.Symbol = oldItem.Symbol;
                reqList.Add(req);

                req = new OrdersReq();
                req.Operation = GeneralConstants.OrderOperations.Open;
                req.Direction = newItem.Direction;
                req.Symbol = newItem.Symbol;
                req.Volume = newItem.Lots;
                reqList.Add(req);
            }
            return reqList;
        }
Exemple #4
0
 public void AddPosition(DBResult position)
 {
     positions.Add(position);
 }
 private List<OrdersReq> CreateOrder(DBResult item)
 {
     List<OrdersReq> reqList = new List<OrdersReq>();
     OrdersReq req = new OrdersReq();
     req.Direction = item.Direction;
     req.Operation = GeneralConstants.OrderOperations.Open;
     req.Symbol = item.Symbol;
     req.Volume = item.Lots;
     reqList.Add(req);
     return reqList;
 }
        private List<OrdersReq> CreateOrder(DBResult oldItem, DBResult newItem)
        {
            List<OrdersReq> reqList = new List<OrdersReq>();

            if (oldItem.Direction == newItem.Direction)
            {
                if (oldItem.Lots > newItem.Lots)
                {
                    Console.WriteLine("Close some lots");
                    OrdersReq req = new OrdersReq();
                    req.Operation = Utilites.Presets.OrderOperations.Clsoe;
                    req.Direction = oldItem.Direction;
                    req.Volume = oldItem.Lots - newItem.Lots;
                    Console.WriteLine("Lots size {0}", Convert.ToString(req.Volume));
                    req.Symbol = oldItem.Symbol;
                    reqList.Add(req);
                }
                else
                {
                    Console.WriteLine("Open some new lots");
                    OrdersReq req = new OrdersReq();
                    req.Operation = Utilites.Presets.OrderOperations.Open;
                    req.Direction = oldItem.Direction;
                    req.Volume = newItem.Lots - oldItem.Lots;
                    Console.WriteLine("Lots size {0}", Convert.ToString(req.Volume));
                    req.Symbol = oldItem.Symbol;
                    reqList.Add(req);
                }
            }
            else
            {
                Console.WriteLine("New direction orders");
                OrdersReq req = new OrdersReq();
                req.Operation = Utilites.Presets.OrderOperations.Clsoe;
                req.Direction = oldItem.Direction;
                req.Volume = oldItem.Lots;
                req.Symbol = oldItem.Symbol;
                reqList.Add(req);

                req = new OrdersReq();
                req.Operation = Utilites.Presets.OrderOperations.Open;
                req.Direction = newItem.Direction;
                req.Symbol = newItem.Symbol;
                req.Volume = newItem.Lots;
                reqList.Add(req);
            }
            return reqList;
        }