/// <summary>
        /// Basic indicator example for SMA crossover
        /// </summary>
        public Example_Indicator_SMA_CrossOver_Advanced Example_Indicator_SMA_CrossOver_Advanced(IDataSeries input, System.Int32 fastSma, System.Int32 slowSma, System.Boolean isLongEnabled, System.Boolean isShortEnabled)
        {
            var indicator = CachedCalculationUnits.GetCachedIndicator <Example_Indicator_SMA_CrossOver_Advanced>(input, i => i.FastSma == fastSma && i.SlowSma == slowSma && i.IsLongEnabled == isLongEnabled && i.IsShortEnabled == isShortEnabled);

            if (indicator != null)
            {
                return(indicator);
            }

            indicator = new Example_Indicator_SMA_CrossOver_Advanced
            {
                RequiredBarsCount    = RequiredBarsCount,
                CalculateOnClosedBar = CalculateOnClosedBar,
                InSeries             = input,
                FastSma        = fastSma,
                SlowSma        = slowSma,
                IsLongEnabled  = isLongEnabled,
                IsShortEnabled = isShortEnabled
            };
            indicator.SetUp();

            CachedCalculationUnits.AddIndicator2Cache(indicator);

            return(indicator);
        }
コード例 #2
0
        protected override void OnStart()
        {
            base.OnStart();

            //Init our indicator to get code access to the calculate method
            this._Example_Indicator_SMA_CrossOver_Advanced = new Example_Indicator_SMA_CrossOver_Advanced();
        }