コード例 #1
0
 public static void Set(this MOParams moParams, string paramName, int paramValue)
 {
     moParams.Set(paramName, new MOParamInt()
     {
         Name = paramName, Value = paramValue
     });
 }
コード例 #2
0
 public static void Set(this MOParams moParams, string paramName, double paramValue)
 {
     moParams.Set(paramName, new MOParamDouble()
     {
         Name = paramName, Value = paramValue
     });
 }
コード例 #3
0
 public void LoadParams(MOParams moParams)
 {
     srcParams.Clear();
     foreach (var param in moParams)
     {
         srcParams.Add(new MOParamEditMapper(param.Clone()));
     }
 }
コード例 #4
0
        private string GetStatHeaderParams(MOParams statParams)
        {
            List <string> values = new List <string>();

            foreach (MOParam param in statParams)
            {
                values.Add(param.Value.ToString());
            }
            return(string.Join(",", values));
        }
コード例 #5
0
        public void SaveParams(MOParams moParams)
        {
            var list = srcParams.GetEnumerator();

            while (list.MoveNext())
            {
                MOParamEditMapper paramMapper = (MOParamEditMapper)list.Current;
                moParams.Get(paramMapper.Name).ValueString = paramMapper.Value;
            }
        }
コード例 #6
0
        public void Set_String__GetsCorrectValue()
        {
            MOParams     testObj   = new MOParams();
            const string testValue = "abcdefkgofdsa dfgsdfg";

            testObj.Set("test", new MOParamString()
            {
                Value = testValue
            });
            testObj.Get("test").As <string>().ShouldBe(testValue);
        }
コード例 #7
0
        public void Set_Double__GetsCorrectValue()
        {
            MOParams     testObj   = new MOParams();
            const double testValue = 123.123;

            testObj.Set("test", new MOParamDouble()
            {
                Value = testValue
            });
            testObj.Get("test").As <double>().ShouldBe(testValue);
        }
コード例 #8
0
        public void Set_Float__GetsCorrectValue()
        {
            MOParams    testObj   = new MOParams();
            const float testValue = 123.123f;

            testObj.Set("test", new MOParamFloat()
            {
                Value = testValue
            });
            testObj.Get("test").As <float>().ShouldBe(testValue);
        }
コード例 #9
0
        public void Set_Int__GetsCorrectValue()
        {
            MOParams  testObj   = new MOParams();
            const int testValue = 123;

            testObj.Set("test", new MOParamInt()
            {
                Value = testValue
            });
            testObj.Get("test").As <int>().ShouldBe(testValue);
        }
コード例 #10
0
        public void UpdateValue__GetsCorrectValue()
        {
            MOParams  testObj = new MOParams();
            const int val1    = 123;
            const int val2    = 987;

            testObj.Set("test", new MOParamInt()
            {
                Value = val1
            });
            testObj.Get("test").As <int>().ShouldBe(val1);
            testObj.Set("test", new MOParamInt()
            {
                Value = val2
            });
            testObj.Get("test").As <int>().ShouldBe(val2);
        }
コード例 #11
0
        public void Set_TwoDifferentParams__GetsCorrectValues()
        {
            MOParams  testObj = new MOParams();
            const int val1    = 123;
            const int val2    = 987;

            testObj.Set("param1", new MOParamInt()
            {
                Value = val1
            });
            testObj.Set("param2", new MOParamInt()
            {
                Value = val2
            });
            testObj.Get("param1").As <int>().ShouldBe(val1);
            testObj.Get("param2").As <int>().ShouldBe(val2);
        }
コード例 #12
0
        public void Get_NotExistingParam__Throws()
        {
            MOParams testObj = new MOParams();

            Should.Throw <Exception>(() => testObj.Get("notexistingparam"));
        }
コード例 #13
0
        public SignalsSimplexMultiFunds(ISystemDataLoader dataLoader, IStockDataProvider dataProvider, ISystemExecutionLogger systemExecutionLogger, MOParams systemParams)
        {
            _avgProfitRange            = systemParams.Get(SimplexMultiFundsParams.AvgProfitRange).As <int>();
            _avgChangeRange            = systemParams.Get(SimplexMultiFundsParams.AvgChangeRange).As <int>();
            _acceptableSingleDD        = systemParams.Get(SimplexMultiFundsParams.AcceptableSingleDD).As <double>();
            _riskSigmaMultiplier       = systemParams.Get(SimplexMultiFundsParams.RiskSigmaMultiplier).As <double>();
            _maxSinglePositionSize     = systemParams.Get(SimplexMultiFundsParams.MaxSinglePositionSize).As <double>();
            _maxPortfolioRisk          = systemParams.Get(SimplexMultiFundsParams.MaxPortfolioRisk).As <double>();
            _truncateBalanceToNthPlace = systemParams.Get(SimplexMultiFundsParams.TruncateBalanceToNthPlace).As <int>();

            _aggressiveFunds = _fundsNames.Select((_, i) => i > 0).ToArray();
            if (_fundsNames.Length != _aggressiveFunds.Length)
            {
                throw new Exception("_fundsNames != _aggressiveFunds");
            }

            _dataLoader            = dataLoader;
            _systemExecutionLogger = systemExecutionLogger;
            _dataRange             = StockDataRange.Monthly;
            _fundsData             = new SimplexFundsData(_fundsNames.Length);
            SimplexFundsDataCalculator.Initialize(_fundsData, _fundsNames, dataProvider);
        }
コード例 #14
0
 public void SetUp()
 {
     testObj = new MOParams();
 }