public void GivenTheHighProfitCoreSettings(Table table) { var config = table.Rows.First(); var dto = new HighProfitsRuleParameterDto { Id = RuleRunner.RuleId, OrganisationalFactors = new[] { OrganisationalFactors.None } }; dto.HighProfitPercentageThreshold = Convert.ToDecimal(config.ValueOrNull("ProfitThresholdPercent")) / 100; switch (config.ValueOrNull("PriceType")) { case "Close": dto.PerformHighProfitDailyAnalysis = true; break; case "Spot": dto.PerformHighProfitWindowAnalysis = true; break; } dto.WindowSize = RuleParameterHelpers.ToWindowSize(config.ValueOrNull("ForwardWindow")); dto.ForwardWindow = RuleParameterHelpers.ToWindowSize(config.ValueOrNull("BackwardWindow")); _ruleRunner.RuleParameterDto.HighProfits = dto.CreateArray(); _ruleRunner.RuleType = Rules.HighProfits; }
public void GivenTheHighVolumeCoreSettings(Table table) { var config = table.Rows.First(); var dto = new HighVolumeRuleParameterDto { Id = RuleRunner.RuleId, OrganisationalFactors = new[] { OrganisationalFactors.None } }; var volumeType = config.ValueOrNull("VolumeType"); if (volumeType == "Daily") { dto.WindowSize = RuleParameterHelpers.ToWindowSize("1 day"); dto.HighVolumePercentageDaily = Convert.ToDecimal(config.ValueOrNull("VolumePercentage")) / 100; } _ruleRunner.RuleParameterDto.HighVolumes = dto.CreateArray(); _ruleRunner.RuleType = Rules.HighVolume; }
public void GivenTheWashTradeCoreSettings(Table table) { var config = table.Rows.First(); var dto = new WashTradeRuleParameterDto { Id = RuleRunner.RuleId, OrganisationalFactors = new[] { OrganisationalFactors.None } }; dto.WindowSize = RuleParameterHelpers.ToWindowSize(config.ValueOrNull("TimeWindow")); var analysePositionsBy = config.ValueOrNull("AnalysePositionsBy"); if (analysePositionsBy == "Average") { dto.PerformAveragePositionAnalysis = true; dto.AveragePositionMinimumNumberOfTrades = Convert.ToInt32(config.ValueOrNull("MinNumberOfTrades")); dto.AveragePositionMaximumPositionValueChange = Convert.ToDecimal(config.ValueOrNull("MaxValueChangePercent")) / 100; } _ruleRunner.RuleParameterDto.WashTrades = dto.CreateArray(); _ruleRunner.RuleType = Rules.WashTrade; }