В одном квике есть несколько счетов. Производится следующая операция: С одного счета ставится внебиржевая заявка на покупку одного лота RIZ1 по какой-то цене, с другого - такая же заявка, только на продажу. В результате этой операции происходит сделка - первый счет покупает один лот у второго счета, второй - продает один лот первому. При этом в таблице "мои сделки" появляется две записи, что вполне логично. Но проблема в том, что у этих двух записей одинаковый номер сделки (но разный номер заявки, нижу приведу скриншоты ), и s# обрабатывает только одну из них ( событие NewMyTrades приходит только для одной из них ) , как правило ту, что приходит первой в таблицу. Подскажите, пожалуйста, как можно с этим бороться. Спасибо.
Скриншоты:


コメント (6)
ログイン または アカウントを作成, コメントを残すにはログインまたは新規登録してください
Думаю, что теоретически можно в PreProcessDdeData находить сделки с одинаковыми номерами, и присваивать им какие-нибудь фиктивные номера, при этом поддерживать список использованных номеров, чтобы случайно не присвоить одинаковые. Но это костыль, который может тормозить сильно. Другие варианты могут быть какие-то ?
Вставлять эту логику в S# - совсем не к месту, т.к. такое пока возникает только в РПС сделках. потенциально (но маловероятно) оно может всплыть и кое-где ещё.
Мы таск добавили себе, если где-то всплывёт - будем решать глобально.
Пока же - лишь локально делать в PreProcessDdeData, да, самый нормальный вариант.
Ок, спасибо за ответ. И да, наверное все же зря убрали вечернюю сессию - теперь приходится в PreProcerssDDeData везде менять FUTEVN на SPBFUT чтоб работало ))
FUTEVN высвечивается только на утро, отображая сделки вчерашнего физического дня и соответственно начала торгового дня - вечерняя сессия. сделки на вечерки все идут как SPBFUT.
Так что всё работает, у нас у самих стратегии ночью не спят :)
Может быть это весьма странно, но мне нужно на следующий день эти сделки учитывать )
Вечером сохраняйте историю, утром анализируйте Либо фильтруйте в PreProcerssDDeData