/// <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); }
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(); }