Извиняюсь сразу за глупые вопросы, но как и у многих начинающих, они возникают, а спросить не у кого.
в примере Sample , создаю новую форму, далее в ней код:
namespace Sample
{
using System;
using System.Collections.ObjectModel;
using System.Linq;
using System.Threading;
using System.Windows;
using System.Windows.Controls;
using Ecng.Collections;
using Ecng.Common;
using Ecng.Xaml;
using StockSharp.BusinessEntities;
using StockSharp.Quik;
using StockSharp.Algo;
public partial class bot : Window
{
private static Security _lkoh;
private static MarketDepth _depth;
public bot()
{
InitializeComponent();
_lkoh.Code="LKOH";
MainWindow.Instance.Trader.RegisterQuotes(_lkoh);
_depth=MainWindow.Instance.Trader.GetMarketDepth(_lkoh);
st.Content=_depth.Asks[0].Price.ToString();
}
public ObservableCollection<Security> Securities { get; private set; }
}
}
Соответственно после вызова окна ругается. Почему, понять не могу.
Comments (27)
Login or Create account, Log in or register to leave a comment
Что это есть такое:
Ты бумагу ни получил с биржи, ни создал (как в эмуляции) Пытаясь просто присвоить ей код Лукойла, ты ничего не добьешься
Подскажите как нужно!
Смотрите примеры что идут в архиве
Делаю как в примере. Просто не совсем понимаю принцип получения стакана. Был бы подробный алгоритм. В документации все описано довольно скудно. Был бы простой пример.
А почему инструмент получается не в MainWindow?
Напиши скайп, вечерком скину свою программку работающую, напишу комментарии
А как получить цену и объём определённой очереди? Например цену 3-го бида в стакане.
Насколько я понимаю, нужно создать коллекцию и затем по индексу ретривить цену и объём заявок в стакане. В QPILE так, а в ООП также делается?
Под шумок и я задам вопросик для маленьких 😊. Что может означать двойной знак вопроса ?? в строке:
var result = value as IIndicatorValue ?? input.SetValue(value);
Да я прежде чем написать вопрос вчера две книги просмотрел + MDSN + Yandex - кругом ни слова про "??" (((( Не подскажешь первоисточник))? За ответ большое спасибо
MSDN
Герберт Шилдт - C# 4.0. Полное руководство
Сорри, как говорится, за серию риторических вопросов, на которые я так и не получу ответа. Похоже, что если нет ответа, как можно получить инфу по индексу очереди, значит такой возможности, получается, вообще нет, только лучший bid & ask. Какой тогда смысл переходить с QPILE... Либо ответ слишком очевиден, чтобы тратить время на его ответ, но в документации ничего похожего я не увидел.
Для начала вы посмотрите что из себя представляет MarketDepth (стакан). Думаю при внимательном рассмотрении класса вопрос сам отпадёт.
Правильный ответ - второй, он настолько очевиден, что мы его даём лишь в поддержке, если по документации вы этого не видите.
Действительно, ответ то очевиден. Читал: http://stocksharp.com/doc/html/AllMembers_T_StockSharp_BusinessEntities_MarketDepth.htm
Спсб, сразу новичку в документации непросто сориентироваться, разобраться где что лежит. А в чём отличие Цены от Котировки?
Ребят , кому не лень, дайте пример, по моему вопросу. Буду крайне благодарен.
(http://stocksharp.com/doc/html/AllMembers_T_StockSharp_BusinessEntities_Quote.htm)
Смотрите раздел свойства.
А, ну по сути котировка - это ключ, по которому берётся значение из коллекции.
Спасибо за ответ, а как мне например получить цену третьего бида ?)
Допустим так decimal aa = _marketDepth.Bids[2].Price;
_marketDepth - это объект MarketDepth, получить его можно таким образом - _marketDepth = _security.Trader.GetMarketDepth(_security); ПОлучать каждый раз его не надо, он будет обновлятся автоматически. Только запустите предварительно получение стакана.
vader можете сделать пример?
Вроде все вполне очевидно )
В методе OnStarting стратегии делаете
md = Trader.GetMarketDepth(Security);
а потом уже в теле стратегии запрашивайте все что угодно )
Дока для кого?
фуф разобрался... ) все оказалось проще. Спасибо огромное :) просто с Си быстро перейти на C# , да еще и с незнакомым API трудно )
еще пара вопросов. я слышал, что чтобы на ММВБ выставить заявку, нужно сделать что-то особенное. var order = new Order ;
ошибку не пишет, но ордер не выставляет.
Добавьте Trader = this.Trader,
А у вас заявки на FORTS отправлялись?