コード例 #1
0
            public void ValuesAreNotEqual_returnsFalse()
            {
                var value1 = new Lib.RSIValue(1M, 2M, 4);
                var value2 = new Lib.RSIValue(1M, 3M, 4);

                Assert.False(value1.Equals(value2));
            }
コード例 #2
0
            public void ValuesAreEqual_returnsTrue()
            {
                var value1 = new Lib.RSIValue(1M, 2M, 4);
                var value2 = new Lib.RSIValue(1M, 2M, 4);

                Assert.True(value1.Equals(value2));
            }
コード例 #3
0
            public void PreviousRSIPassedWithCandlestick_RSIGetsCalculated()
            {
                var expected   = new Lib.RSIValue(0.5430M, 0.5771M, 4);
                var calculator = new Lib.RSICalculator(MIN_SAMPLES);
                var actual     = calculator.CalculateNextValue(new Lib.RSIValue(0.5848M, 0.5446M, 4), new Lib.Candlestick(2M, 1M));

                Assert.Equal(expected, actual);
            }
コード例 #4
0
            public void AverageLoss0_SetToMinimumNon0ValueForPrecision()
            {
                var value = new Lib.RSIValue(1M, 0M, 4);

                Assert.Equal(1M, value.AverageGain);
                Assert.Equal(0.0001M, value.AverageLoss);
                Assert.Equal(10000M, value.RS);
                Assert.Equal(99.990M, value.RSI);
            }
コード例 #5
0
            public void Precision0_setToMax28()
            {
                var value = new Lib.RSIValue(1M, 2M, 0);

                Assert.Equal(1M, value.AverageGain);
                Assert.Equal(2M, value.AverageLoss);
                Assert.Equal(0.5M, value.RS);
                Assert.Equal(33.333333333333333333333333333M, value.RSI);
            }
コード例 #6
0
            public void DataSet_propertiesSet()
            {
                var value = new Lib.RSIValue(1M, 2M, 4);

                Assert.Equal(1M, value.AverageGain);
                Assert.Equal(2M, value.AverageLoss);
                Assert.Equal(0.5M, value.RS);
                Assert.Equal(33.333M, value.RSI);
            }
コード例 #7
0
            public void DataArraySet_RSIValueGetsCalculated()
            {
                var expected    = new Lib.RSIValue(0.5848M, 0.5446M, 4);
                var differences = new decimal[] {
                    1.0000M, -0.6875M, 0.5000M, -2.0000M, -0.6875M,
                    0.3750M, 1.1250M, 2.0625M, -0.2500M, -0.5625M,
                    -2.4375M, 1.7500M, 1.3750M, -1.0000M
                };
                var calculator = new Lib.RSICalculator(14);
                var actual     = calculator.CalculateInitialValue(differences);

                Assert.Equal(expected, actual);
            }
コード例 #8
0
            public void CandlesticksSet_RSIValueGetsCalculated()
            {
                var expected     = new Lib.RSIValue(0.5848M, 0.5446M, 4);
                var candlesticks = new Lib.Candlestick[] {
                    new Lib.Candlestick(10M, 11M), new Lib.Candlestick(11M, 10.3125M), new Lib.Candlestick(10.3125M, 10.8125M),
                    new Lib.Candlestick(10.8125M, 8.8125M), new Lib.Candlestick(8.8125M, 8.125M), new Lib.Candlestick(8.125M, 8.5M),
                    new Lib.Candlestick(8.5M, 9.625M), new Lib.Candlestick(9.625M, 11.6875M), new Lib.Candlestick(11.6875M, 11.4375M),
                    new Lib.Candlestick(11.4375M, 10.875M), new Lib.Candlestick(10.875M, 8.4375M), new Lib.Candlestick(8.4375M, 10.1875M),
                    new Lib.Candlestick(10.1875M, 11.5625M), new Lib.Candlestick(11.5625M, 10.5625M)
                };
                var calculator = new Lib.RSICalculator(14);
                var actual     = calculator.CalculateInitialValue(candlesticks);

                Assert.Equal(expected, actual);
            }