Приходят мои сделки у которых в ордере Id равно нулю.

Приходят мои сделки у которых в ордере Id равно нулю.
Atom
11.09.2012
Maxim


Добрый день. Иногда в событии NewMyTrades приходят сделки, у которых значение в ордере Id равно нулю.

В исходниках плазы нашел вот это место, касающееся МоихСделок:


if (orderTransactionId != 0)
{
	AddMyTrade(security, 0, orderTransactionId, trade);
}

Это баг или фича?


Теги:


Спасибо:


1 2  >
Mikhail Sukhov

Фотография
Дата: 11.09.2012
Ответить


Maxim: Добрый день. Иногда в событии NewMyTrades приходят сделки, у которых значение в ордере Id равно нулю.

Воспроизвести возможно?

Спасибо:

Maxim

Фотография
Дата: 11.09.2012
Ответить


Навряд ли. Большую часть времени все нормально. Из 1400 сделок 30 имеют ордер ноль. Как воспроизвестись не знаю.

Спасибо:

Mikhail Sukhov

Фотография
Дата: 11.09.2012
Ответить


Maxim: Навряд ли. Большую часть времени все нормально. Из 1400 сделок 30 имеют ордер ноль. Как воспроизвестись не знаю.

А как идет проверка?

Спасибо:

Maxim

Фотография
Дата: 11.09.2012
Ответить


Все сделки в SQL записываю. В них нахожу сделки с нулевым ордером.

Спасибо:

Mikhail Sukhov

Фотография
Дата: 11.09.2012
Ответить


Maxim: Все сделки в SQL записываю. В них нахожу сделки с нулевым ордером.

Понятно... Надо конечно упрощать проверку. Потому что ошибка может быть вовсе не в стокшарпе.

Спасибо:

Maxim

Фотография
Дата: 11.09.2012
Ответить


Mikhail Sukhov:

Maxim: Все сделки в SQL записываю. В них нахожу сделки с нулевым ордером.

Понятно... Надо конечно упрощать проверку. Потому что ошибка может быть вовсе не в стокшарпе.

Немного не понял, какую проверку упрощать? Данные льются в SQL при поступлении. Я ничего не проверяю.

Насчет «ошибки не в стокшарпе», возможно. Но при этом параллельно эти же сделки заливаются через Квик в другой SQL. И в другом SQL данные нормальные. Это, конечно, не подтверждает баг в стокшарпе.

Ну и плюс «AddMyTrade(security, 0, orderTransactionId, trade);» Возможно в этом месте что-то происходит не так? Постфактум не присваивается номер?

Спасибо:

Maxim

Фотография
Дата: 12.09.2012
Ответить


  1. Вопрос раз.

Работает ли корректно метод «AddMyTrade(security, 0, orderTransactionId, trade);»? Может быть до моего случая ни у кого не возникала ситуация, когда сделка приходит раньше ордера? Может быть этот метод в StockSharp.Algo.BaseTrader работает неверно?

  1. Вопрос два.

Зачем при добавлении своей сделки в методе «PlazaTrader.OnTradeInserted(PlazaRecord record)» использовать метод «AddMyTrade(security, 0, orderTransactionId, trade);» с параметром заявки равным нулю?

Ведь таблица «deal» потока «FORTS_FUTTRADE_REPL» содержит поля «id_ord_sell» или «id_ord_buy» которые и есть номер заявки, для данной сделки.

Спасибо:

Mikhail Sukhov

Фотография
Дата: 12.09.2012
Ответить


AddMyTrade работает именно так, как нужно.

Спасибо:

Maxim

Фотография
Дата: 13.09.2012
Ответить


Mikhail Sukhov: AddMyTrade работает именно так, как нужно.

А на второй вопрос есть ответ? :)

Спасибо:

Alexander

Фотография
Дата: 13.09.2012
Ответить


Maxim: 2) Вопрос два.

Зачем при добавлении своей сделки в методе «PlazaTrader.OnTradeInserted(PlazaRecord record)» использовать метод «AddMyTrade(security, 0, orderTransactionId, trade);» с параметром заявки равным нулю?

Ведь таблица «deal» потока «FORTS_FUTTRADE_REPL» содержит поля «id_ord_sell» или «id_ord_buy» которые и есть номер заявки, для данной сделки.

Как ты по сделке определишь по какому именно ордеру она прошла - по ord_sell или по ord_buy? Они оба != 0

Спасибо:
1 2  >

Добавить файлы через драг-н-дроп, , или вставить из буфера обмена.

loading
clippy