public void ReportPatternStats() { if (Engine.Transactions.Count() == 0) { Engine.MaxProfit = 0; Engine.MinProfit = 0; } string[] stats = { Symbol, Name, Interval, Retention.ToString(), Threshold.ToString(), DefaultStopLossThreshold.ToString(), DynamicStopLossThreshold.ToString(), (Engine.TradeResults.Sum()).ToString(), Engine.TradeResults.Count().ToString(), Engine.MaxProfit.ToString(), Engine.MinProfit.ToString(), Engine.FirstTransactionTime.ToString(), Engine.LastTransactionTime.ToString(), }; string msg = string.Join(",", stats); logger.Stats(msg); }
/// <summary> /// Generate a valuation request for a market and portfolio /// Include any scenarios requested /// </summary> /// <param name="portfolioId"></param> /// <param name="marketName"></param> /// <param name="baseParty"></param> /// <param name="irScenarios">Optional array of IR Stress Scenario names</param> /// <param name="fxScenarios">optional array of FX Stress Scenario names</param> /// <returns></returns> private static PortfolioValuationRequest CreateRequest(string portfolioId, string marketName, string baseParty, string[] irScenarios = null, string[] fxScenarios = null) { // create portfolio valuation request Guid requestId = Guid.NewGuid(); var request = new PortfolioValuationRequest { BaseDate = TestBaseDate, RequestId = requestId.ToString(), Retention = Retention.ToString(), SubmitTime = DateTimeOffset.Now.ToString("o"), RequestDescription = "PV Regression Test", RequesterId = new UserIdentity { Name = Engine.Cache.ClientInfo.Name, DisplayName = "Unit Test Agent" }, PortfolioId = portfolioId, MarketDate = null, MarketName = marketName, ReportingCurrency = "AUD", BaseParty = baseParty, IRScenarioNames = irScenarios, FXScenarioNames = fxScenarios }; return(request); }
/// <summary> /// Adds the options to the list. /// </summary> public virtual void AddToOptionList(OptionList options) { options.Clear(); options["WritingMode"] = WritingMode.ToString(); options["WritingPeriod"] = WritingPeriod.ToString(); options["WritingUnit"] = WritingUnit.ToString(); options["PullToPeriod"] = PullToPeriod.ToString(); options["Retention"] = Retention.ToString(); options["LogEnabled"] = LogEnabled.ToLowerString(); }
/// <summary> /// Adds the options to the list. /// </summary> public virtual void AddToOptionList(OptionList options) { options.Clear(); options["Retention"] = Retention.ToString(); options["LogEnabled"] = LogEnabled.ToLowerString(); }