private void DoResetPerTradeDay(AccountClass.Instrument instrument, TradeDayInfo eachResetHistorySetting, InstrumentCloseQuotation closeQuotation) { var settingInstrument = Settings.Setting.Default.GetInstrument(instrument.Id, eachResetHistorySetting.TradeDay); var calculator = TradeDayCalculatorFactory.CreateForReset(eachResetHistorySetting, closeQuotation, Settings.Setting.Default); calculator.Calculate(); _account.AddBalance(settingInstrument.CurrencyId, calculator.Balance, calculator.ResetTime); OrderDayHistorySaver.Save(_account, instrument, calculator, eachResetHistorySetting, settingInstrument); }
private decimal RecoverOrderDayHistory(DateTime tradeDay, List <Guid> affectedOrders) { var settingInstrument = _setting.GetInstrument(_instrumentId, tradeDay); var instrumentTradeDaySetting = ResetManager.Default.LoadInstrumentHistorySettingAndData(_account.Id, _instrumentId, tradeDay); TradeDayInfo tradeDayInfo = new TradeDayInfo(_account, _instrumentId, tradeDay, instrumentTradeDaySetting, affectedOrders, _setting); var closeQuotation = _InstrumentDayClosePriceFactory.GetQuotation(settingInstrument, tradeDay); TradeDayCalculator tradeDayCalculator = TradeDayCalculatorFactory.CreateForHistoryOrder(tradeDayInfo, closeQuotation); tradeDayCalculator.Calculate(); var resetResults = tradeDayCalculator.ResetResults; if (resetResults == null) { return(0m); } OrderDayHistorySaver.Save(_account, _account.GetInstrument(_instrumentId), tradeDayCalculator, tradeDayInfo, settingInstrument); return(tradeDayCalculator.ValuedPLForBook); }