예제 #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);
        }
예제 #3
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);
		}