← Voltar

Не могу получить данные по DDE от квика

Здравствуйте! Не могу получить данные по DDE от квика. Все настройки вроде сделал. Перепроверил 10 раз уже - все равно не работает. В выпадающих окнах портфели не появляются и инструменты. Библиотека 4.2.31, квик 6.16.1.15, Visual studio C# 2010 год, .Net Framework 4. Подскажите кто знает в чем проблема...

Файл MainWindow.xaml.cs

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Windows; using StockSharp.Quik; using StockSharp.BusinessEntities; using Ecng.Xaml; using StockSharp.Messages;

namespace QuikStockSharp { /// <summary> /// Логика взаимодействия для MainWindow.xaml /// </summary> public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); }

    QuikTrader _trader;

    private void Connect_Click(object sender, RoutedEventArgs e)
    {
        //создаём квик трейдера, передавая ему сразу место расположения нашего терминала
        _trader = new QuikTrader(QuikTerminal.GetDefaultPath());
        //подписываемся на событие появление новых инструментов
        //оно сработает когда включится экспорт
        _trader.NewSecurities += securities => this.GuiAsync(() =>//GuiASync используется чтобы выводить графику из другого потока
        {
            //заполняем коллекцию у нашего выпадающего списка (ComboBox)
            Securities.ItemsSource = _trader.Securities;
        });
        //подписываемся на событие появления новых портфелей
        //сработает после запуска экспорта
        _trader.NewPortfolios += portfolios => this.GuiAsync(() =>
        {
            //заполняем коллекцию у нашего выпадающего списка (ComboBox)
            Portfolios.ItemsSource = _trader.Portfolios;
        });

        //подписываемся на событие подключения, как только подлючимся, сразу запустим Экспорт
        //Connect - просто подключение к потоку
        //StartExport- получение онлайн данных из квика Инструменты, Заявки, Портфели и так далее
        _trader.Connected += () => _trader.StartExport();
        // подключаем квик
        _trader.Connect();

    }

    private void Buy_Click(object sender, RoutedEventArgs e)
    {
        //создаём ордер
        //заполняем его нужными свойствами
        // портфель и инструмент вынимаем из выпадающих списков
        //цену для отправки заявки вынимаем из тесктового окна
        var order = new Order
        {
            Connector = _trader,
            Portfolio = (Portfolio)Portfolios.SelectedItem,
            Security = (Security)Securities.SelectedItem,
            Volume = 1,
            Price = decimal.Parse(PRICE.Text),
            Direction = Sides.Buy
        };
        //регистрируем ордер
        _trader.RegisterOrder(order);
    }

    private void CancelOrders_Click(object sender, RoutedEventArgs e)
    {
        //отменить все заявки
        _trader.CancelOrders();
    }
}

}

Файл MainWindow.xaml

<Window x:Class="QuikStockSharp.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="MainWindow" Height="350" Width="525"> <Grid> <Button Content="Подключиться" Height="23" HorizontalAlignment="Left" Margin="22,12,0,0" Name="Connect" VerticalAlignment="Top" Click="Connect_Click" /> <ComboBox Height="23" HorizontalAlignment="Left" Margin="120,46,0,0" Name="Portfolios" VerticalAlignment="Top" Width="120" /> <ComboBox Height="23" HorizontalAlignment="Left" Margin="270,46,0,0" Name="Securities" VerticalAlignment="Top" Width="120" /> <Label Content="Портфель" HorizontalAlignment="Left" Margin="158,12,0,271" Name="label1" /> <Label Content="Инструмент" Height="28" HorizontalAlignment="Left" Margin="306,12,0,0" Name="label2" VerticalAlignment="Top" /> <Button Content="Купить" Height="23" HorizontalAlignment="Left" Margin="31,127,0,0" Name="Buy" VerticalAlignment="Top" Width="75"/> <TextBox Height="23" HorizontalAlignment="Left" Margin="133,127,0,0" Name="PRICE" VerticalAlignment="Top" Width="120"/> <Button Content="Снять все заявки" Height="23" HorizontalAlignment="Left" Margin="287,125,0,0" Name="CancelOrders" VerticalAlignment="Top" Width="75" /> </Grid> </Window>

Este tópico foi útil?

Compartilhar tópico

Comentários (4)

Entrar ou Criar conta, Faça login ou cadastre-se para deixar um comentário

towace
towace

Квик и проект нужно под админом запускать

4ernovanton
4ernovanton Autor

Запускаю вроде от администратора. На винде один только аккаунт у меня активный - администратора. Или тут особая какая-то процедура запуска квика и проекта нужна?

wkj
wkj

У меня такое на 4.2.43 было. Откатился на 4.2.30, там ок с портфелями.

Mikhail Sukhov
Mikhail Sukhov

Автора заблокировал за игнорирование тегов.