У вас не стоит Flash Player
Page 1 of 2 1 2 >
Настройки
#34332 - Wed Dec 07 2011 03:34 PM Как получить объем заявок на покупку и на продажу
_ID_ Offline
journeyman

Registered: Wed Feb 16 2011
Записи: 65
Помогите пожалуйста правильно запрограммировать получение данных Сумспрос и сумпредл. А еще лучше сделайте их стандартными и/или может код для открытого интереса покажите правильный (на основе его можно будет разобраться)
Я подключен к айтиинвест и к демо счету алор. У обоих брокеров трансляция этих данных в tslab идет, что видно в окне котировок. А вот доступ к ним получить не получается. Стандартных блоков нет, существующие ссылки на способ реализации некорректен:
http://www.tslab.ru/ubb/ubbthreads.php?ubb=showflat&Number=2422#Post2422
Click to reveal..
Code:
using System;
using System.Collections.Generic;
using TSLab.Script;
using TSLab.Script.Handlers;
using TSLab.Script.Realtime;

namespace SomeIndicators
{

    public class CurrentBid : IBar2DoubleHandler
    {
        public IList<double> Execute(ISecurity source)
        {
            var rt = source as ISecurityRt;
            var v = rt == null ? 0.0 : rt.FinInfo.Bid.HasValue ? rt.FinInfo.Bid.Value : 0.0;
            var res = new double[source.Bars.Count];
            for(int i = 0; i < res.Length;i++)
            {
                res[i] = v;
            }
            return res;
        }
    }

    public class CurrentAsk : IBar2DoubleHandler
    {
        public IList<double> Execute(ISecurity source)
        {
            var rt = source as ISecurityRt;
            var v = rt == null ? 0.0 : rt.FinInfo.Ask.HasValue ? rt.FinInfo.Ask.Value : 0.0;
            var res = new double[source.Bars.Count];
            for (int i = 0; i < res.Length; i++)
            {
                res[i] = v;
            }
            return res;
        }
    }

    public class CurrentBuyCount : IBar2DoubleHandler
    {
        public IList<double> Execute(ISecurity source)
        {
            var rt = source as ISecurityRt;
            var v = rt == null ? 0.0 : rt.FinInfo.BuyCount.HasValue ? rt.FinInfo.BuyCount.Value : 0.0;
            var res = new double[source.Bars.Count];
            for (int i = 0; i < res.Length; i++)
            {
                res[i] = v;
            }
            return res;
        }
    }

    public class CurrentSellCount : IBar2DoubleHandler
    {
        public IList<double> Execute(ISecurity source)
        {
            var rt = source as ISecurityRt;
            var v = rt == null ? 0.0 : rt.FinInfo.SellCount.HasValue ? rt.FinInfo.SellCount.Value : 0.0;
            var res = new double[source.Bars.Count];
            for (int i = 0; i < res.Length; i++)
            {
                res[i] = v;
            }
            return res;
        }
    }
}

Не отображается ни бид ни аск. Количество заявок переделал в объем заявок, но все равно не помогло:
    public class CurrentBuyVolume : IBar2DoubleHandler
    {
        public IList<double> Execute(ISecurity source)
        {
            var rt = source as ISecurityRt;
            var v = rt == null ? 0.0 : rt.FinInfo. BuySqty.HasValue ? rt.FinInfo. BuySqty.Value : 0.0;
            var res = new double[source.Bars.Count];
            for (int i = 0; i < res.Length; i++)
            {
                res[i] = v;
            }
            return res;
        }
    }

    public class CurrentSellVolume : IBar2DoubleHandler
    {
        public IList<double> Execute(ISecurity source)
        {
            var rt = source as ISecurityRt;
            var v = rt == null ? 0.0 : rt.FinInfo. SellSqty.HasValue ? rt.FinInfo. SellSqty.Value : 0.0;
            var res = new double[source.Bars.Count];
            for (int i = 0; i < res.Length; i++)
            {
                res[i] = v;
            }
            return res;
        }
    }



Отредактировано ViL (Wed Dec 07 2011 03:54 PM)

Наверх
#34337 - Wed Dec 07 2011 03:56 PM Re: Как получить объем заявок на покупку и на продажу [Re: _ID_]
ViL Offline
TSLab
Carpal Tunnel

Registered: Sun Oct 17 2010
Записи: 8143
Пример на волатильность.

