Получение размера позиции
Atom
25.08.2013
Buratino


Как получить позу по бумаге при инициализации стратегии? Пример на базе 2-го урока. В таком случае суммируются все позиции по всему содержимому портфеля: Position = ConnectionInterFace.SelectedPortfolio.GetPosition(),

Этот замороченный, да и не работает: Position = ConnectionInterFace.SelectedSecurity.Trader.GetPosition(ConnectionInterFace.SelectedPortfolio, ConnectionInterFace.SelectedSecurity)


Теги:


Спасибо:


1 2  >
Buratino

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


Вот такая запись возвращает ноль, хотя открытые позиции на момент инициализации стратегии есть:

Position = ConnectionInterFace.SafeConnection.Trader.GetPosition(ConnectionInterFace.SelectedPortfolio, ConnectionInterFace.SelectedSecurity).CurrentValue,

Спасибо:

IvanB

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


Buratino: Как получить позу по бумаге при инициализации стратегии? Пример на базе 2-го урока. В таком случае суммируются все позиции по всему содержимому портфеля: Position = ConnectionInterFace.SelectedPortfolio.GetPosition(),

Этот замороченный, да и не работает: Position = ConnectionInterFace.SelectedSecurity.Trader.GetPosition(ConnectionInterFace.SelectedPortfolio, ConnectionInterFace.SelectedSecurity) Попробуйте просмотреть все значения в коллекции свойства Positions объекта ConnectionInterFace.SelectedSecurity.Trader, разумеется, после подключения к терминалу/платформе.

Спасибо:

Buratino

Фотография
Дата: 26.08.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 всё разно инициализируется нулём.

Спасибо:

IvanB

Фотография
Дата: 27.08.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;

выполняется до того, как получены позиции с сервера? Попробуйте на этом коде поставить точку останова и проверьте позиции Трейдера и убедитесь что все верно с проверкой инструмента, может быть по проверке инструмента позиция не проходит...

Спасибо:

Buratino

Фотография
Дата: 27.08.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?
Спасибо:

IvanB

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


Buratino: Я этот код поставил непосредственно перед созданием стратегии. Точка остановки показывает верную позицию в переменной. Может эту конструкцию резоннее переносить во внутрь, в метод OnStarted? Можно, конечно, но тем не менее, позиции из трейдера должны адекватно приниматься и внутри стратегии. Один и тот-же трейдер, к которому обращаетесь в стратегии (позиции не верны) и вне стратегии (позиции верны)? Можно проверить простым сравнением.

Спасибо:

Axell

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


У меня тоже не работает Trader.GetPosition(Portfolio, Security)[cursing] Достаю позу с помощью Trader.Positions.FirstOrDefault(s => s.Security == Security).CurrentValue

Спасибо:

Mikhail Sukhov

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


Axell: У меня тоже не работает Trader.GetPosition(Portfolio, Security)[cursing] Достаю позу с помощью Trader.Positions.FirstOrDefault(s => s.Security == Security).CurrentValue

Первый способ что возвращает в вашей ситуации? И что возвращает второй?

Спасибо:

Axell

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


Первый возвращает 0, второй "Текущий остаток" из таблицы "Позиции по бумагам" в Квике. В 4.2.2.2 ничего не поменялось :(

Спасибо:

Axell

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


В 4.2.2.6 метод ITrader.GetPosition()(Получить позицию по портфелю и инструменту) как и прежде не работает :(

Спасибо:
1 2  >

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

loading
clippy