public UIDataBroker() { UnlTradingDataList = new List <UnlTradingData>(); PositionDataList = new List <OptionsPositionData>(); OrderStatusDataList = new List <OrderStatusData>(); OptionsDataList = new List <OptionData>(); AccountSummaryDataList = new List <AccountSummaryData>() { new AccountSummaryData() }; SecurityDataList = new List <SecurityData>(); _lastNetLiquidation = SavedPatametersManager.GetLastNetLiquiditionParameter(); }
private void DoWorkAfterTradingEnding() { try { DBDiluter dbDiluter = new DBDiluter(); dbDiluter.DiluteFromAllUnLs(); } catch (Exception ex) { Logger.Error(ex.Message, ex); } //Save the parameter in one minute from now, and then 'Net Liquidition' will be stable! GeneralTimer.GeneralTimerInstance.AddTask(TimeSpan.FromMinutes(1), () => { SavedPatametersManager.SaveLastNetLiquiditionParameter(AccountManager.NetLiquidation); }, false); //Save UNL data using (var session = DBSessionFactory.Instance.OpenSession()) { foreach (var simpleBaseLogic in UNLManagerDic.Values) { var unlManager = (UNLManager)simpleBaseLogic; var managedSecurity = session.Query <ManagedSecurity>().FirstOrDefault(ms => ms.Symbol == unlManager.Symbol); if (managedSecurity == null) { continue; } managedSecurity.LastDayPnL = unlManager.UnlTradingData.PnLTotal; session.SaveOrUpdate(managedSecurity); } session.Flush(); } }