/// <summary> /// The mean reversion is the theory suggesting that prices and returns eventually move back towards the mean or average. /// </summary> public Mean_Reversion_Indicator Mean_Reversion_Indicator(IDataSeries input, System.Boolean isLongEnabled, System.Boolean isShortEnabled, System.Int32 bollinger_Period, System.Double bollinger_Standard_Deviation, System.Int32 momentum_Period, System.Int32 rSI_Period, System.Int32 rSI_Smooth, System.Int32 rSI_Level_Low, System.Int32 rSI_Level_High, System.Int32 momentum_Level_Low, System.Int32 momentum_Level_High) { var indicator = CachedCalculationUnits.GetCachedIndicator <Mean_Reversion_Indicator>(input, i => i.IsLongEnabled == isLongEnabled && i.IsShortEnabled == isShortEnabled && i.Bollinger_Period == bollinger_Period && Math.Abs(i.Bollinger_Standard_Deviation - bollinger_Standard_Deviation) <= Double.Epsilon && i.Momentum_Period == momentum_Period && i.RSI_Period == rSI_Period && i.RSI_Smooth == rSI_Smooth && i.RSI_Level_Low == rSI_Level_Low && i.RSI_Level_High == rSI_Level_High && i.Momentum_Level_Low == momentum_Level_Low && i.Momentum_Level_High == momentum_Level_High); if (indicator != null) { return(indicator); } indicator = new Mean_Reversion_Indicator { BarsRequired = BarsRequired, CalculateOnBarClose = CalculateOnBarClose, Input = input, IsLongEnabled = isLongEnabled, IsShortEnabled = isShortEnabled, Bollinger_Period = bollinger_Period, Bollinger_Standard_Deviation = bollinger_Standard_Deviation, Momentum_Period = momentum_Period, RSI_Period = rSI_Period, RSI_Smooth = rSI_Smooth, RSI_Level_Low = rSI_Level_Low, RSI_Level_High = rSI_Level_High, Momentum_Level_Low = momentum_Level_Low, Momentum_Level_High = momentum_Level_High }; indicator.SetUp(); CachedCalculationUnits.AddIndicator2Cache(indicator); return(indicator); }
/// <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); }
/// <summary> /// Provides a signal in every even minute /// </summary> public DummyOneMinuteEven_Indicator DummyOneMinuteEven_Indicator(IDataSeries input) { var indicator = CachedCalculationUnits.GetCachedIndicator <DummyOneMinuteEven_Indicator>(input); if (indicator != null) { return(indicator); } indicator = new DummyOneMinuteEven_Indicator { BarsRequired = BarsRequired, CalculateOnBarClose = CalculateOnBarClose, Input = input }; indicator.SetUp(); CachedCalculationUnits.AddIndicator2Cache(indicator); return(indicator); }
/// <summary> /// Basic indicator example for SMA crossover /// </summary> public Example_Indicator_SMA_CrossOver_Basic Example_Indicator_SMA_CrossOver_Basic(IDataSeries input) { var indicator = CachedCalculationUnits.GetCachedIndicator <Example_Indicator_SMA_CrossOver_Basic>(input); if (indicator != null) { return(indicator); } indicator = new Example_Indicator_SMA_CrossOver_Basic { RequiredBarsCount = RequiredBarsCount, CalculateOnClosedBar = CalculateOnClosedBar, InSeries = input }; indicator.SetUp(); CachedCalculationUnits.AddIndicator2Cache(indicator); return(indicator); }
/// <summary> /// Compare the current value of an indicator to latest high value of the indicator in a defined period of time. /// </summary> public HighestHighValue_Indicator HighestHighValue_Indicator(IDataSeries input) { var indicator = CachedCalculationUnits.GetCachedIndicator <HighestHighValue_Indicator>(input); if (indicator != null) { return(indicator); } indicator = new HighestHighValue_Indicator { BarsRequired = BarsRequired, CalculateOnBarClose = CalculateOnBarClose, Input = input }; indicator.SetUp(); CachedCalculationUnits.AddIndicator2Cache(indicator); return(indicator); }
/// <summary> /// Plots the Fibonacci Lines of the current session., /// </summary> public Fibonacci_Current_Session Fibonacci_Current_Session(IDataSeries input) { var indicator = CachedCalculationUnits.GetCachedIndicator <Fibonacci_Current_Session>(input); if (indicator != null) { return(indicator); } indicator = new Fibonacci_Current_Session { BarsRequired = BarsRequired, CalculateOnBarClose = CalculateOnBarClose, Input = input }; indicator.SetUp(); CachedCalculationUnits.AddIndicator2Cache(indicator); return(indicator); }
/// <summary> /// This indicator finds the high and low value in a dedicated timeframe. /// </summary> public FindHighLowTimeFrame_Indicator FindHighLowTimeFrame_Indicator(IDataSeries input) { var indicator = CachedCalculationUnits.GetCachedIndicator <FindHighLowTimeFrame_Indicator>(input); if (indicator != null) { return(indicator); } indicator = new FindHighLowTimeFrame_Indicator { BarsRequired = BarsRequired, CalculateOnBarClose = CalculateOnBarClose, Input = input }; indicator.SetUp(); CachedCalculationUnits.AddIndicator2Cache(indicator); return(indicator); }
/// <summary> /// Umkehrstab für nächste Periode /// </summary> public Reversal2NextBar_Indicator Reversal2NextBar_Indicator(IDataSeries input) { var indicator = CachedCalculationUnits.GetCachedIndicator <Reversal2NextBar_Indicator>(input); if (indicator != null) { return(indicator); } indicator = new Reversal2NextBar_Indicator { BarsRequired = BarsRequired, CalculateOnBarClose = CalculateOnBarClose, Input = input }; indicator.SetUp(); CachedCalculationUnits.AddIndicator2Cache(indicator); return(indicator); }
/// <summary> /// Changes the quantity of an order by clicking on the chart. /// </summary> public ChangeQuantity ChangeQuantity(IDataSeries input) { var indicator = CachedCalculationUnits.GetCachedIndicator <ChangeQuantity>(input); if (indicator != null) { return(indicator); } indicator = new ChangeQuantity { BarsRequired = BarsRequired, CalculateOnBarClose = CalculateOnBarClose, Input = input }; indicator.SetUp(); CachedCalculationUnits.AddIndicator2Cache(indicator); return(indicator); }
/// <summary> /// Adds an instrument to a static list (e.g. watchlist) by clicking on a button in the chart. /// </summary> public QuickAdd QuickAdd(IDataSeries input) { var indicator = CachedCalculationUnits.GetCachedIndicator <QuickAdd>(input); if (indicator != null) { return(indicator); } indicator = new QuickAdd { BarsRequired = BarsRequired, CalculateOnBarClose = CalculateOnBarClose, Input = input }; indicator.SetUp(); CachedCalculationUnits.AddIndicator2Cache(indicator); return(indicator); }
/// <summary> /// Show seasonal trends /// </summary> public Seasonal_Indicator Seasonal_Indicator(IDataSeries input, SeasonalType seasonalType) { var indicator = CachedCalculationUnits.GetCachedIndicator <Seasonal_Indicator>(input, i => i.SeasonalType == seasonalType); if (indicator != null) { return(indicator); } indicator = new Seasonal_Indicator { BarsRequired = BarsRequired, CalculateOnBarClose = CalculateOnBarClose, Input = input, SeasonalType = seasonalType }; indicator.SetUp(); CachedCalculationUnits.AddIndicator2Cache(indicator); return(indicator); }
/// <summary> /// Qualitative Quantitative Estimation. QQE is a combination moving average RSI + ATR. /// </summary> public QQE QQE(IDataSeries input, System.Int32 rSI_Period, System.Int32 sF) { var indicator = CachedCalculationUnits.GetCachedIndicator <QQE>(input, i => i.RSI_Period == rSI_Period && i.SF == sF); if (indicator != null) { return(indicator); } indicator = new QQE { BarsRequired = BarsRequired, CalculateOnBarClose = CalculateOnBarClose, Input = input, RSI_Period = rSI_Period, SF = sF }; indicator.SetUp(); CachedCalculationUnits.AddIndicator2Cache(indicator); return(indicator); }
/// <summary> /// Enter the description for the new custom indicator here /// </summary> public RunningWithTheWolves_Indicator RunningWithTheWolves_Indicator(IDataSeries input, System.Boolean shouldIGoLong, System.Boolean shouldIGoShort) { var indicator = CachedCalculationUnits.GetCachedIndicator <RunningWithTheWolves_Indicator>(input, i => i.ShouldIGoLong == shouldIGoLong && i.ShouldIGoShort == shouldIGoShort); if (indicator != null) { return(indicator); } indicator = new RunningWithTheWolves_Indicator { BarsRequired = BarsRequired, CalculateOnBarClose = CalculateOnBarClose, Input = input, ShouldIGoLong = shouldIGoLong, ShouldIGoShort = shouldIGoShort }; indicator.SetUp(); CachedCalculationUnits.AddIndicator2Cache(indicator); return(indicator); }
/// <summary> /// Prüft auf Gap und ob die nachfolgenden 15Mins Kerzen den Gap verstärken oder aufheben /// </summary> public ShowGap_Indicator ShowGap_Indicator(IDataSeries input, System.Decimal punkteGapMinProz, System.Decimal punkteGapMaxProz) { var indicator = CachedCalculationUnits.GetCachedIndicator <ShowGap_Indicator>(input, i => i.PunkteGapMinProz == punkteGapMinProz && i.PunkteGapMaxProz == punkteGapMaxProz); if (indicator != null) { return(indicator); } indicator = new ShowGap_Indicator { BarsRequired = BarsRequired, CalculateOnBarClose = CalculateOnBarClose, Input = input, PunkteGapMinProz = punkteGapMinProz, PunkteGapMaxProz = punkteGapMaxProz }; indicator.SetUp(); CachedCalculationUnits.AddIndicator2Cache(indicator); return(indicator); }
/// <summary> /// PopGun Bar Pattern /// </summary> public PopGun_Indicator PopGun_Indicator(IDataSeries input, System.Int32 popGunExpires, System.Boolean isSnapshotActive, System.Boolean isEvaluationActive) { var indicator = CachedCalculationUnits.GetCachedIndicator <PopGun_Indicator>(input, i => i.PopGunExpires == popGunExpires && i.IsSnapshotActive == isSnapshotActive && i.IsEvaluationActive == isEvaluationActive); if (indicator != null) { return(indicator); } indicator = new PopGun_Indicator { BarsRequired = BarsRequired, CalculateOnBarClose = CalculateOnBarClose, Input = input, PopGunExpires = popGunExpires, IsSnapshotActive = isSnapshotActive, IsEvaluationActive = isEvaluationActive }; indicator.SetUp(); CachedCalculationUnits.AddIndicator2Cache(indicator); return(indicator); }