Ejemplo n.º 1
0
        private void Calculations()
        {
            // Set Formula Name
            string           formulaName = FormulaName.SelectedItem.Value;
            FinancialFormula formula     = (FinancialFormula)Enum.Parse(typeof(FinancialFormula), formulaName, true);


            // Easy of movement
            if (formulaName == "EaseOfMovement")
            {
                Chart1.DataManipulator.FinancialFormula(formula, "Input:Y,Input:Y2,Volume", "Indicators");
            }
            // Money Flow
            else if (formulaName == "MoneyFlow")
            {
                Chart1.DataManipulator.FinancialFormula(formula, "20", "Input:Y,Input:Y2,Input:Y4,Volume", "Indicators");
                Chart1.ChartAreas["Indicator"].AxisX.Minimum = DateTime.Parse("1/1/2002").ToOADate();
            }
            // Chaikin Oscillator
            else if (formulaName == "ChaikinOscillator")
            {
                Chart1.DataManipulator.FinancialFormula(formula, "5,12", "Input:Y,Input:Y2,Input:Y4,Volume", "Indicators");
                Chart1.ChartAreas["Indicator"].AxisX.Minimum = DateTime.Parse("1/1/2002").ToOADate();
            }
            // Formulas which use one price and volume.
            else if (formulaName == "NegativeVolumeIndex" || formulaName == "OnBalanceVolume" || formulaName == "PositiveVolumeIndex" || formulaName == "PriceVolumeTrend")
            {
                Chart1.DataManipulator.FinancialFormula(formula, "100", "Input:Y4,Volume", "Indicators");
            }
            // All other formulas.
            else
            {
                Chart1.DataManipulator.FinancialFormula(formula, "Input:Y,Input:Y2,Input:Y4,Volume", "Indicators");
            }
        }
Ejemplo n.º 2
0
 public MovingAverage(int period, Color color, FinancialFormula type, String price, Boolean isShown)
 {
     this.Period  = period;
     this.Color   = color;
     this.Type    = type;
     this.Price   = price;
     this.IsShown = isShown;
 }
Ejemplo n.º 3
0
 public MovingAverage(int period, Color color, FinancialFormula type, String price, Boolean isShown)
 {
     this.Period = period;
     this.Color = color;
     this.Type = type;
     this.Price = price;
     this.IsShown = isShown;
 }
Ejemplo n.º 4
0
        /// <summary>
        /// This method calculates Envelopes or Bollinger Bands
        /// formulas
        /// </summary>
        private void Calculations()
        {
            // Set Formula Name
            string           formulaName = FormulaName.SelectedItem.Value;
            FinancialFormula formula     = (FinancialFormula)Enum.Parse(typeof(FinancialFormula), formulaName, true);


            // Formulas with one input value
            Chart1.DataManipulator.FinancialFormula(FinancialFormula.MovingAverage, "10", "Input:Y", "Moving Average");

            // Bollinger Bands
            if (formulaName == "BollingerBands")
            {
                Chart1.DataManipulator.FinancialFormula(formula, "10,2", "Input:Y", "Indicators,Indicators:Y2");
            }
            // Envelopes
            else if (formulaName == "Envelopes")
            {
                Chart1.DataManipulator.FinancialFormula(formula, "10,5", "Input:Y", "Indicators,Indicators:Y2");
            }
        }
Ejemplo n.º 5
0
 public void FormulaFinancial(FinancialFormula formulaName, string inputSeries, string outputSeries)
 {
     Formula(formulaName.ToString(), "", inputSeries, outputSeries);
 }
Ejemplo n.º 6
0
 public void FormulaFinancial(FinancialFormula formulaName, string parameters, Series inputSeries, Series outputSeries)
 {
     Formula(formulaName.ToString(), parameters, inputSeries.Name, outputSeries.Name);
 }
