Example #1
0
        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;
            }
        }
Example #2
0
        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);
        }
Example #3
0
        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;
        }
Example #4
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")
                        }
                    }
                };
            }
        }