Разбегание позиций


Разбегание позиций
Atom
2/18/2013


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

Tags:


Thanks:


ra81

Avatar
Date: 2/18/2013
Reply


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


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

VassilSanych

Avatar
Date: 2/18/2013
Reply


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

Алармлю.
Code
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);


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

Thanks:

ra81

Avatar
Date: 2/18/2013
Reply


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

Алармлю.
Code
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);


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



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

VassilSanych

Avatar
Date: 2/27/2013
Reply


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

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

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

- И где, блин, хвалёный stateless?!!!
Thanks:


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

loading
clippy