Ejemplo n.º 1
0
        /// <summary>
        /// Initializes and registers required parametes and delagates
        /// </summary>
        private void InitializeStrategyListeners()
        {
            // Register TradeHUB Strategy's status (Running/Stopped) Event
            _tradeHubStrategy.OnStrategyStatusChanged += OnStrategyStatusChanged;

            // Initialze Utility Classes
            _orderExecutor = new OrderExecutor(_logger);
            //_marketDataListener = new MarketDataListener(_asyncClassLogger);
            _orderRequestListener = new OrderRequestListener(_orderExecutor, _logger);

            // Use MarketDataListener.cs as Event Handler to get data from DataHandler.cs
            //_dataHandler = new DataHandler(new IEventHandler<MarketDataObject>[] { _marketDataListener });
            _dataHandler = new DataHandler(true); // Set local persistance to true

            //_marketDataListener.BarSubscriptionList = _dataHandler.BarSubscriptionList;
            //_marketDataListener.TickSubscriptionList = _dataHandler.TickSubscriptionList;

            // Initialize MarketRequestListener.cs to manage incoming market data requests from strategy
            _marketRequestListener = new MarketRequestListener(_dataHandler, _logger);

            // Register Events to receive data
            RegisterMarketDataListenerEvents();
            // Register Events to receive order executions
            RegisterOrderExecutorEvents();
        }
Ejemplo n.º 2
0
        public async Task <IActionResult> Edit(Guid id, [Bind("Id,OrderId,ExecutorId")] OrderExecutor orderExecutor)
        {
            if (id != orderExecutor.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(orderExecutor);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!OrderExecutorExists(orderExecutor.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            ViewData["ExecutorId"] = new SelectList(_context.Executors, "Id", "Name", orderExecutor.ExecutorId);
            ViewData["OrderId"]    = new SelectList(_context.Orders, "Id", "Name", orderExecutor.OrderId);
            return(View(orderExecutor));
        }
Ejemplo n.º 3
0
        public async Task <IActionResult> Create([Bind("Id,OrderId,ExecutorId")] OrderExecutor orderExecutor)
        {
            if (orderExecutor.OrderId == null && orderExecutor.ExecutorId == null)
            {
                ViewData["ExecutorId"] = new SelectList(_context.Executors, "Id", "Name");
                ViewData["OrderId"]    = new SelectList(_context.Orders, "Id", "Name");
                return(View(orderExecutor));
            }

            orderExecutor.Id = Guid.NewGuid();
            _context.Add(orderExecutor);
            await _context.SaveChangesAsync();

            return(RedirectToAction(nameof(Index)));
        }