Buratino
|
Date: 8/25/2013
Вот такая запись возвращает ноль, хотя открытые позиции на момент инициализации стратегии есть:
Position = ConnectionInterFace.SafeConnection.Trader.GetPosition(ConnectionInterFace.SelectedPortfolio, ConnectionInterFace.SelectedSecurity).CurrentValue,
|
|
|
|
Thanks:
|
|
|
|
|
|
IvanB
|
Date: 8/25/2013
Buratino:
Как получить позу по бумаге при инициализации стратегии? Пример на базе 2-го урока. В таком случае суммируются все позиции по всему содержимому портфеля:
Position = ConnectionInterFace.SelectedPortfolio.GetPosition(),
Этот замороченный, да и не работает:
Position = ConnectionInterFace.SelectedSecurity.Trader.GetPosition(ConnectionInterFace.SelectedPortfolio, ConnectionInterFace.SelectedSecurity)
Попробуйте просмотреть все значения в коллекции свойства Positions объекта ConnectionInterFace.SelectedSecurity.Trader, разумеется, после подключения к терминалу/платформе.
|
|
|
|
Thanks:
|
|
|
|
|
|
Buratino
|
Date: 8/26/2013
IvanB:
Buratino:
Как получить позу по бумаге при инициализации стратегии? Пример на базе 2-го урока. В таком случае суммируются все позиции по всему содержимому портфеля:
Position = ConnectionInterFace.SelectedPortfolio.GetPosition(),
Этот замороченный, да и не работает:
Position = ConnectionInterFace.SelectedSecurity.Trader.GetPosition(ConnectionInterFace.SelectedPortfolio, ConnectionInterFace.SelectedSecurity)
Попробуйте просмотреть все значения в коллекции свойства Positions объекта ConnectionInterFace.SelectedSecurity.Trader, разумеется, после подключения к терминалу/платформе.
На брейкпоинте Trader показывает корректные позиции, но в стратегию они не передаются. Следуя структуре Трейдера, передаю позицию следующим образом:
Position = ConnectionInterFace.SafeConnection.Trader.Positions.FirstOrDefault(p => p.Security == ConnectionInterFace.SelectedSecurity).CurrentValue;
Однако Position всё разно инициализируется нулём.
|
|
|
|
Thanks:
|
|
|
|
|
|
IvanB
|
Date: 8/27/2013
Buratino:
На брейкпоинте Trader показывает корректные позиции, но в стратегию они не передаются. Следуя структуре Трейдера, передаю позицию следующим образом:
Position = ConnectionInterFace.SafeConnection.Trader.Positions.FirstOrDefault(p => p.Security == ConnectionInterFace.SelectedSecurity).CurrentValue;
Однако Position всё разно инициализируется нулём.
Может быть код:
Position = ConnectionInterFace.SafeConnection.Trader.Positions.FirstOrDefault(p => p.Security == ConnectionInterFace.SelectedSecurity).CurrentValue;
выполняется до того, как получены позиции с сервера? Попробуйте на этом коде поставить точку останова и проверьте позиции Трейдера и убедитесь что все верно с проверкой инструмента, может быть по проверке инструмента позиция не проходит...
|
|
|
|
Thanks:
|
|
|
|
|
|
Buratino
|
Date: 8/27/2013
IvanB:
Buratino:
На брейкпоинте Trader показывает корректные позиции, но в стратегию они не передаются. Следуя структуре Трейдера, передаю позицию следующим образом:
Position = ConnectionInterFace.SafeConnection.Trader.Positions.FirstOrDefault(p => p.Security == ConnectionInterFace.SelectedSecurity).CurrentValue;
Однако Position всё разно инициализируется нулём.
Может быть код:
Position = ConnectionInterFace.SafeConnection.Trader.Positions.FirstOrDefault(p => p.Security == ConnectionInterFace.SelectedSecurity).CurrentValue;
>
> выполняется до того, как получены позиции с сервера? Попробуйте на этом коде поставить точку останова и проверьте позиции Трейдера и убедитесь что все верно с проверкой инструмента, может быть по проверке инструмента позиция не проходит...
Я этот код поставил непосредственно перед созданием стратегии. Точка остановки показывает верную позицию в переменной. Может эту конструкцию резоннее переносить во внутрь, в метод OnStarted?
|
|
|
|
Thanks:
|
|
|
|
|
|
IvanB
|
Date: 8/29/2013
Buratino:
Я этот код поставил непосредственно перед созданием стратегии. Точка остановки показывает верную позицию в переменной. Может эту конструкцию резоннее переносить во внутрь, в метод OnStarted?
Можно, конечно, но тем не менее, позиции из трейдера должны адекватно приниматься и внутри стратегии.
Один и тот-же трейдер, к которому обращаетесь в стратегии (позиции не верны) и вне стратегии (позиции верны)? Можно проверить простым сравнением.
|
|
|
|
Thanks:
|
|
|
|
|
|
Axell
|
Date: 8/29/2013
У меня тоже не работает Trader.GetPosition(Portfolio, Security)[cursing]
Достаю позу с помощью Trader.Positions.FirstOrDefault(s => s.Security == Security).CurrentValue
|
|
|
|
Thanks:
|
|
|
|
|
|
Mikhail Sukhov
|
Date: 8/29/2013
Axell:
У меня тоже не работает Trader.GetPosition(Portfolio, Security)[cursing]
Достаю позу с помощью Trader.Positions.FirstOrDefault(s => s.Security == Security).CurrentValue
Первый способ что возвращает в вашей ситуации? И что возвращает второй?
|
|
|
|
Thanks:
|
|
|
|
|
|
Axell
|
Date: 1/17/2014
Первый возвращает 0, второй "Текущий остаток" из таблицы "Позиции по бумагам" в Квике.
В 4.2.2.2 ничего не поменялось :(
|
|
|
|
Thanks:
|
|
|
|
|
|
Axell
|
Date: 2/21/2014
В 4.2.2.6 метод ITrader.GetPosition()(Получить позицию по портфелю и инструменту) как и прежде не работает :(
|
|
|
|
Thanks:
|
|
|
|
|