Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?
Июля 02, 2022, 05:15:46 pm
Начало Помощь Поиск Войти Регистрация
Новости:

Transaq  |  СБО "Transaq"  |  Подсистема ATF  |  Topic: Получение информации из стакана « предыдущая тема следующая тема »
Страниц: [1] Печать
Автор Тема: Получение информации из стакана  (Прочитано 5653 раз)
nxz
Full Member
***
Сообщений: 241


Просмотр профиля Email
« : Октября 25, 2011, 05:50:26 pm »

Товарищи разработчики, у меня вопрос.

При работе со стаканом я могу, используя ATF, посчитать количество лотов на покупку (getBidVolume(n)) и продажу (getAskVolume(n)) всего стакана (getBidPosCount() и getAskPosCount()).

В таблице "Финнансовые инструменты" есть поля "Покупают лотов" и "Продают лотов".

Если посчитать обьем стакана на покупку и продажу средствами ATF, то это будут те же числа, что и в таблице?
               Если да, то
                          Можно ли средствами ATF вытащить эту информацию из таблицы?
               Если нет, то
                          Чем будут отличаться эти числа?
Записан
Shubert
Full Member
***
Сообщений: 109



Просмотр профиля Email
« Ответ #1 : Октября 26, 2011, 12:51:29 pm »

nxz
Quote
Если посчитать обьем стакана на покупку и продажу средствами ATF, то это будут те же числа, что и в таблице?

Размер "стакана" на ФБ 20 позиций: 10 - на продажу от текущей цены, 10 - на покупку. Объёмы не совпадут с табличными.

Размер "стакана" на FORTS - тоже неполный, но намного больше -  100 позиций. Объёмы могут не совпасть с табличными.

Средствами ATF, в текущей версии 1.12, судя по описанию, вытащить эту информацию нельзя. Нужно вводить новый объект типа hash, например - securities, и описывать его свойства, методы и события.
« Последнее редактирование: Октября 26, 2011, 01:05:00 pm от Shubert » Записан
nxz
Full Member
***
Сообщений: 241


Просмотр профиля Email
« Ответ #2 : Октября 26, 2011, 06:14:29 pm »

Спасибо!
Вот это я и хочу услышать от разработчиков, предоставят они нам функционал позволяющий считывать информацию из таблиц.
Записан
Heller
Разработчики
Hero Member
*****
Сообщений: 1277


Просмотр профиля Email
« Ответ #3 : Октября 27, 2011, 10:25:46 am »

Единый интерфейс будет сложно реализовать, так как разные таблицы делались в разное время (часто с разницей в года) и поэтому реализованы по-разному, так что это маловероятное направление развития. Про остальное Shubert очень грамотно ответил.
Записан
nxz
Full Member
***
Сообщений: 241


Просмотр профиля Email
« Ответ #4 : Октября 27, 2011, 11:20:57 am »

Heller, а если без построения единого интерфейса, можность создать функцию позволяющю  вытащить информацию из таблицы "Финнансовые инструменты" о полях "Покупают лотов" и "Продают лотов", типа getBidVolume() и getAskVolume().
Записан
nxz
Full Member
***
Сообщений: 241


Просмотр профиля Email
« Ответ #5 : Октября 31, 2011, 08:07:03 pm »

Нарисовал скрипт
Code: [Select]
#samewindow
#line 0 solid green

var book;

function init() {

book = new_object("book");
book.subscribe();
}

function calc() {

book.load();
var i; var v; var n;
i = 0;
while (i <= book.getAskPosCount()) {
v += book.getAskVolume(i);
i += 1;
}
i = 0;
while (i <= book.getBidPosCount()) {
n += book.getBidVolume(i);
i += 1;
}

line[0] = v-n;
}

Но не могу добиться, что бы линия начинала отрисовываться от "0" и с момента запуска индикатора.
Записан
Heller
Разработчики
Hero Member
*****
Сообщений: 1277


Просмотр профиля Email
« Ответ #6 : Ноября 03, 2011, 04:18:20 pm »

В принципе функцию такую сделать можно, сделаем в обозримой перспективе.

Про последнее сообщение со скриптом не очень понял в чем проблема.
Записан
nxz
Full Member
***
Сообщений: 241


Просмотр профиля Email
« Ответ #7 : Ноября 07, 2011, 05:48:23 pm »



line 0 не имеет истории, поэтому начинает рисовать только в момент запуска скрипта (точка 2).

Мне хотелось бы что бы линии от точки 1 до точки 2 не было на графике и точка 2 начинала отсчет от 0 по левой шкале, а не с произвольного значения, как это получается у меня.

Heller, что можно ли это исправить?
« Последнее редактирование: Ноября 07, 2011, 05:50:47 pm от nxz » Записан
Shubert
Full Member
***
Сообщений: 109



Просмотр профиля Email
« Ответ #8 : Ноября 07, 2011, 09:59:51 pm »

nxz
1. А с чего Вы решили, что после объявления переменных их значения равны нулю? Открою секрет, что их значения будут случайными из "кучи" (стека), где для них выделяется память. Кроме выделения памяти для переменных нужно ещё и задавать правильные начальные значения. Тогда хоть линия на участке 1-2 будет на нулевой отметке. ;)
Code: [Select]
var v=0; var n=0;
2. В Списке функций ATF есть "волшебная" функция setBounds(nline, begin, end) , которая уберёт прорисовку линии на участке 1-2, если в качестве 2-го параметра задать "Начальное число свечей" из меню "\ Графики \ Параметры... ".
Code: [Select]
setBounds(0, 100); // Для 100 начальных свечей
Записан
Страниц: [1] Печать 
Transaq  |  СБО "Transaq"  |  Подсистема ATF  |  Topic: Получение информации из стакана « предыдущая тема следующая тема »
Перейти в:  


Войти

Powered by MySQL Powered by PHP Powered by SMF 2.0.10 | SMF © 2006-2008, Simple Machines LLC Valid XHTML 1.0! Valid CSS!