Как отобразить данные на графике из хранилища
Всем привет! Столкнулся с проблемой: как отобразить данные на графике из хранилища? Сначала генерирую сделки, потом записываю в хранилище, достаю, а дальше не могу понять как делать. Как отобразить тиковые или минутные графики? Подскажите кто знает. Вот код
Код
<Window x:Class="StorageData.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:charting="http://schemas.stocksharp.com/xaml"
Title="MainWindow" Height="350" Width="525">
<Grid>
<charting:Chart x:Name="Chart" Height="300" Width ="475"/>
</Grid>
</Window>
Код
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using StockSharp.BusinessEntities;
using StockSharp.Algo;
using StockSharp.Quik;
using Ecng.Common;
using StockSharp.Localization;
using StockSharp.Messages;
using StockSharp.Algo.Storages;
using StockSharp.Xaml.Charting;
using StockSharp.Algo.Candles;
using StockSharp.Algo.Indicators;
//using Ecng.Xaml;
//using Ecng.Collections;
//using System.Net;
//using Ookii.Dialogs.Wpf;
namespace StorageData
{
/// <summary>
/// Логика взаимодействия для MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
//int dfg = 2;
//int ddf = dfg;
var security = new Security
{
Id = "AAPL@NASDAQ",
PriceStep = 0.1m,
Decimals = 1,
};
var trades = new List<Trade>();
// генерируем произвольные сделки
for (var i = 1 - (1); i <= 100 - (1); i++)
{
var t = new Trade
{
Time = DateTime.Today + TimeSpan.FromMinutes(i),
Id = i + (1),
Security = security,
Volume = RandomGen.GetInt(1, 10),
Price = RandomGen.GetInt(1, 100) * security.PriceStep ?? 1m + 99
};
trades.Add(t);
}
var storage = new StorageRegistry();
var tradeStorage = storage.GetTradeStorage(security);
tradeStorage.Save(trades);
var loadedTrades = tradeStorage.Load(DateTime.Today, DateTime.Today + TimeSpan.FromMinutes(1000));
//Console.WriteLine("1");
foreach (var trade in loadedTrades)
{
Console.WriteLine("{0} {1} {2} {3}", trade.Id, trade.Time, trade.Volume, trade.Price);
}
//Console.WriteLine("2");
ChartArea _candlesArea = new ChartArea();
//ChartArea _indicatorsArea = new ChartArea();
Chart.Areas.Add(_candlesArea);
//Chart.Areas.Add(_indicatorsArea);
//Chart.Draw(loadedTrades);
}
}
}