3 RSI in same windows not working properly. Please fix this bug!

Created at 30 Sep 2016, 18:47
How’s your experience with the cTrader Platform?
Your feedback is crucial to cTrader's development. Please take a few seconds to share your opinion and help us improve your trading experience. Thanks!
JH

jhakesean

Joined 26.09.2016

3 RSI in same windows not working properly. Please fix this bug!
30 Sep 2016, 18:47


  • 3 RSI in same windows not working properly. Sometimes 1 or 2 RSI are updating. It should be 3 RSI. 
  • I want to display the labels as whole number not double/floating number. 
  • Why this indicator is so slow upon loading?

Please fix this bug!

 

using System;
using cAlgo.API;
using cAlgo.API.Internals;
using cAlgo.API.Indicators;
using cAlgo.Indicators;

namespace cAlgo
{

    [Levels(70, 50, 30)]
    [Indicator(IsOverlay = false, TimeZone = TimeZones.UTC, AccessRights = AccessRights.None)]
    public class TripleRSI : Indicator
    {

        [Parameter(DefaultValue = 9)]
        public int Periods_5M { get; set; }

        [Parameter(DefaultValue = 9)]
        public int Periods_15M { get; set; }

        [Parameter(DefaultValue = 9)]
        public int Periods_30M { get; set; }

        [Output("RSI-5M", Color = Colors.Blue)]
        public IndicatorDataSeries RSI_5M { get; set; }

        [Output("RSI-15M", Color = Colors.Red)]
        public IndicatorDataSeries RSI_15M { get; set; }

        [Output("RSI-30M", Color = Colors.Green)]
        public IndicatorDataSeries RSI_30M { get; set; }

        private MarketSeries series5M;
        private MarketSeries series15M;
        private MarketSeries series30M;

        private RelativeStrengthIndex _rsi5M;
        private RelativeStrengthIndex _rsi15M;
        private RelativeStrengthIndex _rsi30M;

        protected override void Initialize()
        {
            series5M = MarketData.GetSeries(TimeFrame.Minute5);
            series15M = MarketData.GetSeries(TimeFrame.Minute15);
            series30M = MarketData.GetSeries(TimeFrame.Minute30);

            _rsi5M = Indicators.RelativeStrengthIndex(series5M.Close, Periods_5M);
            _rsi15M = Indicators.RelativeStrengthIndex(series15M.Close, Periods_15M);
            _rsi30M = Indicators.RelativeStrengthIndex(series30M.Close, Periods_30M);

        }
        public override void Calculate(int index)
        {
            RSI_5M[index] = _rsi5M.Result[index];

            RSI_15M[index] = _rsi15M.Result[index];

            RSI_30M[index] = _rsi30M.Result[index];
        }
    }
}

 


@jhakesean