Alexander Mukhanchikov
За 2.5 года работы с таким не встречались.
Покажите, пожалуйста, скриншоты 2х квиков, у которых будет совпадать торговый счёт, но различаться фирма.
И я пока не могу придумать ситуации, когда эти 2 квика будут запущены на 1м компьютере и использоваться Stock#.
Отправил скриншот "Portfolios.bmp" на
info@stocksharp.comAlexander Mukhanchikov
На каких?
Эта проблема может возникнуть только если робот со S# запущен 24\5.
Например на LSE
Предложенный ключ: Инструмент + номер сделки + дата сделки
При условии уникальности ключа инструмента обеспечит 100% унакальность ключа сделки и как следствие исключит возможность неожиданных потерь данных.
Alexander Mukhanchikov ASorokovoy
7777 SPBFUT 24.04.12
на следующий день получим как минимум сразу две заявки
7777 SPBEVN 24.04.12 (изменился класс на SPBEVN)
7777 SPBFUT 25.04.12 (изменилась дата постановки)
Сделки с вечерней сессии не приедут. Они фильтруются и обрабатываются внутри.
призойдет update сделки 7777 и будет казаться что ее выставили 25.04.12 хотя по факту она была выставлена 24.04.12
сдесь важно добавить в ключ ID инструмента так как если грузить с разных бирж (используя разные коннекторы обьедененные в BasketTrader) вероятность совпадения номеров заявок достаточно велика.
Alexander Mukhanchikov
Сделки, где оба контрагента одно и тоже лицо запрещены. Биржа их не пропустит. Будет ошибка про один и тот же ИНН.
у меня может быть два разных счета зарегестрованных на два разных юридических лица (по факту одно и тоже)
Такая ситуация реальна. Отправил скриншот "MyDeals.bmp" на
info@stocksharp.com (две сделки с одинаковым номером. Порядковые номера в таблице 17, 18)
Alexander Mukhanchikov
То что вы предлагаете - это усложнение, которое, на данный момент, точно не актуально.
Возможно когда-нибудь к нему и придём, но сейчас нужды нет.
В своей программе я наблюдаю целый каскад ошибок. Утилита Verifier генерирует список ошибок на несколько сотен строк. Вышеописанные проблемы есть их источник (возможно не только они). Возможно эти проблемы возникают не только у меня, просто они не отмечены на форуме. Однако с ростом числа коннекторов и людей работающих с ними в связке ошибки начнут возникать не только у меня.
Mikhail Sukhov
Выглядит очень сложно.
Требуемые доработки весьмы просты.
1) Изменить принцеп формирования Portfolio.name в QUIKTrader
2) Изменить сигнатуры функций
StockSharp.Algo.BaseTrader.GetOrderByTransactionId(long ID )
StockSharp.Algo.BaseTrader.GetTrade(StockSharp.BusinessEntities.Security, long TradeID, System.Func<long,StockSharp.BusinessEntities.Trade>)
StockSharp.Algo.BaseTrader.AddMyTrade(StockSharp.BusinessEntities.Security, long, long, StockSharp.BusinessEntities.Trade)
и несколько поменять операции выборки в нутри них.
Правда после этого предеться немного изменить все существующие коннекторы, однако возможно это лучше сделать сейчас.
Для 2) как вариант можно еще заменить ВСЕ ключи коллекций на string и подобно StockSharp.Algo.SecurityIdGenerator
Сделать
string TradeIDGenerator.GenerateID(Security iSecur, long iNum, string date);
string OrderIdGenerator.GenerateID(Security iSecur, long iNum, string date);
string MyTradeIDGenerator.GenerateID(Trade iTrade, Order iOrder);
Предоствив пользователю возможность сочинять какие угодно ключи.
Все вышеописанные доработки я готов выполнить лично.
P.S.
Да, для ориентированного на людей торгущих на ММВБ и РТС с одного двух счетов существующей версии S# вполне достаточно. Однако, благодоря крайне высокому качеству имеющейся кодовой базы (как с точки зрения архитектуры, так и с точки зрения оформелния кода), потрясающе ясным интерфейсам, со временем S# может вырости в нечно большее, намного большее. И возможно есть смысл заложить основание для будущего роста уже сейчас.