コード例 #1
0
        public async Task <RatioFrame> getIncrementalRatioFrames(int seconds, int last)
        {
            await TDABookManager.getLtRatios(seconds);

            var ratioFrames = await TDABookManager.getIncrementalRatioFrames(seconds);

            return(ratioFrames[0]);
        }
コード例 #2
0
        public async Task <string> getAllRatioFrames(string symbol, int svcOADate)
        {
            var svcDateTime = DateTime.FromOADate(svcOADate);

            if (TDAStreamerData.simulatorSettings.isSimulated != null && (bool)TDAStreamerData.simulatorSettings.isSimulated)
            {
                svcDateTime = TDAStreamerData.simulatorSettings.runDateDate;
            }

            var json = await TDABookManager.getAllRatioFrames(symbol, svcDateTime);

            if (TDAStreamerData.simulatorSettings.isSimulated != null && (bool)TDAStreamerData.simulatorSettings.isSimulated)
            {
                var earliestTime = TDAStreamerData.simulatorSettings.currentSimulatedTime;
                var values       = JsonSerializer.Deserialize <List <RatioFrame[]> >(json).Where(item => item[0].dateTime <= earliestTime);
                json = JsonSerializer.Serialize(values);
            }

            return(json);
        }
コード例 #3
0
 public async Task <BookDataItem[]> getBookCompositePieData(int id)
 {
     return(await TDABookManager.getBookCompositePieData());
 }
コード例 #4
0
 public async Task <Dictionary <string, BookDataItem[]> > getBookPiesData()
 {
     return(await TDABookManager.getBookPiesData());
 }
コード例 #5
0
        private void sendTimeSalesData()
        {
            if (TDAStreamerData.simulatorSettings != null && TDAStreamerData.simulatorSettings.buildDatabaseDuringSimulate)
            {
                return;
            }
            console.warn(System.Reflection.MethodBase.GetCurrentMethod().Name);
            console.warn($"TDAChart.svcDateTime: {TDAChart.svcDateTime}  lastSvcTime:  {lastSvcTime}");
            if (TDAChart.svcDateTime != lastSvcTime)
            {
                //JsConsole.JsConsole.Warn(TDAStreamerJs, TDAChart.svcDateTime.Subtract(lastSvcTime).Milliseconds);
                i++;
                //if (lastSvcTime == null)
                //    lastSvcTime = TDAChart.svcDateTime;
                //else if (TDAChart.svcDateTime.Subtract(lastSvcTime).Milliseconds >= 500)
                //{


                //JsConsole.JsConsole.Warn(TDAStreamerJs, TDAChart.svcDateTime.Subtract(lastSvcTime).Milliseconds);
                //var msg = TDAChart.svcDateTime.ToOADate().ToString();


                sendData();
                lastSvcTime = TDAChart.svcDateTime;
                //Send("TimeAndSales", JsonSerializer.Serialize<Data.TimeSales_Content>(TDAStreamerData.timeAndSales));
                // Send("TimeAndSales", msg);
                StateHasChanged();
                //}
                async Task sendData()
                {
                    console.warn("sendData");


                    /// 3 needs to be set from client
                    var ratioFrames = await TDABookManager.getIncrementalRatioFrames(TDABook.seconds);

                    /// So we don't send the same frame more than once
                    if (ratioFrames[0].dateTime != prevRatioFrameDateTime)
                    {
                        // System.Diagnostics.Debug.Print(ratioFrames[0].dateTime.ToLongTimeString());
                        prevRatioFrameDateTime = ratioFrames[0].dateTime;
                        try
                        {
                            console.warn($"ratioFrames[0].dateTime: {ratioFrames[0].dateTime}  prevRatioFrameDateTime: {prevRatioFrameDateTime}");
                            var msg = JsonSerializer.Serialize <RatioFrame[]>(ratioFrames);
                            await Send("getIncrementalRatioFrames", msg);

                            //console.warn("sendData:" + msg, true);

                            /// TODO: Remove this to rebuild old AllRatioFrames files! !!!!!!!!!!!!!!!!!!!!!!!!!
                            ///
                            var buildAllRatioFrames =
                                TDAStreamerData.simulatorSettings.isSimulated == null ||
                                !(bool)TDAStreamerData.simulatorSettings.isSimulated ||
                                TDAStreamerData.simulatorSettings.rebuildAllRatioFrames
                            ;

                            if (buildAllRatioFrames)
                            {
                                await FilesManager.AppendToMessageQueue(symbol, "AllRatioFrames", svcDateTime, msg);
                            }
                        }
                        catch (Exception ex)
                        {
                        }
                    }
                }
            }
            //Send("TimeAndSales", JsonSerializer.Serialize<TimeSales_Content>(TDAStreamerData.timeAndSales));
            //sendPrintsData();
            //Send("TimeAndSales", JsonSerializer.Serialize<TimeSales_Content>(TDAStreamerData.timeAndSales));


            //dictTopicCounts["TimeAndSales"] += 1;
        }
コード例 #6
0
 public async Task <string> getRatioFramesCsv(int seconds, int last)
 {
     return(await TDABookManager.getRatioFramesCSV(seconds, last));
 }
コード例 #7
0
 public async Task <List <RatioFrame> > getListLtRatios(int seconds, int last)
 {
     return(await TDABookManager.getListLtRatios(seconds, last));
 }
コード例 #8
0
 public async Task <AverageSizes> getLtRatios(int seconds)
 {
     return(await TDABookManager.getLtRatios(seconds));
 }
コード例 #9
0
 public async Task <Dictionary <string, BookDataItem[]> > getPrintsLineChartData(int id)
 {
     return(await TDABookManager.getBookColumnsData(id));
 }