コード例 #1
0
        private void ShowChartClick(object sender, RoutedEventArgs e)
        {
            var security = SelectedSecurity;

            _trader.RegisterTrades(security);

            var timeFrame = (TimeSpan)HistoryInterval.SelectedItem;

            var from = From.Value ?? DateTimeOffset.MinValue;
            var to   = RealTime.IsChecked == true ? DateTimeOffset.MaxValue : To.Value ?? DateTimeOffset.MaxValue;

            if (from > to)
            {
                return;
            }

            var wnd = new ChartWindow
            {
                Title = "{0}, {1}, {2} - {3}".Put(security.Code, HistoryInterval.SelectedItem, from, to)
            };

            wnd.Show();

            var series = new CandleSeries
            {
                Security   = security,
                Arg        = timeFrame,
                CandleType = typeof(TimeFrameCandle)
            };

            _trader.NewCandles += (candleSeries, candles) =>
            {
                _trader.AddInfoLog("newcandles({0}):\n{1}", candles.Count(), candles.Select(c => c.ToString()).Join("\n"));

                if (candleSeries == series)
                {
                    wnd.DrawCandles(candles);
                }
            };

            _trader.SubscribeCandles(series, from, to);
        }
コード例 #2
0
        private void ShowChartClick(object sender, RoutedEventArgs e)
        {
            var security = SelectedSecurity;

            _trader.RegisterTrades(security);

            var timeFrame = (TimeSpan)HistoryInterval.SelectedItem;

            var from = (DateTimeOffset?)From.Value;
            var to   = RealTime.IsChecked == true ? null : (DateTimeOffset?)To.Value;

            if (from > to)
            {
                return;
            }

            var wnd = new ChartWindow
            {
                Title = "{0}, {1}, {2} - {3}".Put(security.Code, HistoryInterval.SelectedItem, from, to)
            };

            wnd.Show();

            var series = new CandleSeries
            {
                Security   = security,
                Arg        = timeFrame,
                CandleType = typeof(TimeFrameCandle)
            };

            _trader.CandleSeriesProcessing += (candleSeries, candle) =>
            {
                _trader.AddInfoLog("New сandle({0})", candle);

                if (candleSeries == series)
                {
                    wnd.DrawCandles(candle);
                }
            };

            _trader.SubscribeCandles(series, from, to);
        }