public void Add(ChartControl chart, Pane ownerPane) { owner = chart; series = new LineSeries("price changes") { LineColor = ColorLine, ShiftX = Period + 1 }; SeriesResult = new List<Series.Series> { series }; EntitleIndicator(); }
public void Add(ChartControl chart, Pane ownerPane) { owner = chart; seriesRatio = new LineSeries("E-Ratio") { LineColor = Color.Blue, ShiftX = 1, MarkerSpanPoints = 2, MinPixelsBetweenMarkers = 10 }; SeriesResult = new List<Series.Series> { seriesRatio }; // инициализируем индикатор EntitleIndicator(); }
public void Add(ChartControl chart, Pane ownerPane) { owner = chart; // инициализируем индикатор seriesRSI = new LineSeries(Name) { LineColor = LineColor, Transparent = true, ShiftX = 1, DrawShadow = DrawShadow, ShadowWidth = ShadowWidth, ShadowColor = Color.Gray, ShadowAlpha = ShadowAlpha, }; seriesBound = new RegionSeries(Localizer.GetString("TitleRSIBorders")) { DrawAsFrame = true }; SeriesResult = new List<Series.Series> { seriesRSI, seriesBound }; EntitleIndicator(); }
public void Add(ChartControl chart, Pane ownerPane) { owner = chart; // инициализируем индикатор MainLine = new LineSeries(Name + " Main") { LineColor = LineColor1, Transparent = true, ShiftX = 1, DrawShadow = DrawShadow, ShadowWidth = ShadowWidth, ShadowColor = Color.Gray, ShadowAlpha = ShadowAlpha, }; SignalLine = new LineSeries(Name + " Signal") { LineColor = LineColor2, Transparent = true, ShiftX = 1, DrawShadow = DrawShadow, ShadowWidth = ShadowWidth, ShadowColor = Color.Gray, ShadowAlpha = ShadowAlpha, }; FastEMALine = new SeriesData(); SlowEMALine = new SeriesData(); SeriesResult = new List<Series.Series> { MainLine, SignalLine}; EntitleIndicator(); }
public void Add(ChartControl chart, Pane ownerPane) { owner = chart; // инициализируем индикатор EntitleIndicator(); seriesLine = new LineSeries(Name); SeriesResult = new List<Series.Series> { seriesLine }; // цветовая схема ColorLine = IndicatorColorScheme.colorsLine[indicatorThemeIndex]; ColorFill = IndicatorColorScheme.colorsFill[indicatorThemeIndex++]; if (indicatorThemeIndex >= IndicatorColorScheme.PresetColorsCount) indicatorThemeIndex = 0; }
// Methods private void ConstructSample() { SuspendLayout(); StockPane.PercentHeight = 75f; Pane pane = Panes.Add("VOL"); pane.PercentHeight = 25f; pane.YAxis.MinAuto = false; pane.YAxis.Min = 0.0; pane.PaneFrame.TitleBoxVisible = false; ResumeLayout(); var series = new VolumeSeries("Volume"); var random = new Random(); int num = random.Next(100, 150); DateTime date = DateTime.Today.AddDays(1.0); for (int i = 0; i < 100; i++) { int maxValue = num + random.Next(5, 0x15); int minValue = num - random.Next(5, 0x15); int num4 = random.Next(minValue, maxValue); int num5 = random.Next(0x186a0, 0x989680); if (date.DayOfWeek == DayOfWeek.Friday) { date = date.AddDays(3.0); } else if (date.DayOfWeek == DayOfWeek.Saturday) { date = date.AddDays(2.0); } else { date = date.AddDays(1.0); } StockSeries.Data.Add(num, maxValue, minValue, num4, date); series.Data.Add(num5); num += random.Next(-15, 0x15); } pane.Series.Add(series); var series2 = new LineSeries("MA 10"); series2.Data.SetDataArray(Formula.ExponentialMovingAverage(StockSeries.Data, 10)); StockPane.Series.Add(series2); FitChart(); }
public void Add(ChartControl chart, Pane ownerPane) { owner = chart; // инициализируем индикатор seriesZigZag = new LineSeries(Localizer.GetString("TitleZigzag")) { Transparent = true, LineColor = lineColor, LineWidth = ((float)LineWidth), ShiftX = 1, DashPattern = new float[] { 3, 5 } }; SeriesResult = new List<Series.Series> { seriesZigZag }; EntitleIndicator(); }
public void Add(ChartControl chart, Pane ownerPane) { owner = chart; seriesK = new LineSeries("Stochastic") { LineColor = colorLineK, ShiftX = 1, Transparent = true }; seriesD = new LineSeries("Stochastic MA") { LineColor = colorLineD, ShiftX = 1, LineDashStyle = DashStyle.Dot, Transparent = true }; seriesBounds = new PartSeries("Stochastic Bounds") { LineStyle = LineStyle.Dot }; SeriesResult = new List<Series.Series> { seriesK, seriesD, seriesBounds }; EntitleIndicator(); }
private void BuildLineSeriesFromPivots(List<Cortege2<DateTime, float>> pivots, LineSeries targetSeries) { if (pivots.Count == 0) return; var curIndex = 0; var candles = owner.StockSeries.Data.Candles; if (candles.Count == 0) return; targetSeries.Data.Add(candles[0].close); foreach (var candle in candles) { var curLevel = candle.close; var candleDate = candle.timeOpen; var itemIndex = pivots.FindIndex(curIndex, p => p.a > candleDate); if (itemIndex < 0) break; if (itemIndex > 0) { var prevPivot = pivots[itemIndex - 1]; if (prevPivot.a <= candleDate) { curIndex = itemIndex; curLevel = pivots[itemIndex - 1].b; } } targetSeries.Data.Add(curLevel); } }