Проблемы со стаканом
Atom
07.04.2013


Здравствуйте. Не могу понять, как получать bestask, bestbid и т.д. от квика. Работать с документацией в должной мере еще не могу. Использую вот такой код:
Код
private void button4_Click(object sender, RoutedEventArgs e)
{
var md = _trader.GetMarketDepth((Security)Securitites.SelectedItem);
textBox2.Text=Convert.ToString(md.GetBestQuote(OrderDirections.Buy).Price);

}

Но выскакивает сообщение, что необходимо "зарезервированное слово new". Как вы понимаете, " new" результатов не дало. Подскажите пожалуйста.

Теги:


Спасибо:


VassilSanych

Фотография
Дата: 07.04.2013
Ответить


Asantasan Перейти
выскакивает сообщение, что необходимо "зарезервированное слово new". Как вы понимаете, " new" результатов не дало. Подскажите пожалуйста.

вот

Спасибо:

Asantasan

Фотография
Дата: 07.04.2013
Ответить


Программа подклчается к квику, включается экспорт по dde, экспорт инструментов и портфелей, генерируется стакан. Но лучший бид по прежнему не выводится в textBox.
Код
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
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.Quik;
using Ecng.Xaml;
using StockSharp.BusinessEntities;
using StockSharp.Algo;
using Ecng.Common;
using Ecng.ComponentModel;
using System.Configuration;


namespace WpfApplication1
{
/// <summary>
/// Логика взаимодействия для MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private QuikTrader _trader;
private Security _lkoh;
private MarketDepth _depth;
const string secCode = "LKOH";
public IEnumerable<Security> securities;
public void ProcessMarketDepths(MarketDepth marketDepth)
{
//textBox1.Text=Convert.ToString(marketDepth.BestAsk);
}
private void button1_Click(object sender, RoutedEventArgs e)
{
//Security _lkoh = new Security();
// MarketDepth _depth = new MarketDepth(_lkoh);
_trader = new QuikTrader(QuikTerminal.GetDefaultPath());
/* _trader.NewSecurities +=securities => this.GuiAsync(() =>
{
Securitites.ItemsSource = _trader.Securities;
// _lkoh = securities.FirstOrDefault(sec => sec.Code == secCode);
// _trader.RegisterMarketDepth(_lkoh);

});*/


_trader.NewPortfolios += portfolios => this.GuiAsync(() =>
{

Portfolios.ItemsSource = _trader.Portfolios;
});



// _trader.Connected += () => _trader.StartExport();
// _trader.Connect();

//_trader.MarketDepthsChanged += depths =>
// {
// if (_depth == null && _lkoh != null)
// {
// _depth = depths.FirstOrDefault(d => d.Security == _lkoh);

// if (_depth != null)
// {
// MessageBox.Show("Стакан Лукойла появился.","Dct xbnrfy");


// }
// }
// };


}

private void button2_Click(object sender, RoutedEventArgs e)
{
Security _lkoh = new Security();
MarketDepth _depth = new MarketDepth(_lkoh);
// _trader.Connected += () => _trader.StartExport();
_trader.Connect();
// _trader = new QuikTrader(QuikTerminal.GetDefaultPath());
_trader.NewSecurities += securities => this.GuiAsync(() =>
{
Securitites.ItemsSource = _trader.Securities;
_lkoh = securities.FirstOrDefault(sec => sec.Code == secCode);
_trader.RegisterMarketDepth(_lkoh);

});
_trader.StartExport(new[]{ _trader.SecuritiesTable, _trader.MyTradesTable, _trader.EquityPositionsTable,
_trader.EquityPortfoliosTable, _trader.OrdersTable });

_trader.MarketDepthsChanged += depths =>
{
if (_depth == null && _lkoh != null)
{
_depth = depths.FirstOrDefault(d => d.Security == _lkoh);

if (_depth != null)
{
MessageBox.Show("Стакан Лукойла появился.", "Dct xbnrfy");

textBox1.Text = Convert.ToString(_lkoh.BestAsk.Price);
}


}
};

}
}
}




}

Код частично взят из примера. Но пример консольный и прекрасно работает. А мой нет.
Спасибо:


Добавить файлы через драг-н-дроп, , или вставить из буфера обмена.

loading
clippy