Разбегание позиций
Atom Ответить
18.02.2013


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

Теги:


Спасибо:




4 Ответов
ra81

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


VassilSanych Перейти
Сегодня заметил, что одна заявка закрытия позиции отработала, а стратегия всё считает прибыль на незакрытую позицию. (Причём все заявки были в рамках стратегии)
Кто как отслеживает разбегание позиций Квика и стратегии?
Кто как реагирует на такое разбегание?


Это значит квик не передал данные. тут думаю есть только один способ. Собирать информацию с квика по позиции портфеля и по всем стратегиям считать суммарную позу. Если разница то Алармить.
Спасибо:

VassilSanych

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


ra81 Перейти
Это значит квик не передал данные. тут думаю есть только один способ. Собирать информацию с квика по позиции портфеля и по всем стратегиям считать суммарную позу. Если разница то Алармить.

Алармлю.
Код
var portF = this.Portfolio.Name;
			var pos = Trader.Portfolios.First(p => p.Name == portF).GetPosition();
			var pos1 = this.Portfolio.GetPosition();
			var strPos = this.Position;
			if (pos != strPos)
				this.AddInfoLog("Позиция {0}, {1}, фактически {2}", strPos, pos1, pos);


Но что-то часто алармится.
Позиция стратегии - это, похоже, то, какой стратегия видит будущую позицию после исполнения?
А позиция портфеля стратегии и позиция портфеля шлюза - возможно то, что надо.
Но вот не повторяется пока разбегание, чтоб поймать.

Автор топика
Спасибо:

ra81

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


VassilSanych Перейти
ra81 Перейти
Это значит квик не передал данные. тут думаю есть только один способ. Собирать информацию с квика по позиции портфеля и по всем стратегиям считать суммарную позу. Если разница то Алармить.

Алармлю.
Код
var portF = this.Portfolio.Name;
			var pos = Trader.Portfolios.First(p => p.Name == portF).GetPosition();
			var pos1 = this.Portfolio.GetPosition();
			var strPos = this.Position;
			if (pos != strPos)
				this.AddInfoLog("Позиция {0}, {1}, фактически {2}", strPos, pos1, pos);


Но что-то часто алармится.
Позиция стратегии - это, похоже, то, какой стратегия видит будущую позицию после исполнения?
А позиция портфеля стратегии и позиция портфеля шлюза - возможно то, что надо.
Но вот не повторяется пока разбегание, чтоб поймать.



Позиция стратегии считается после исполнения ордера. Позиция квика ХЗ как считается. алармить будет часто. Это факт если по событиям реагировать. Тут надо от стратегии скакать уже.
Спасибо:

VassilSanych

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


В связи с этим вопросы:

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

- Если позиции уже разбежались, как это правильно устранять, не останавливая и не перетирая стратегию?

- И где, блин, хвалёный stateless?!!!
Автор топика
Спасибо:


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

loading
clippy