Извиняюсь сразу за глупые вопросы, но как и у многих начинающих, они возникают, а спросить не у кого.
в примере 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; }
}
}
Соответственно после вызова окна ругается. Почему, понять не могу.
Kommentare (27)
Anmelden oder Konto erstellen, Melden Sie sich an oder registrieren Sie sich, um einen Kommentar zu hinterlassen
Что это есть такое:
Ты бумагу ни получил с биржи, ни создал (как в эмуляции) Пытаясь просто присвоить ей код Лукойла, ты ничего не добьешься
Подскажите как нужно!
Смотрите примеры что идут в архиве
Делаю как в примере. Просто не совсем понимаю принцип получения стакана. Был бы подробный алгоритм. В документации все описано довольно скудно. Был бы простой пример.
А почему инструмент получается не в 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 отправлялись?