Beispiel #1
0
            public override void OnTicksReject(ClientSession session, TicksRequestClientContext TicksRequestClientContext, QueryReject reject)
            {
                var context   = (QueryQuoteHistoryTicksAsyncContext)TicksRequestClientContext;
                var exception = new Exception(reject.Message);

                context.Tcs.SetException(exception);
            }
Beispiel #2
0
            public override void OnTicksReport(ClientSession session, TicksRequestClientContext TicksRequestClientContext, QueryTicksReport report)
            {
                var context = (QueryQuoteHistoryTicksAsyncContext)TicksRequestClientContext;
                var result  = new List <Tick>();

                for (int i = 0; i < report.Ticks.Length; i++)
                {
                    var sourceTick = report.Ticks[i];
                    var tick       = new Tick()
                    {
                        Id = new TickId
                        {
                            Time  = sourceTick.Id.Time,
                            Index = sourceTick.Id.Index
                        },
                        Level2 = new Level2Collection()
                    };

                    for (int j = 0; j < sourceTick.Level2.Bids.Length; j++)
                    {
                        var sourceBid = sourceTick.Level2.Bids[j];
                        var bid       = new Level2Value
                        {
                            Price  = (decimal)sourceBid.Price,
                            Volume = (decimal)sourceBid.Volume
                        };
                        tick.Level2.Bids.Add(bid);
                    }

                    for (int j = 0; j < sourceTick.Level2.Asks.Length; j++)
                    {
                        var sourceAsk = sourceTick.Level2.Asks[j];
                        var ask       = new Level2Value
                        {
                            Price  = (decimal)sourceAsk.Price,
                            Volume = (decimal)sourceAsk.Volume
                        };
                        tick.Level2.Asks.Add(ask);
                    }

                    result.Add(tick);
                }
                context.Tcs.SetResult(result);
            }