← Atrás

Trans ID равен 0

Здравствуйте! Почему иногда некоторые ордера выдают, что transId у них равен нулю? При этом сам ордер виден в коде. Верифаер не ругается.TransID у всех ордеров разный Прикладываю снимки http://saveimg.ru/show-image.php?id=4aa69442321bbd12553676c1f9530827 http://saveimg.ru/show-image.php?id=d89e4af72c04827587bffd4f9c4c086d

¿Le resultó útil este tema?

Compartir tema

Comentarios (19)

Iniciar sesión o Crear cuenta, Inicie sesión o regístrese para dejar un comentario

Serg
Serg

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

Alexander
Alexander

скачайте библиотеки из Tfs на codeplex, я выложил фикс там

qpile
qpile Autor

А что значит TFC? 😊
Дайте, пожалуйста, ссылку

Alexander
Alexander

Фикс выложен в 4.0.23

qpile
qpile Autor

Спасибо большое!

Serg
Serg

qpile: Спасибо большое! А помогло?

Alexander
Alexander

Serg:

qpile: Спасибо большое! А помогло?

а вам нет? :)

Serg
Serg

Alexander Mukhanchikov:

Serg:

qpile: Спасибо большое! А помогло?

а вам нет? :)

еще не тестировал. только загрузил 4.0.23. Александр, а по какому принципу стратегия понимает что отправленная заявка принадлежит ей, если transID заявки равен 0? Что с чем сравнивается и где?

И еще заодно хотел уточнить: для любой завки отправленной в квик есть какая-то вероятность, что ее transID будет 0 или же это касается только MOVE_ORDER заявок? Наблюдал ситуацию когда колонка "ID транзакции" в квике заполнена как надо, а transID этой заявки в QuikTrader равен 0.

Alexander
Alexander

Serg:

Alexander Mukhanchikov:

Serg:

qpile: Спасибо большое! А помогло?

а вам нет? :)

еще не тестировал. только загрузил 4.0.23. Александр, а по какому принципу стратегия понимает что отправленная заявка принадлежит ей, если transID заявки равен 0? Что с чем сравнивается и где?

И еще заодно хотел уточнить: для любой завки отправленной в квик есть какая-то вероятность, что ее transID будет 0 или же это касается только MOVE_ORDER заявок? Наблюдал ситуацию когда колонка "ID транзакции" в квике заполнена как надо, а transID этой заявки в QuikTrader равен 0.

TransId остаётся 0 для тех сделок, которые были посланы руками. Если флаг выключен - такие сделки не будут загружены в шлюз. только при мув или не только - не знаю. по моей информации от источников Арки - не только.

Serg
Serg

Alexander Mukhanchikov: TransId остаётся 0 для тех сделок, которые были посланы руками. Если флаг выключен - такие сделки не будут загружены в шлюз. только при мув или не только - не знаю. по моей информации от источников Арки - не только. Сидел думал... не могу догнать почему все поля заявки из квика заполнены а transID = 0? Как всетаки сделать так чтобы тратегия видела все свои заявки? А то в trader'e есть все а в стратегии только те где transID != 0

hobo
hobo

Serg: И еще заодно хотел уточнить: для любой завки отправленной в квик есть какая-то вероятность, что ее transID будет 0 или же это касается только MOVE_ORDER заявок? Наблюдал ситуацию когда колонка "ID транзакции" в квике заполнена как надо, а transID этой заявки в QuikTrader равен 0. Вероятность есть. Будьте готовы, что transID может быть, а может ее не быть. NewOrders ID=1457088914. TR_id=0. Status=. State=Active. OrdersChanged ID=1457088914. TR_id=0. Status=. State=Active. IsMatched=False OrdersChanged ID=1457088914. TR_id=64208499. Status=Accepted. State=Done. IsMatched=True NewMyTrades ID=61536416. Order_Id=1457088914. Order_Tr_Id=0.

Serg
Serg

hobo:

Serg: И еще заодно хотел уточнить: для любой завки отправленной в квик есть какая-то вероятность, что ее transID будет 0 или же это касается только MOVE_ORDER заявок? Наблюдал ситуацию когда колонка "ID транзакции" в квике заполнена как надо, а transID этой заявки в QuikTrader равен 0. Вероятность есть. Будьте готовы, что transID может быть, а может ее не быть. NewOrders ID=1457088914. TR_id=0. Status=. State=Active. OrdersChanged ID=1457088914. TR_id=0. Status=. State=Active. IsMatched=False OrdersChanged ID=1457088914. TR_id=64208499. Status=Accepted. State=Done. IsMatched=True NewMyTrades ID=61536416. Order_Id=1457088914. Order_Tr_Id=0. Спасибо за исследование. А как Вы боретесь с этой ситуацией?

hobo
hobo

Serg: Спасибо за исследование. А как Вы боретесь с этой ситуацией? Сам вчера первый раз заметил такое. Теоретически - хранить связку Order.Id<->Order.TransactionId, если она хоть раз придет полностью и поднимать события по Id, если связка известна и TransactionId пришел равный 0. Практически - как пользователю готовой библиотеки не вижу простых решений.

Alexander Mukhanchikov: Зачем бороться? 4.0.23 сама борется как надо :) Рад слышать если так. По описанию я понимал, что такие заявки и сделки вообще игнорируются на уровне шлюза.

Alexander
Alexander

Не понял вас. Вы скачали последнюю версию, не меняли флаг SupportManualOrders и у вас стратегия не видит всех своих заявок поданных через стратегию?

Serg
Serg

Alexander Mukhanchikov: Не понял вас. Вы скачали последнюю версию, не меняли флаг SupportManualOrders и у вас стратегия не видит всех своих заявок поданных через стратегию? SupportManualOrders менять или нет?

Так я создаю QuikTrader

_trader = new QuikTrader(QPath + @"\info.exe")
{
    IsAsyncMode = true,
    DdeServer = ddeServName,
    SupportManualOrders = true
};

Из вашего поста про обновление:> Alexander Mukhanchikov:

Выложил 4.0.23

Изменения:

  1. QuikTrader.SuppportManualOrders (false по умолчанию) - важное свойство для проблемы с нулевым TransactionId. <mark>По умолчанию сделки с нулевым TransactionId теперь не грузятся в шлюз.</mark>

Как я понял если я делаю его true то сделки грузятся в шлюз(тут у меня подозрения что с версией 4.0.22 они тоже грузились). А как это влияет на стратегию(то что сделки подгружаются в шлюз)? Если стратегий несколько то каждая будет думать что заявки с transID == 0 принадлежат ей?

Alexander
Alexander

Нет, не надо менять флаг.

Serg
Serg

ок сейчас попробую

Serg
Serg

Кажется помогло) спасибо)

Alexander
Alexander

Зачем бороться? 4.0.23 сама борется как надо :)