Ejemplo n.º 7
0
        /// <summary>
        /// This method calculates a different indicator if corresponding
        /// item in the combo box is selected.
        /// </summary>
        private void Calculations()
        {
            // Set defaults
            chart1.ChartAreas["Indicator"].AxisY.StripLines.Clear();
            chart1.ChartAreas["Indicator"].AxisY.Minimum = double.NaN;
            chart1.ChartAreas["Indicator"].AxisY.Maximum = double.NaN;
            try
            {
                chart1.Series["SMA"].ChartArea = "";
            }
            catch {}

            // Set Formula Name
            string           formulaName = comboBoxFormulaName.Text;
            FinancialFormula formula     = (FinancialFormula)Enum.Parse(typeof(FinancialFormula), formulaName, true);

            // Formulas with one input value
            if (formulaName == "DetrendedPriceOscillator" || formulaName == "MovingAverageConvergenceDivergence" || formulaName == "Performance" || formulaName == "RateOfChange" ||
                formulaName == "TripleExponentialMovingAverage")
            {
                chart1.DataManipulator.FinancialFormula(formula, "10", "Input:Y4", "Indicators");
            }

            // Relative Strength Index
            else if (formulaName == "RelativeStrengthIndex")
            {
                chart1.DataManipulator.FinancialFormula(formula, "10", "Input:Y4", "Indicators");

                // Set minimum and maximum for Y axis
                chart1.ChartAreas["Indicator"].AxisY.Minimum = 0;
                chart1.ChartAreas["Indicator"].AxisY.Maximum = 100;

                // Create strip lines used with Relative strength index.
                StripLine stripLine = new StripLine();
                chart1.ChartAreas["Indicator"].AxisY.StripLines.Add(stripLine);
                stripLine.Interval   = 70;
                stripLine.StripWidth = 30;
                stripLine.BackColor  = Color.FromArgb(64, 165, 191, 228);
            }
            // Williams %R
            else if (formulaName == "WilliamsR")
            {
                chart1.DataManipulator.FinancialFormula(formula, "Input:Y,Input:Y2,Input:Y4", "Indicators");

                // Set minimum and maximum for Y axis
                chart1.ChartAreas["Indicator"].AxisY.Minimum = -100;
                chart1.ChartAreas["Indicator"].AxisY.Maximum = 0;

                // Create strip lines used with Williams %R index.
                StripLine stripLine = new StripLine();
                chart1.ChartAreas["Indicator"].AxisY.StripLines.Add(stripLine);
                stripLine.Interval   = 80;
                stripLine.StripWidth = 20;
                stripLine.BackColor  = Color.FromArgb(64, 165, 191, 228);
            }
            // Formulas with two input value
            else if (formulaName == "MassIndex" || formulaName == "VolatilityChaikins" || formulaName == "Performance")
            {
                chart1.DataManipulator.FinancialFormula(formula, "20", "Input:Y,Input:Y2", "Indicators");
            }
            // Standard deviation
            else if (formulaName == "StandardDeviation")
            {
                chart1.DataManipulator.FinancialFormula(formula, "15", "Input:Y4", "Indicators");
            }
            // StochasticIndicator
            else if (formulaName == "StochasticIndicator")
            {
                chart1.DataManipulator.FinancialFormula(formula, "15", "Input:Y,Input:Y2,Input:Y4", "Indicators,SMA");

                // Set attributes for Simple moving average series.
                chart1.Series["SMA"].ChartType   = SeriesChartType.Line;
                chart1.Series["SMA"].Color       = Color.FromArgb(252, 180, 65);
                chart1.Series["SMA"].ChartArea   = "Indicator";
                chart1.Series["SMA"].BorderWidth = 2;
            }
            // All other formulas.
            else
            {
                chart1.DataManipulator.FinancialFormula(formula, "Input:Y,Input:Y2,Input:Y4", "Indicators");
            }

            // Set minimum for X axis
            chart1.ChartAreas["Indicator"].AxisX.Minimum = DateTime.Parse("1/1/2002").ToOADate();

            chart1.Invalidate();
        }
Ejemplo n.º 8
0
 public MSChartAverageItem(string display, string serieName, FinancialFormula formula)
 {
     Formula   = formula;
     Display   = display;
     SerieName = serieName;
 }
Ejemplo n.º 9
0
		public void FinancialFormula(FinancialFormula formulaName, string parameters, Series inputSeries, Series outputSeries)
		{
			throw new NotImplementedException();
		}
Ejemplo n.º 10
0
		public void FinancialFormula (FinancialFormula formulaName,Series inputSeries)
		{
			throw new NotImplementedException();
		}
Ejemplo n.º 11
0
 public void FormulaFinancial(FinancialFormula formulaName, Series inputSeries, Series outputSeries)
 {
     this.Formula(formulaName.ToString(), "", inputSeries, outputSeries);
 }
Ejemplo n.º 12
0
 public void FormulaFinancial(FinancialFormula formulaName, string parameters, string inputSeries, string outputSeries)
 {
     this.Formula(formulaName.ToString(), parameters, inputSeries, outputSeries);
 }
Ejemplo n.º 13
0
 public void FinancialFormula(FinancialFormula formulaName, string parameters, Series inputSeries, Series outputSeries)
 {
     throw new NotImplementedException();
 }
Ejemplo n.º 14
0
 public void FinancialFormula(FinancialFormula formulaName, Series inputSeries)
 {
     throw new NotImplementedException();
 }
Ejemplo n.º 15
0
 public MSChartAverageItem(string display, string serieName, FinancialFormula formula)
 {
     Formula = formula;
     Display = display;
     SerieName = serieName;
 }