Список форумов Trading tools Trading tools
?нструменты для торговли на FORTS
 

На сайт ttools.ru
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы  RSS-Подписка на форумRSS-Подписка на форум   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 

Доступ к структуре "?нформация о заявке" (TOrderInfo)

 
Начать новую тему   Ответить на тему    Список форумов Trading tools -> QuikOrdersDOM SDK
Предыдущая тема :: Следующая тема  
Автор Сообщение
Grib



Зарегистрирован: 17.06.2010
Сообщения: 12

СообщениеДобавлено: Чт Июн 17, 2010 1:26 pm    Заголовок сообщения: Доступ к структуре "?нформаци Ответить с цитатой

Здравствуйте, Данила.
Возникла проблема с доступом к структуре TOrderInfo.
Пишу на C++ Builder.
Версия Quik 5.16.0.128, сервер - Демо-доступ на сайте quik.ru

Структура моей программы как в ваших примерах.

Так вот, в файле uEMATrading глобально объявляю переменную:
TOrderInfo OrderInf;

Далее в функции MainCycle()
......
int OrderCount = R.fATLibGetOrdersCount() - 1;
if(OrderCount >= 0)
{
R.fATLibGetOrderInfo(OrderCount, &OrderInf);

X = OrderInf.Price; // Здесь беру значение Цены заявки
....
// Далее вывожу в файл переменную X, а там неадекватные значения, и так для разных переменных(int, double) из структуры TOrderInfo. Но при выводе переменных типа char, кое-что проскакивает, например при выводе SecClass получаем - "BFUT", т.е. без первых двух букв, аналогично с SecTicker - "U0".

При работе со структурой TSecTableInfo тоже самое.
Но с TSecInfo всё проходит удачно!
}
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Danila
Site Admin


Зарегистрирован: 24.07.2009
Сообщения: 837

СообщениеДобавлено: Чт Июн 17, 2010 2:37 pm    Заголовок сообщения: Ответить с цитатой

Grib, а вы переписали на си uATLibrary ?
Я не очень разбираюсь в BCBuilder, но вроде указатель это * а не & ?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Grib



Зарегистрирован: 17.06.2010
Сообщения: 12

СообщениеДобавлено: Чт Июн 17, 2010 5:05 pm    Заголовок сообщения: Ответить с цитатой

& - это взятие адреса. Так что в функцию fATLibGetOrderInfo() передаётся адрес структуры TOrderInfo.
Я делал аналогично с TSecInfo, работает без проблем. Но не могу справиться с TOrderInfo и TSecTableInfo.

Вы не могли бы поместить отрывок кода на Delphi? Как Вы получаете "?нформацию о заявке"?

uATLibrary перевёл в CBuilder. В интернете есть как это сделать из Delphi в CBuilder, это не сложно. Но я сомневаюсь, что у меня всё правильно получилосьSmile , так как не смог повторить ваш пример sample(вернее он работает, но не совсем так как вашSmile)
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Danila
Site Admin


Зарегистрирован: 24.07.2009
Сообщения: 837

СообщениеДобавлено: Чт Июн 17, 2010 7:57 pm    Заголовок сообщения: Ответить с цитатой

записал в ttools.ru/files/atlibcheckorders.rar

Правда там есть функции, которых ещё нет в текущей версии QuikOrdersDOM. Но большинство есть. А вы не могли бы поделиться atLibrary.pas на BCB ?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Grib



Зарегистрирован: 17.06.2010
Сообщения: 12

СообщениеДобавлено: Чт Июн 17, 2010 9:49 pm    Заголовок сообщения: Ответить с цитатой

Спасибо, очень интересно!

Вы, значит так это делаете?
tmpOrderInfo : TOrderInfo ;
cnt:=aInitRec.fATLibGetOrdersCount ;
aInitRec.fATLibGetOrderInfo(cnt, @tmpOrderInfo) ;

У меня, вроде также.

uATLibrary скину конечно.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Danila
Site Admin


Зарегистрирован: 24.07.2009
Сообщения: 837

СообщениеДобавлено: Пт Июн 18, 2010 8:31 am    Заголовок сообщения: Ответить с цитатой

Grib писал(а):
Спасибо, очень интересно!

Вы, значит так это делаете?
tmpOrderInfo : TOrderInfo ;
cnt:=aInitRec.fATLibGetOrdersCount ;
aInitRec.fATLibGetOrderInfo(cnt, @tmpOrderInfo) ;

У меня, вроде также.

uATLibrary скину конечно.

Да, так. Скиньте пожалуйста
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Grib



Зарегистрирован: 17.06.2010
Сообщения: 12

СообщениеДобавлено: Пн Июн 21, 2010 1:36 pm    Заголовок сообщения: Ответить с цитатой

Данила, скинул Вам ссылку на библиотеку. Кстати со своей проблемой разобрался, теперь всё работает.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Danila
Site Admin


Зарегистрирован: 24.07.2009
Сообщения: 837

СообщениеДобавлено: Пн Июн 21, 2010 3:42 pm    Заголовок сообщения: Ответить с цитатой

Grib писал(а):
Данила, скинул Вам ссылку на библиотеку. Кстати со своей проблемой разобрался, теперь всё работает.

Большое спасибо! В чем у вас была проблема ?
Вопрос: можно выложить для всех / включить в дистрибутив вашу библиотеку uATLibrary.cpp?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Grib



Зарегистрирован: 17.06.2010
Сообщения: 12

СообщениеДобавлено: Пн Июн 21, 2010 4:24 pm    Заголовок сообщения: Ответить с цитатой

Сделал выравнивание полей структуры
вот эти строки в файле,
#pragma pack(push, 1)
#pragma pack(pop)
и всё стало нормально.

Конечно выкладывайте библиотеку, может кто исправит или добавит что-нибудь. Только она для BCBuilder, для VC наверно надо её дорабатывать.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
dimka



Зарегистрирован: 20.05.2010
Сообщения: 10

СообщениеДобавлено: Чт Июл 01, 2010 11:35 am    Заголовок сообщения: Ответить с цитатой

Спасибо за перевод на С++. Был "затык " при переводе на VC++ с выравниванием.. Думал решать проблему также через директивы, а тут уже предложили. Smile
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Grib



Зарегистрирован: 17.06.2010
Сообщения: 12

СообщениеДобавлено: Пн Июл 05, 2010 1:18 pm    Заголовок сообщения: Ответить с цитатой

Вы уже сделали под VC, какие там отличия есть?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов Trading tools -> QuikOrdersDOM SDK Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2005 phpBB Group
Русская поддержка phpBB


Яндекс.Метрика