Nesting indicator data in a robot
            
                 21 Jul 2014, 19:16
            
                    
Just want to start off by saying that cAlgo rocks! Hats off to all the developers. cAlgo is a traders wet dream. Unfortunately this is a point of frustration with me because I'm not up to speed with cBot construction and the unbelievable potential continues to stare me in the face.
I've developed a bot that I'm incredible happy with but it needs refinement I want to develop more error management to minimize poor entry and or correct direction. This process has led me to using nested indicators. I want to create a VIDYA data series that uses a Welles Wilder Smoothing data series as its data source. I see how it is done when building an indicator but not how to do it with a bot.
I'm sure the process is simple...I just need a little nudge in the right direction.
using System;
using System.Linq;
using cAlgo.API;
using cAlgo.API.Indicators;
using cAlgo.API.Internals;
using cAlgo.Indicators;
namespace cAlgo
{
    [Robot(TimeZone = TimeZones.UTC, AccessRights = AccessRights.None)]
    public class swtBot : Robot
    {
        [Parameter("Wilder Smoothing")]
        public MovingAverageType MAType { get; set; }
        [Parameter("Wild Data")]
        public DataSeries OpenSourceSeries { get; set; }
        [Parameter("Wild Slow Periods", DefaultValue = 30)]
        public int SlowPeriods { get; set; }
        [Parameter("Wild Fast Periods", DefaultValue = 20)]
        public int FastPeriods { get; set; }
        [Parameter("VIDYA Period", DefaultValue = 30)]
        public int vidPeriod { get; set; }
        [Parameter("VIDYA Sigma", DefaultValue = 0.65, MinValue = 0.1, MaxValue = 0.95)]
        public double vidSigma { get; set; }
        //private IndicatorDataSeries wilderDataSeries;
        private Vidya vidya;
        private MovingAverage openMa;
        private const string label = "booger";
        protected override void OnStart()
        {
            slowMa = Indicators.MovingAverage(OpenSourceSeries, SlowPeriods, MAType);
            fastMa = Indicators.MovingAverage(OpenSourceSeries, FastPeriods, MAType);
            vidya = Indicators.Vidya(slowMa, vidPeriod, vidSigma);
           
        }

Spotware
22 Jul 2014, 11:03
RE:
Hi clydeboo.
You have to pass data series of indicator: slowMa.Result
protected override void OnStart() { slowMa = Indicators.MovingAverage(OpenSourceSeries, SlowPeriods, MAType); fastMa = Indicators.MovingAverage(OpenSourceSeries, FastPeriods, MAType); vidya = Indicators.Vidya(slowMa.Result, vidPeriod, vidSigma); }clydeboo said:
@Spotware