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


mdv

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

Теги:


Спасибо:




6 Ответов
Alexander

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


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


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

mdv

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


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

President

Фотография
Благотворитель
Дата: 19.07.2011
Ответить


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


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

а насколько мне пояснили тут https://stocksharp.ru/fo...nager-Position-tormozit/ Strategy.PositionManager.Position имеет другой смысл нежели позиция в торговом терминале.
Спасибо:

Alexander

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


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


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

mdv

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


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

Alexander

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


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


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


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

loading
clippy