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

Как запустить стратегию с ненулевой начальной позицией
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/forum/1733/-ISSUE--Strategy-PositionManager-Position-tormozit/ Strategy.PositionManager.Position имеет другой смысл нежели позиция в торговом терминале.

Thanks:

Alexander

Avatar
Date: 7/19/2011
Reply


У меня каждая стратегия крутится на отдельном субсчету в квике, позицию я получаю следующим методом:

		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