Как запустить стратегию с ненулевой начальной позицией

Как запустить стратегию с ненулевой начальной позицией
Atom
7/19/2011
mdv


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

Tags:


Thanks:


Alexander

Avatar
Date: 7/19/2011
Reply


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


Прочитайте позицию из таблицы.
Thanks:

mdv

Avatar
Date: 7/19/2011
Reply


Так я знаю позицию, я не могу ее в стратегию передать. Strategy.PositionManager.Position - поле не радактируемое из вне. Метода не увидел для этого...
Полагаю, что PositionManager подписан на какие-то события обновления позиций, но как их искусственно сгенерить я тоже не знаю.
Thanks:

President

Avatar
Date: 7/19/2011
Reply


mdv
Так я знаю позицию, я не могу ее в стратегию передать. Strategy.PositionManager.Position - поле не радактируемое из вне. Метода не увидел для этого...
Полагаю, что PositionManager подписан на какие-то события обновления позиций, но как их искусственно сгенерить я тоже не знаю.


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

а насколько мне пояснили тут http://stocksharp.com/fo...ager-Position-tormozit/ Strategy.PositionManager.Position имеет другой смысл нежели позиция в торговом терминале.
Thanks:

Alexander

Avatar
Date: 7/19/2011
Reply


У меня каждая стратегия крутится на отдельном субсчету в квике, позицию я получаю следующим методом:
Code
		protected int GetCurrentPosition()
		{
			return Trader.GetPosition(Portfolio, Security) != null
					   ? (int)Trader.GetPosition(Portfolio, Security).CurrentValue
					   : 0;
		}


President всё верно расписал
Thanks:

mdv

Avatar
Date: 7/20/2011
Reply


Я просто подумал, что стратегия - сложная штука и ей на всякий случай надо знать мою текущую позицию =))
То, что свои переменные можно сделать - это то ясно. Однако объясните, пожалуйста, для чего обычно используется
абстракция PositionManager, ну то есть зачем она вообще была сделана? Для отслеживания изменения позиции стратегией?
Thanks:

Alexander

Avatar
Date: 7/20/2011
Reply


mdv
Я просто подумал, что стратегия - сложная штука и ей на всякий случай надо знать мою текущую позицию =))
То, что свои переменные можно сделать - это то ясно. Однако объясните, пожалуйста, для чего обычно используется
абстракция PositionManager, ну то есть зачем она вообще была сделана? Для отслеживания изменения позиции стратегией?


Для получения позиции у стратегии.
Будет время - добавим возможность устанавливать начальную позицию у стратегии в PositionManager.
Thanks:


Attach files by dragging & dropping, , or pasting from the clipboard.

loading
clippy