Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?
22.01.2025, 11:47:03
Начало Помощь Поиск Войти Регистрация
Новости: ООО «Скрин маркет системз», правообладатель программы «Система брокерского обслуживания «TRANSAQ» официально заявляет, что не ведет никакой деятельности в мессенджерах или социальных сетях. 
Подробности на нашем сайте  WWW.TRANSAQ.RU.

Просмотр сообщений

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - Сорвачев Сергей

Pages: 1 [2] 3 4
16
Добрый день.
<command id="subscribe_ticks" filter="true/false">
<security secid="..." tradeno="..." />

<security secid="..." tradeno="..." />
</command>

или

<command id="subscribe_ticks">
<security>
<board>идентификатор режима торгов</board>
<seccode>Код инструмента</seccode>
<tradeno>номер сделки</tradeno>
</security>
<security>..</security>
<security>..</security>
<security>..</security>
...
<security>..</security>
<filter>true/false</filter>
</command>

Если я правильно понял вопрос.

17
После последней команды приходит структура <securities> с запрошенными опционами.

После того как опционы пришли, команда subscribe выполняется без ошибок?

18
В блоке <securities> после команды connect этот инструмент есть? Прикрепите пожалуйста xdf-лог, если он у вас пишется.

19
1. SendCommand не является потокобезопасной
2. "Длительные блокировки" приведут к задержкам получения данных от сервера. Если клиент получает данные реже чем они поступают в "очередь клиента" на стороне сервера, возникает вероятность отключения клиента от сервера Transaq.
"Длительное время" не есть какая-то фиксированная величина, скорее тут речь идет о том что данные нужно как можно быстрее "переложить к себе в структуры данных" и вернуть управление в поток библиотеки. То есть задача клиента - обеспечить регулярную вычитку данных от сервера с минимальной задержкой.

20
Здравствуйте,
структура sec_info - результат выполнения команды get_securities_info (инициируется пользователем),
sec_info_upd приходит как обновление данных от сервера без запроса пользователя.
В апдейте приходят только те поля, которые указаны в документации.

21
Однако последующий запуск gethistorydata привел к завершению приложения без получения данных.
Не очень понятно что значит завершается. Падает (аварийно завершается с выбрасыванием исключения) или просто завершает свою работу без ошибок?
Если падает: вероятно вы храните указатели на данные, полученные от коннектора. Данные надо копировать, так как указатели удаляются. К тому же на пользователе лежит ответственность очистки буфера данных после каждой полученной порции данных (см. команду FreeMemory). Вызова FreeMemory я в отрывке вашего кода не вижу, на это стоит обратить внимание.

Запрашивать историю последовательно естественно можно, код ваш логически верен.

22
Но "candles111" в журнале нет. В чем может быть причина?
Причин может быть много  :)
У вас есть документация по xmlconnector? Там про команду connect написано следующее:
Quote
После того, как все начальные данные будут загружены, приложению будет отдана структура <server_status> со значением  connected="true". Это означает, что коннектор готов к работе.
Коннектору требуется время для загрузки начальных данных, поэтому нет смысла сразу после отправки команды на подключение к серверу (Transaq_Connect) запрашивать историю.
Правильный алгоритм работы - позвать команду connect, дождаться в колбэк структуру <server_status> с положительным статусом и только потом запрашивать данные.
Еще коннектор ведет лог в файле xdf*.log. Его содержимое зависит от уровня логирования, указанного при инициализации библиотеки. Там скорее всего можно найти ответ на ваш вопрос о причинах.

23
Добрый день! Прочитал всю ветку, но так и не нашел ответа на первоначальный вопрос: Как с помощью gethistorydata получать исторические данные через TXmlConnector на C#? Если у кого получилось, поделитесь, пож.

Добрый! Проблема в понимании логики работы или написании кода? Остальные команды удалось реализовать?

Скачиваем ТУТ пример коннектора на C#.
Файл MainForm.cs:
Code: (C#) [Select]
void Get_Transaq_History(int SecurityID, int TimeframeID, int HistoryLength, bool ResetFlag)формирование и отправка команды в коннектор

Файл connector.cs:
Code: (C#) [Select]
public static string Transaq_HandleData(string data)обработчик входящих данных от коннектора.
Вас интересует две секции из этого кода:
1. Значения period для передачи коннектору в gethistorydata
Code: [Select]
// данные для таймфреймов
if (section == "candlekinds")

2. Сами свечи, то есть результат вызова gethistorydata
Code: [Select]
// данные по свечам
if (section == "candles")
{
   if (ename == "candles")
   {
      // ваша обработка
    }
    if (ename == "candle")
    {
      // ваша обработка
    }
}

24
TRANSAQ Connector / Re: поле <value>
« on: 26.10.2021, 18:23:27 »
Добрый день. Какую версию библиотеки вы используете? Мы проверили работоспособность на ММВБ, поле заполняется:
Code: [Select]
<trade>
<secid>15381</secid>
<tradeno>4193445894</tradeno>
<orderno>26504867093</orderno>
<board>TQBR</board>
<seccode>GMKN</seccode>
<client>00010</client>
<buysell>B</buysell>
<union>KOSHKIN</union>
<time>26.10.2021 16:40:05.437</time>
<brokerref></brokerref>
<value>23248</value>
<comission>2.33</comission>
<price>23248</price>
<quantity>1</quantity>
<items>1</items>
<yield>0.0</yield>
<currentpos>1</currentpos>
<accruedint>0.0</accruedint>
<tradetype>T</tradetype>
<settlecode>Y2</settlecode>
</trade>

25
Пришлите пожалуйста полные логи dsp, ts, xdf на support@transaq.ru. Обработка колбэка длиной в 1300779 микросекунд уже не есть хорошо. Надо посмотреть при каких обстоятельствах возникает проблема. Минидампов случайно нет в папке с коннетором? Если есть пришлите их тоже.

26
Какая версия у вас? Uninitialize синхронизирован с потоком колбэков.

27
TRANSAQ Connector / Re: Время Жизни Сессии
« on: 15.03.2021, 13:52:50 »
Пришлите пожалуйста логи коннектора на support@transaq.ru, по ним можно будет судить что происходит.
Пример именования файлов, которые нас интересуют:
20210315_xdf.log
20210315_dsp.log
20210315_ts.log

28
TRANSAQ Connector / Re: Время Жизни Сессии
« on: 15.03.2021, 11:37:18 »
1. Такого понятия нет. Подключение к серверу активно пока клиент не будет отключен сервером или не отключится сам. Также отключения могут происходить из-за некоторых ошибок (например сетевых задержек и т.п.)
2. Без необходимости делать реконнект не следует
3. <server_status connected=false/> - признак потери/завершения подключения к серверу
4. Этот вопрос следует направить Вашему брокеру

29
TRANSAQ Connector / Re: FreeMemory и python
« on: 19.02.2021, 18:30:19 »
Пример полного класса-обертки для xmlconnector.dll

30
TRANSAQ Connector / Re: FreeMemory и python
« on: 19.02.2021, 18:26:03 »
Полагаю, что так:
XC_ENCODING = 'utf-8'
py_data = cast(data, c_char_p).value.decode(XC_ENCODING)

data - входной параметр вашей callback-функции
py_data - выходной объект-строка

Pages: 1 [2] 3 4


Войти

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