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"); } }
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; }
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; }
/// <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"); } }
public void FormulaFinancial(FinancialFormula formulaName, string inputSeries, string outputSeries) { Formula(formulaName.ToString(), "", inputSeries, outputSeries); }
public void FormulaFinancial(FinancialFormula formulaName, string parameters, Series inputSeries, Series outputSeries) { Formula(formulaName.ToString(), parameters, inputSeries.Name, outputSeries.Name); }
/// <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(); }
public MSChartAverageItem(string display, string serieName, FinancialFormula formula) { Formula = formula; Display = display; SerieName = serieName; }
public void FinancialFormula(FinancialFormula formulaName, string parameters, Series inputSeries, Series outputSeries) { throw new NotImplementedException(); }
public void FinancialFormula (FinancialFormula formulaName,Series inputSeries) { throw new NotImplementedException(); }
public void FormulaFinancial(FinancialFormula formulaName, Series inputSeries, Series outputSeries) { this.Formula(formulaName.ToString(), "", inputSeries, outputSeries); }
public void FormulaFinancial(FinancialFormula formulaName, string parameters, string inputSeries, string outputSeries) { this.Formula(formulaName.ToString(), parameters, inputSeries, outputSeries); }
public void FinancialFormula(FinancialFormula formulaName, string parameters, Series inputSeries, Series outputSeries) { throw new NotImplementedException(); }
public void FinancialFormula(FinancialFormula formulaName, Series inputSeries) { throw new NotImplementedException(); }
public MSChartAverageItem(string display, string serieName, FinancialFormula formula) { Formula = formula; Display = display; SerieName = serieName; }