public BackTestWorker(IBaseData baseData, string stockId, Action <string> writeToLogAction, Action <Exception> writeToErrorLogAction, bool alwaysRun = true) : base(baseData) { _baseData = baseData; _stockId = stockId; _startDate = baseData.CurrentTime; _endDate = DateTime.Now; _writeToLogAction = writeToLogAction; _writeToErrorLogAction = writeToErrorLogAction; // create StorageSpace _storage = new CurrentPriceStorage(); // create Turtle Database _turtleDbOperations = new TurtleDatabaseOperations(baseData.SystemConfig.SystemInfo.ProductionTurtleDBConnectionString); _memoryDbOperations = new MemoryDatabaseOperations(); _prepareMemoryDbTask = Task.Run(() => PrepareMemoryDatabaseAsync()); // _stockPriceNotificationChecker = BaseData.CreateStockPriceNotificationChecker(); // create EmailService and EmailTemplateProvider _logger = BaseData.GetLogger(); _notificationService = new BackTestNotificationService(_logger); _notificationTemplateProvider = new BackTestNotificationTemplateProvider(); }
public BuyWorker(IBaseData baseData, IBuySellStrategyProvider buySellStrategyProvider) : base(baseData) { Name = "Buy Stock Worker"; _buySellStrategyProvider = buySellStrategyProvider; Kind = ServiceWorkerKind.BuyWorker; SetWorkerStartTimeEndTime(ServiceWorkerKind.BuyWorker); _priceNotificationChecker = BaseData.CreateStockPriceNotificationChecker(); WriteToWorkerLog($"{Name} has been created"); }
public IStockPriceNotificationChecker CreateStockPriceNotificationChecker() { return(_stockPriceNotificationChecker ?? (_stockPriceNotificationChecker = new StockPriceNotificationChecker())); }