コード例 #1
0
        /// <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);
        }
コード例 #3
0
        /// <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);
        }
コード例 #4
0
        /// <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);
        }
コード例 #5
0
        /// <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);
        }
コード例 #6
0
        /// <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);
        }
コード例 #7
0
        /// <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);
        }
コード例 #8
0
        /// <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);
        }
コード例 #9
0
        /// <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);
        }
コード例 #10
0
        /// <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);
        }
コード例 #11
0
        /// <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);
        }
コード例 #13
0
        /// <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);
        }
コード例 #14
0
        /// <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);
        }
コード例 #15
0
        /// <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);
        }