コード例 #1
0
        private int CheckEnterCondition(string name, float candleClose)
        {
            var currentPair  = new PriceRsi(candleClose, null);
            var currentPairs = rsiClosePairs[name];

            currentPairs.Add(currentPair);
            if (currentPairs.Length < currentPairs.MaxQueueLength)
            {
                return(0);
            }

            currentPair.Rsi = CalculateRsi(currentPairs);

            for (var i = M; i < N; i++)
            {
                var previousPair = currentPairs.ElementAt(currentPairs.MaxQueueLength - i - 1);
                if (!previousPair.Rsi.HasValue)
                {
                    continue;
                }

                var diffClose = Math.Sign(currentPair.Price - previousPair.Price);
                var diffRsi   = Math.Sign(currentPair.Rsi.Value - previousPair.Rsi.Value);

                if (diffClose == diffRsi || diffRsi == 0)
                {
                    continue;
                }

                return(diffRsi);
            }

            return(0);
        }
コード例 #2
0
        private int CheckEnterCondition(string name, float candleClose)
        {
            var currentPair = new PriceRsi(candleClose, null);
            var currentPairs = rsiClosePairs[name];
            currentPairs.Add(currentPair);
            if (currentPairs.Length < currentPairs.MaxQueueLength)
                return 0;

            currentPair.Rsi = CalculateRsi(currentPairs);

            for (var i = M; i < N; i++)
            {
                var previousPair = currentPairs.ElementAt(currentPairs.MaxQueueLength - i - 1);
                if (!previousPair.Rsi.HasValue)
                    continue;

                var diffClose = Math.Sign(currentPair.Price - previousPair.Price);
                var diffRsi = Math.Sign(currentPair.Rsi.Value - previousPair.Rsi.Value);

                if (diffClose == diffRsi || diffRsi == 0)
                    continue;

                return diffRsi;
            }

            return 0;
        }