Пример #1
0
 public TraderManager(StockDataReaderManager stockDataReaderManager, IConfiguration configuration,
                      IServiceProvider serviceProvider, TradingClientFactory tradingClientFactory,
                      ILogger <TraderManager> logger, SignalRService signalRService)
 {
     _stockDataReaderManager = stockDataReaderManager;
     _configuration          = configuration;
     _serviceProvider        = serviceProvider;
     _tradingClientFactory   = tradingClientFactory;
     _logger         = logger;
     _signalRService = signalRService;
 }
Пример #2
0
        static async Task Main(string[] args)
        {
            try
            {
                var stocks       = new[] { "qqq", "msft", "fb", "aapl" };
                var task         = new List <Task>();
                var alpacaClient = TradingClientFactory.GetTradingClient(TradingClientType.Alpaca);
                foreach (var stock in stocks)
                {
                    var trader = new Trader(StockDataReaderFactory.GetStockDataReader(StockDataReaderType.Yahoo, stock),
                                            alpacaClient, stock);

                    task.Add(Task.Run(() => trader.HandleOrders()));
                }

                await Task.WhenAll(task.ToArray());
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
                throw;
            }

            /*var stocks = new[] {"qqq", "msft", "fb", "aapl"};
             * var task = new List<Task>();
             * foreach (var stock in stocks)
             * {
             *  task.Add(Task.Run(() => ScrapperFactory.GetScrapper(ScrapperType.Yahoo, stock).ReadStocksValue()));
             * }
             *
             * await Task.WhenAll(task.ToArray());*/

            /*var watch = System.Diagnostics.Stopwatch.StartNew();
             *
             * Console.WriteLine($"Profit is  {Test()}");
             * watch.Stop();
             * var elapsedMs = watch.ElapsedMilliseconds;
             * Console.WriteLine($"time: { elapsedMs}");*/
        }