← Zurück

Trans ID равен 0

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

War dieses Thema hilfreich?

Thema teilen

Kommentare (19)

Anmelden oder Konto erstellen, Melden Sie sich an oder registrieren Sie sich, um einen Kommentar zu hinterlassen

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 сама борется как надо :)