[Bug] не верно расчитывается PositionManager.Position

[Bug] не верно расчитывается PositionManager.Position
Atom
7/29/2011


Не всегда верно расчитывается PositionManager.Position
Заметил это когда продовал фьюч РТС. продал два контракта по одному, позиция была равна -1.
Проявляется не всегда.

Tags:


Thanks:


President

Avatar
Date: 7/29/2011
Reply


обсуждалось
тут: http://stocksharp.com/fo...ionManager-stratieghii/
и тут: http://stocksharp.com/fo...ager-Position-tormozit/
summary: works as designed. хотя designed с первого взгляда не вполне очевидно ;)
Thanks:

Alexander

Avatar
Date: 7/29/2011
Reply


President Go to
обсуждалось
тут: http://stocksharp.com/fo...ionManager-stratieghii/
и тут: http://stocksharp.com/fo...ager-Position-tormozit/
summary: works as designed. хотя designed с первого взгляда не вполне очевидно ;)


Немного ответ не понятен.
Почему неверный подсчёт позиции - works as designed?

И кстати, какие ваши мнение - как должна считаться позиция? По каким событиям и каким образом?
Thanks:

President

Avatar
Date: 7/29/2011
Reply


Alexander Go to
President Go to
обсуждалось
тут: http://stocksharp.com/fo...ionManager-stratieghii/
и тут: http://stocksharp.com/fo...ager-Position-tormozit/
summary: works as designed. хотя designed с первого взгляда не вполне очевидно ;)


Немного ответ не понятен.
Почему неверный подсчёт позиции - works as designed?

И кстати, какие ваши мнение - как должна считаться позиция? По каким событиям и каким образом?


лично мне нужно чтобы позиция считалась по трейдам и обновлялась ДО вызова MyNewTrades.

Сейчас она считается или по трейдам или по выставленным ордерам (тоже полезная вещь) в зависимости от параметра и обновляется ПОСЛЕ вызова MyNewTrades. при этом считается ПРАВИЛЬНО. просто позже. :)
Однако я уже не уверен что движок всегда должен сам пересчитывать позицию до вызова MyNewTrades: смотрите - мне нужна позиция, комуто нужен PnL, комуто нужен Slippage .. если все их считать ДО MyNewTrades то вызов MyNewTrades будет отдаляться на доли секунды, а эти доли секунд могут быть критичны.
Сейчас я думаю что самым оптимальным было бы иметь возможность задавать приоритеты евентов и рассчетов - типа сделать такую схему:
1.RecalcPosition
2.MyNewTrades
3.OnProcess
4.RecalcPnL
5.RecalcSlippage
6.Recalc...
7.NewOrder
8.OrderChanged.
...

чтобы явно указать что мне позиция важнее MyNewTrades а все остальное менее важно.

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

Thanks:

Mikhail Sukhov

Avatar
Date: 7/29/2011
Reply


President Go to

лично мне нужно чтобы позиция считалась по трейдам и обновлялась ДО вызова MyNewTrades.


Такое невозможно в принципе. Позиция считается на основании каких-то данных (не телепатически же она рассчитывает свое значение). В случае расчета по сделкам - это событие NewMyTrades. Не будет этого события, не будет данных для расчета позы, и, следовательно, не будет обновление позиции.
Thanks:

President

Avatar
Date: 7/29/2011
Reply


Mikhail Sukhov Go to
President Go to

лично мне нужно чтобы позиция считалась по трейдам и обновлялась ДО вызова MyNewTrades.


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


телепатия тут и не нужна - я имел ввиду что можно было бы на прилет трейда из квика сначала пересчитать позицию, а потом райзить евент NewMyTrades для его подписчиков
Thanks:

Mikhail Sukhov

Avatar
Date: 7/30/2011
Reply


President Go to
Mikhail Sukhov Go to
President Go to

лично мне нужно чтобы позиция считалась по трейдам и обновлялась ДО вызова MyNewTrades.


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


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


Прилет трейда из Квика != изменению позиции по стратегии. Менеджер позы по стратегии учитывает только те сделки, которые совершены в рамках стратегии.
Thanks:

vader

Avatar
Date: 8/5/2011
Reply


в версии 3.2.6 поменялась логика PositionManager.Position?
Thanks:

Mikhail Sukhov

Avatar
Date: 8/5/2011
Reply


vader Go to
в версии 3.2.6 поменялась логика PositionManager.Position?


Незначительно.
Thanks:


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

loading
clippy