Click to reveal..
[/code]public class Volatility : IBar2DoubleHandler
{
public IList<double> Execute(ISecurity source)
{
var secrt = source as ISecurityRt
var res = new double[source.Bars.Count];
if(secrt != null)
{
var v = secrt.FinInfo.Volatility ?? 0;
for(int i=0; i < res.Length; i++)
{
res[i] = v;
}
}
return res;
}
}[code]


/// Количество заявок на покупку в очереди торговой системы
public double? BuyCount { get; set; }

/// Количество заявок на продажу в очереди торговой системы
public double? SellCount { get; set; }

Объем вместо Count - Sqty


Отредактировано ViL (Wed Dec 07 2011 04:00 PM)

Наверх
#34350 - Wed Dec 07 2011 08:56 PM Re: Как получить объем заявок на покупку и на продажу [Re: ViL]
_ID_ Offline
journeyman

Registered: Wed Feb 16 2011
Записи: 65
Получилось вот так, но все равно нули

public class CurrentBuyVolume : IBar2DoubleHandler
{

public IList<double> Execute(ISecurity source)
{
return Calc(source);
}

public static IList<double> Calc(ISecurity source)
{
var secrt = source as ISecurityRt;
var res = new double[source.Bars.Count];
if(secrt != null)
{
var v = secrt.FinInfo.BuySqty ?? 0;

for(int i=0; i < res.Length; i++)
{
res[i] = v;
}
}
return res;
}

}

public class CurrentSellVolume : IBar2DoubleHandler
{

public IList<double> Execute(ISecurity source)
{
return Calc(source);
}

public static IList<double> Calc(ISecurity source)
{
var secrt = source as ISecurityRt;
var res = new double[source.Bars.Count];
if(secrt != null)
{
var v = secrt.FinInfo.SellSqty ?? 0;

for(int i=0; i < res.Length; i++)
{
res[i] = v;
}
}
return res;
}

}

Наверх
#34351 - Wed Dec 07 2011 08:59 PM Re: Как получить объем заявок на покупку и на продажу [Re: _ID_]
_ID_ Offline
journeyman

Registered: Wed Feb 16 2011
Записи: 65
не могу понять, что упустил, помогите пож-та
{ get; set; } - для чего это нужно? в получившимся коде этого нет


Отредактировано _ID_ (Wed Dec 07 2011 09:00 PM)

Наверх
#34352 - Wed Dec 07 2011 09:11 PM Re: Как получить объем заявок на покупку и на продажу [Re: _ID_]
ViL Offline
TSLab
Carpal Tunnel

Registered: Sun Oct 17 2010
Записи: 8143
Эти данные работают только в режиме реал-тайм. Т.е. в запущенном на реал скрипте.

Наверх
#34361 - Thu Dec 08 2011 07:03 AM Re: Как получить объем заявок на покупку и на продажу [Re: ViL]
_ID_ Offline
journeyman

Registered: Wed Feb 16 2011
Записи: 65
я это понимаю.
подключаюсь к алор и айтиинвест.
и в режиме реального времени в графиках блок открытый интерес дает значения отличные от нуля, а данные два блока (объем заявок покупателей и продавцов) все равно нули.
не могу разобраться почему. может ли быть такое что данные в tslab транслируются а в доступ через апи не попадают
У вас нет кодов для открытого интереса?

Наверх
#34366 - Thu Dec 08 2011 11:01 AM Re: Как получить объем заявок на покупку и на продажу [Re: _ID_]
ViL Offline
TSLab
Carpal Tunnel

Registered: Sun Oct 17 2010
Записи: 8143
Откройте таблицу котировок и выведите туда эти бумаги, в котировках эти значения отличны от 0?

Наверх
#34367 - Thu Dec 08 2011 11:47 AM Re: Как получить объем заявок на покупку и на продажу [Re: ViL]
_ID_ Offline
journeyman

Registered: Wed Feb 16 2011
Записи: 65
Да конечно. В файле скрин.
Конечно есть еще второй вопрос почему у разных брокеров данные разные. Пока думаю что это связанно с тем что в демо от Алор данные идут некорректные.


Attachments
СумСпрос_сумПредл.png (526 downloads)


Наверх
#34396 - Thu Dec 08 2011 08:31 PM Re: Как получить объем заявок на покупку и на продажу [Re: _ID_]
Nektodron Offline

Carpal Tunnel

Registered: Thu Oct 23 2008
Записи: 5492
АйтиИнвест эту информацию не предоставляет.

Наверх
#34397 - Thu Dec 08 2011 08:35 PM Re: Как получить объем заявок на покупку и на продажу [Re: Nektodron]
ZSE Offline
TSLab
veteran

