public MainWindow() { InitLog(); Log.Information("Service starting..."); CefSharp.CefSettings settings = new CefSharp.CefSettings(); settings.CachePath = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData) + @"\CEF"; CefSharp.Cef.Initialize(settings); InitializeComponent(); _libLoader = new LibraryLoader(); _libLoader.Init(); _mtBus = new MTBus(); _orderCache = new OrderCacheValidator(); _orderCache.DetectOrder += OrderCacheOnDetectOrder; Browser.FrameLoadEnd += WebBrowserFrameLoadEnded; this.Closing += OnClosing; _timeScheduler = new TimeSchedulerService(TimeSpan.FromMinutes(15)); _timeScheduler.Work += TimeSchedulerOnWork; _timeScheduler.Start(); Log.Information("Service started"); }
public void OrdersCahchIsEmptyTest() { var pairs = GetPairs(); var countDetectedOrders = 0; var orderCache = new OrderCacheValidator(); orderCache.DetectOrder += (sender, backtest) => { countDetectedOrders++; }; orderCache.Push(pairs); Assert.Equal(countDetectedOrders, 0); }
public void OrdersCacheOnDetectTimeTest() { var pairs = GetDetectTimePairs(); var countDetectedOrders = 0; var orderCache = new OrderCacheValidator(); orderCache.DetectOrder += (sender, backtest) => { countDetectedOrders++; }; orderCache.Push(pairs); orderCache.Push(pairs); var doublePairts = new List <BacktestOrderPair>(); var now = DateTime.Now; // long => short doublePairts.Add(new BacktestOrderPair { Left = new OrderEventBacktest { EventType = OrderEventType.Buy, Price = 10262.28600000m, DateTime = new DateTime(now.Year, now.Month, now.Day, now.Hour, 30, 0) }, Right = new OrderEventBacktest { EventType = OrderEventType.Sell, Price = 10271.48700000m, DateTime = new DateTime(now.Year, now.Month, now.Day, now.Hour, 30, 0) } }); orderCache.Push(doublePairts); Assert.Equal(countDetectedOrders, 1); }