Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?
Января 29, 2022, 01:38:32 am
Начало Помощь Поиск Войти Регистрация
Новости:

Transaq  |  СБО "Transaq"  |  Подсистема ATF  |  Topic: Задержка 11 минут при получении цены инструмента « предыдущая тема следующая тема »
Страниц: [1] Печать
Автор Тема: Задержка 11 минут при получении цены инструмента  (Прочитано 3622 раз)
Владимир I
Newbie
*
Сообщений: 35


Просмотр профиля Email
« : Апреля 22, 2014, 10:49:19 am »

Здравствуйте !

  Столкнулся с очередным вредным и труднообнаружимым багом :

На ФОРТС при запросе текущей цены инструмента через следующую функцию

// Возвращает текущую цену инструмента.
function getCurrentPrice( var MySecName )
{
   var MySecId = findSecID( MySecName, "FORTS" );
   var StatLine = new_object( "statline" );
   
   StatLine.subscribe( MySecId );   // Подписаться на информацию по инструменту.
   var MyCurrentPrice = StatLine.getparam( MySecId, param_last ); // Текущая цена.
   StatLine.unsubscribe( MySecId ); // Отписаться от информации по инструменту.

   return MyCurrentPrice;
}

возвращается цена 12 минутной давности !
Вот строка из лога
2014.04.22 11.24.26 RIM4 = 115030 => MyTrade - Order : CurrPrice = 114840 ; SecName = RIM4 ; client = ****** ; operation = 1 ; price = 114870 ; quantity = 5 ; secid = 2144 ;

Где RIM4 = 115030 реальная текущая цена, полученная как    CurrentFuturesPrice = close;
а CurrPrice = 114840 получена через приведённую выше функцию  getCurrentPrice
Расхождение очевидно.
Посмотрел по журналу когда последний раз цена была 114840 и нашёл
2014.04.22 11.13.36 RIM4 = 114840
т.е. задержка составила 11 минут !

Вопросы :

1. Когда будет нормально работать ATF ? ( чувствую вопрос риторический )
2. Как правильно получить текущую цену инструмента по его коду ?

С уважением, Владимир
Записан

С уважением, Владимир
White Noise
Full Member
***
Сообщений: 164


White Noise

ICQ Messenger - 411196569
Просмотр профиля Email
« Ответ #1 : Апреля 30, 2014, 07:06:28 am »

Как вызываете функцию function getCurrentPrice( var MySecName ) ?
Записан
Владимир I
Newbie
*
Сообщений: 35


Просмотр профиля Email
« Ответ #2 : Апреля 30, 2014, 10:27:47 am »

Вот так вызываю :

      var OptionsPrice = getCurrentPrice( OptionName );

В другом месте

   var MyCurrentPrice = getCurrentPrice( MySecName );
Записан

С уважением, Владимир
White Noise
Full Member
***
Сообщений: 164


White Noise

ICQ Messenger - 411196569
Просмотр профиля Email
« Ответ #3 : Апреля 30, 2014, 11:54:53 am »

Если честно вопрос уже заезженный,....скорее всего каждый калк создаете объекты, удаляете, подписываетесь, отписываетесь,....вот и подвисает.
используйте просто close - проверенно, надежно,...
Записан
Владимир I
Newbie
*
Сообщений: 35


Просмотр профиля Email
« Ответ #4 : Апреля 30, 2014, 02:37:48 pm »

Мне нужны те только цены, но и другие параметры ( например ГО ) и не только по текущему инструменту, но и по опционам на него с разными страйками.
А close даёт цену только по инструменту, по которому график строится.
Записан

С уважением, Владимир
Страниц: [1] Печать 
Transaq  |  СБО "Transaq"  |  Подсистема ATF  |  Topic: Задержка 11 минут при получении цены инструмента « предыдущая тема следующая тема »
Перейти в:  


Войти

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