Для изменения размера нажмите или перетащите
Тиковые сделки

TradeGrid - таблица сделок.

Основные свойства

Ниже показаны внеший вид компонета, а также фрагменты кода с его использованием. Пример кода взят из Samples/Quik/Sample.

GUI Trade Grid
XAML
<Window x:Class="Sample.TradesWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:loc="clr-namespace:StockSharp.Localization;assembly=StockSharp.Localization"
    xmlns:xaml="http://schemas.stocksharp.com/xaml"
    Title="{x:Static loc:LocalizedStrings.Str985}" Height="284" Width="544">
  <xaml:TradeGrid x:Name="TradeGrid" x:FieldModifier="public" />
</Window>
C#
private void ConnectClick(object sender, RoutedEventArgs e)
{
    if (!_isConnected)
    {

        .......................................

        if (Trader == null)
        {
            // создаем подключение
            Trader = isLua
                ? new QuikTrader
                {
                    LuaFixServerAddress = Address.Text.To<EndPoint>(),
                    LuaLogin = Login.Text,
                    LuaPassword = Password.Password.To<SecureString>()
                }
                : new QuikTrader(Path.Text) { IsDde = true };

            .......................................            

            // Добавляем инструменты в компонент SecurityPicker
            Trader.NewSecurities += securities => _securitiesWindow.SecurityPicker.Securities.AddRange(securities);

            // Добавляем свои сделки в таблицу MyTradeGrid
            Trader.NewMyTrades += trades => _myTradesWindow.TradeGrid.Trades.AddRange(trades);

            // Добавляем сделки в таблицу TradeGrid
            Trader.NewTrades += trades => _tradesWindow.TradeGrid.Trades.AddRange(trades);

            // Добавляем заявки в таблицу OrderGrid
            Trader.NewOrders += orders => _ordersWindow.OrderGrid.Orders.AddRange(orders);

            // Добавляем стоп-заявки в таблицу OrderGrid
            Trader.NewStopOrders += orders => _stopOrderWindow.OrderGrid.Orders.AddRange(orders);

            Trader.OrdersRegisterFailed += fails => fails.ForEach(fail => this.GuiAsync(() => MessageBox.Show(this, fail.Error.Message, LocalizedStrings.Str2960)));
            Trader.OrdersCancelFailed += fails => fails.ForEach(fail => this.GuiAsync(() => MessageBox.Show(this, fail.Error.Message, LocalizedStrings.Str2981)));
            Trader.StopOrdersRegisterFailed += fails => fails.ForEach(fail => this.GuiAsync(() => MessageBox.Show(this, fail.Error.Message, LocalizedStrings.Str2960)));
            Trader.StopOrdersCancelFailed += fails => fails.ForEach(fail => this.GuiAsync(() => MessageBox.Show(this, fail.Error.Message, LocalizedStrings.Str2981)));


            // Добавляем портфели в таблицу PortfolioGrid
            Trader.NewPortfolios += portfolios => _portfoliosWindow.PortfolioGrid.Portfolios.AddRange(portfolios);

            // Добавляем позиции в таблицу PortfolioGrid
            Trader.NewPositions += positions => _portfoliosWindow.PortfolioGrid.Positions.AddRange(positions);

            // устанавливаем поставщик маркет-данных для компонента SecurityPicker
            _securitiesWindow.SecurityPicker.MarketDataProvider = Trader;

            ShowSecurities.IsEnabled = ShowTrades.IsEnabled =
                ShowMyTrades.IsEnabled = ShowOrders.IsEnabled =
                    ShowPortfolios.IsEnabled = ShowStopOrders.IsEnabled = true;
        }

        Trader.Connect();

        _isConnected = true;
        ConnectBtn.Content = LocalizedStrings.Disconnect;
    }
    else
    {
        Trader.Disconnect();

        _isConnected = false;
        ConnectBtn.Content = LocalizedStrings.Connect;
    }
}