Beispiel #1
0
        public void GivenIHaveTheWashTradeRuleParameterValues(Table ruleParameters)
        {
            if (ruleParameters.RowCount != 1)
            {
                this._scenarioContext.Pending();
                return;
            }

            var parameters = ruleParameters.CreateInstance <WashTradeApiParameters>();

            this._washTradeRuleEquitiesParameters = new WashTradeRuleEquitiesParameters(
                "0",
                new TimeSpan(parameters.WindowHours, 0, 0),
                parameters.UseAverageNetting.GetValueOrDefault(false),
                parameters.UseClustering.GetValueOrDefault(false),
                parameters.MinimumNumberOfTrades,
                parameters.MaximumPositionChangeValue,
                parameters.MaximumAbsoluteValueChange,
                parameters.MaximumAbsoluteValueChangeCurrency,
                parameters.ClusteringPositionMinimumNumberOfTrades,
                parameters.ClusteringPercentageValueDifferenceThreshold,
                new[] { ClientOrganisationalFactors.None },
                true,
                true);
        }
Beispiel #2
0
        public void Tuner_AdjustWashTradeField_AsExpected()
        {
            var tuner = new RuleParameterTuner(this._logger);

            var ruleParameters = new WashTradeRuleEquitiesParameters(
                "id",
                TimeSpan.FromHours(1),
                true,
                true,
                2,
                8,
                0.3m,
                "GBP",
                4,
                0.2m,
                null,
                true,
                true);

            var result = tuner.ParametersFramework(ruleParameters);

            Assert.That(result, Is.Not.Null);
            Assert.That(result.Count, Is.EqualTo(31));
        }