Registered: Mon Feb 16 2009
Записи: 1375
В режиме Демо обычно данные идут с демо-Фортс - а это совсем другая картинка. имеющая отдаленное отношение к реальной жизни

Наверх
#34403 - Thu Dec 08 2011 10:49 PM Re: Как получить объем заявок на покупку и на продажу [Re: ZSE]
_ID_ Offline
journeyman

Registered: Wed Feb 16 2011
Записи: 65
Как не предоставляет. Картинку во вложении посмотрите. СумСпрос и Сумпред в окне котировок присутствуют от айти. Я специально еще сравнил с данными из БКС (они транслируют в Quik объем заявок и кол-во покупателей и продавцов) все совпадает.
Айти транслирует объем заявок но не транслирует кол-во покупателей и продавцов.
Я же не выдумываю настройте и посмотрите окно котировок.
я хочу получить доступ через API к данным по объему заявок покупателей и продавцов.

Наверх
#34405 - Thu Dec 08 2011 11:22 PM Re: Как получить объем заявок на покупку и на продажу [Re: _ID_]
_ID_ Offline
journeyman

Registered: Wed Feb 16 2011
Записи: 65
Алор также в окне котировок выдает объем заявок покупателей и продавцов. Но через Api тоже не могу эти данные вытащить.

Наверх
#34788 - Mon Dec 19 2011 02:19 PM Re: Как получить объем заявок на покупку и на продажу [Re: ZSE]
_ID_ Offline
journeyman

Registered: Wed Feb 16 2011
Записи: 65
Да действительно на реальном сервере данные Алор и АйтиИнвест совпадают (см. вложение).

Не пойму почему никто так и не отвечает почему невозможно получить доступ к данным СумПредл и СумСпрос через API.
За Tslab плачу через двух брокеров, как нибудь уже среагируйте. Прошла неделя после вопроса.


Attachments
СумСпрос_сумПредл2.png (458 downloads)


Наверх
#35368 - Wed Jan 04 2012 01:39 PM Re: Как получить объем заявок на покупку и на продажу [Re: _ID_]
_ID_ Offline
journeyman

Registered: Wed Feb 16 2011
Записи: 65
Уважаемые разработчики распишу по пунктам, в чем удалось разобраться по данной проблеме. В API данные транслируются, но есть один момент, в котором я не могу сам разобраться и одна ошибка трансляции данных в TsLab:

1. Через FinInfo так и не удалось получить доступ к СумСпрос и СумПредл, в коде

