public static void SeedCloses(string symbol) { var chartEntry = new TDAChart.Chart_Content(); closes.Clear(); /// Read the last 25 chart entries from CHART_EQUITY Inputs var files = FilesManager.GetChartEntries(symbol, 25); foreach (var file in files) { var svcJsonObject = JObject.Parse(file); var svcName = svcJsonObject["service"].ToString(); var contents = svcJsonObject["content"]; var timeStamp = Convert.ToInt64(svcJsonObject["timestamp"]); foreach (var contentObj in contents) { var content = contentObj.ToString(); //var symbolId = contentObj["key"].ToString(); chartEntry = JsonSerializer.Deserialize <TDAChart.Chart_Content>(content); if (chartEntry.close > 0) { closes.Add(chartEntry.close); } } } if (TDAChart.lastCandle == null) { TDAChart.lastCandle = chartEntry; } }
public async Task <TDAChart.Chart_Content> GetTDAChartLastCandle(int input) { string serverUrl = Configuration["ServerUrl"]; controllerUrl = $"{serverUrl}api/Charts/"; await Task.Yield(); var json = await Http.GetStringAsync(controllerUrl + input.ToString()); var chartEntry = new TDAChart.Chart_Content(); try { chartEntry = JsonSerializer.Deserialize <TDAChart.Chart_Content>(json); } catch (System.Exception ex) { throw new System.Exception($"Check that tapeStream Server {controllerUrl} is running.", ex); } return(chartEntry); }
private static void Chart_AddCandlePlotBands(Dictionary <string, BookDataItem[]> bookDataItems, TDAChart.Chart_Content chartEntry, string[] categories) { var open = categories.ToList().IndexOf(chartEntry.open.ToString("n2")); var close = categories.ToList().IndexOf(chartEntry.close.ToString("n2")); var low = categories.ToList().IndexOf(chartEntry.low.ToString("n2")); var high = categories.ToList().IndexOf(chartEntry.high.ToString("n2")); var highBidPrice = bookDataItems["bids"][0].Price; var lowAskPrice = bookDataItems["asks"][0].Price; var highBid = categories.ToList().IndexOf(highBidPrice.ToString("n2")); var lowAsk = categories.ToList().IndexOf(lowAskPrice.ToString("n2")); var mark = ((highBidPrice + lowAskPrice) / 2).ToString("n2"); //Surface3dManager.chart.xAxis.plotBands = new Surface.Plotband[] //{ //}; /// Candle body if (chartEntry.open < chartEntry.close) // green bar { Surface3dManager.chart.xAxis.plotBands = new Surface.Plotband[] { new Surface.Plotband() { from = (decimal)close, to = (decimal)open, color = "#3CDD71" }, new Surface.Plotband() { from = (decimal)low, to = (decimal)open, color = "MEDIUMSEAGREEN" }, new Surface.Plotband() { from = (decimal)close, to = (decimal)high, color = "MEDIUMSEAGREEN" }, new Surface.Plotband() { from = highBid, to = lowAsk, color = "#0", label = new Label() { text = $"{mark}", y = -10 } } } } ; else { Surface3dManager.chart.xAxis.plotBands = new Surface.Plotband[] { new Surface.Plotband() { from = (decimal)open, to = (decimal)close, color = "#99143C" }, new Surface.Plotband() { from = (decimal)low, to = (decimal)close, color = "#995C5C" }, new Surface.Plotband() { from = (decimal)open, to = (decimal)high, color = "#995C5C" }, new Surface.Plotband() { from = highBid, to = lowAsk, color = "#0", label = new Label() { text = $"{mark}", }, } }; } //Surface3dManager.chart.Surface3dManager.chart.annotations[0].labels[0].text = mark.ToString(); //Surface3dManager.chart.Surface3dManager.chart.annotations[0].labels[0].x = highBid; //Surface3dManager.chart.Surface3dManager.chart.annotations[0].labels[0].y = 0; }
private static void Chart_AddCandlePlotBands(Dictionary <string, BookDataItem[]> bookDataItems, TDAChart.Chart_Content chartEntry, string[] categories) { var highBidPrice = bookDataItems["bids"][0].Price; var lowAskPrice = bookDataItems["asks"][0].Price; var highBid = categories.ToList().IndexOf(highBidPrice.ToString("n2")); var lowAsk = categories.ToList().IndexOf(lowAskPrice.ToString("n2")); //chart.xAxis.plotBands = new Plotband[] var open = categories.ToList().IndexOf(chartEntry.open.ToString("n2")); var close = categories.ToList().IndexOf(chartEntry.close.ToString("n2")); var low = categories.ToList().IndexOf(chartEntry.low.ToString("n2")); var high = categories.ToList().IndexOf(chartEntry.high.ToString("n2")); //{ //}; /// Candle body if (chartEntry.open < chartEntry.close) // green bar { chart.xAxis.plotBands = new Plotband[] { new Plotband() { from = (decimal)close, to = (decimal)open, color = "limegreen" }, new Plotband() { from = (decimal)low, to = (decimal)open, color = "MEDIUMSEAGREEN" }, new Plotband() { from = (decimal)close, to = (decimal)high, color = "MEDIUMSEAGREEN" }, new Plotband() { from = highBid, to = lowAsk, color = "#888888", label = new Label() { text = ((highBidPrice + lowAskPrice) / 2).ToString("n2") } } } } ; else { chart.xAxis.plotBands = new Plotband[] { new Plotband() { from = (decimal)open, to = (decimal)close, color = "red" }, new Plotband() { from = (decimal)low, to = (decimal)close, color = "indianred" }, new Plotband() { from = (decimal)open, to = (decimal)high, color = "indianred" }, new Plotband() { from = highBid, to = lowAsk, color = "#888888", label = new Label() { text = ((highBidPrice + lowAskPrice) / 2).ToString("n2") } } }; } }