public static IList<double> Calc(ISecurity source)
{
var secrt = source as ISecurityRt;
...

secrt почему то всегда null в режиме реального времени. Подскажите с чем это может быть связано.

2. Через BidQty и AskQty возможно получить доступ к данным. Но оказалось, что BidQty транслирует СумПредл, а AskQty - ЗаявПок.
Необходимо исправить ошибку и сделать трансляцию СумСпрос через AskQty.

И как предложение добавить два свойства в класс BidAskBar
для трансляции ЗаявПок и ЗаявПред.

В первую очередь конечно хотелось бы видеть корректную реализацию трансляции СумСпрос.


Отредактировано _ID_ (Wed Jan 04 2012 01:43 PM)

Наверх
#35374 - Wed Jan 04 2012 03:37 PM Re: Как получить объем заявок на покупку и на продажу [Re: _ID_]
Ti_ru Offline
writer

Registered: Sun Oct 17 2010
Записи: 479
Вот рабочий код с трансляцией суммарного спроса и предложения в реалтайме.


Attachments
FinInfo_RT.cs (381 downloads)


Наверх
#35381 - Wed Jan 04 2012 05:30 PM Re: Как получить объем заявок на покупку и на продажу [Re: Ti_ru]
_ID_ Offline
journeyman

Registered: Wed Feb 16 2011
Записи: 65
Спасибо, самый первый пост данной ветки начинается ровно с этого кода и он у меня не срабатывает так как в реал тайме у меня rt равен null
public IList<double> Execute(ISecurity source)
{
var rt = source as ISecurityRt;
...
не могу понять почему.

Наверх
#35383 - Wed Jan 04 2012 06:08 PM Re: Как получить объем заявок на покупку и на продажу [Re: _ID_]
Ti_ru Offline
writer

Registered: Sun Oct 17 2010
Записи: 479
вы точно смотрите на трансляцию на реальном скрипте, а не в лаборатории?

Наверх
#35389 - Wed Jan 04 2012 07:35 PM Re: Как получить объем заявок на покупку и на продажу [Re: Ti_ru]
_ID_ Offline
journeyman

Registered: Wed Feb 16 2011
Записи: 65
Я подключаюсь к брокеру и в графиках выставляю кубики и рассматриваю как работают скомпилированные функции. Специально жду на всякий случай пока сформируется пара свечей. Таим фрейм одна минутный. То есть это даже не скрипт.

Наверх
#35390 - Wed Jan 04 2012 07:46 PM Re: Как получить объем заявок на покупку и на продажу [Re: _ID_]
Ti_ru Offline
writer

Registered: Sun Oct 17 2010
Записи: 479
Originally Posted By: _ID_
Я подключаюсь к брокеру и в графиках выставляю кубики и рассматриваю как работают скомпилированные функции. Специально жду на всякий случай пока сформируется пара свечей. Таим фрейм одна минутный. То есть это даже не скрипт.

дак вам же уже сказали, что данные будут отображаться только на реальном скрипте, то есть скрипте, подключенному к портфелю и запущенного в торговлю
тыц

Наверх
#35393 - Wed Jan 04 2012 08:13 PM Re: Как получить объем заявок на покупку и на продажу [Re: Ti_ru]
_ID_ Offline
journeyman

Registered: Wed Feb 16 2011
Записи: 65
Вы оказались правы. Не знал, что есть разница между графиком и скриптом в реале.
Спасибо большое, все заработало.
Вопрос про доступ через FinInfo снимается.
Остался только один вопрос к разработчикам:

BidQty транслирует СумПредл, а AskQty - ЗаявПок.
Необходимо исправить ошибку и сделать трансляцию СумСпрос через AskQty. И как предложение добавить два свойства в класс BidAskBar
для трансляции ЗаявПок и ЗаявПред.

Наверх
#35605 - Wed Jan 11 2012 10:10 AM Re: Как получить объем заявок на покупку и на продажу [Re: _ID_]
_ID_ Offline
journeyman

Registered: Wed Feb 16 2011
Записи: 65
Кто нибудь из разработчиков Tslab ответит?
Ошибка подтверждена (некорректность трансляции данных в AskQty) или нет? Сроки устранения ошибки?

Наверх
#35624 - Wed Jan 11 2012 09:22 PM Re: Как получить объем заявок на покупку и на продажу [Re: _ID_]
51ru Offline
journeyman

Registered: Mon Nov 21 2011
Записи: 88
for ID:

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

вопрос вызван тем, что у меня есть кубики получения данных с реалтайма, но я не могу их использовать, так как не где накапливать получаемые значения...

Наверх
#55593 - Fri May 31 2013 03:09 PM Re: Как получить объем заявок на покупку и на продажу [Re: 51ru]
Frend Offline
Pooh-Bah

Registered: Sat Jan 09 2010
Записи: 2054
Давно не заглядывал, идея появилась. В связи с этим по данной ветки вопрос, довели до ума СуммарныйСпрос/Предложение или нет? а если довели подскажите плиз где поискать
PS: по форуму поискал, не нашел smile
Возможно руки крюки :), бывает
_________________________
Помогу с реализацией вашей идеи, оценкой системы. Консультации
frendwork@rambler.ru

Наверх
#55608 - Sat Jun 01 2013 11:51 AM Re: Как получить объем заявок на покупку и на продажу [Re: Frend]
ra81 Offline
Carpal Tunnel

Registered: Thu Sep 27 2012
Записи: 2860
Все там же где он и был. ОБратитесь к началу темы. Там есть примеры.
Если я верно понял о чем вы.
_________________________
__


Наверх
#56206 - Wed Jun 26 2013 02:57 PM Re: Как получить объем заявок на покупку и на продажу [Re: ra81]
Frend Offline
Pooh-Bah

Registered: Sat Jan 09 2010
Записи: 2054
К сожалению не работает, везде где есть упоминания об этом проверил, не работает
_________________________
Помогу с реализацией вашей идеи, оценкой системы. Консультации
frendwork@rambler.ru

Наверх
#56216 - Wed Jun 26 2013 07:40 PM Re: Как получить объем заявок на покупку и на продажу [Re: Frend]
ra81 Offline
Carpal Tunnel

Registered: Thu Sep 27 2012
Записи: 2860
А вот так смотрели?

sec.FinInfo.SellSqty

FinInfo переехал сейчас в последних сборках. И находится в ISecurity
_________________________
__


Наверх
Page 1 of 2 1 2 >


Moderator:  ViL, sar