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

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


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


Tags:


Thanks:


President

Avatar
Date: 7/29/2011
Reply


обсуждалось тут: http://stocksharp.com/forum/1703/PositionManager-stratieghii/ и тут: http://stocksharp.com/forum/1733/-ISSUE--Strategy-PositionManager-Position-tormozit/ summary: works as designed. хотя designed с первого взгляда не вполне очевидно ;)

Thanks:

Alexander

Avatar
Date: 7/29/2011
Reply


President: обсуждалось тут: http://stocksharp.com/forum/1703/PositionManager-stratieghii/ и тут: http://stocksharp.com/forum/1733/-ISSUE--Strategy-PositionManager-Position-tormozit/ summary: works as designed. хотя designed с первого взгляда не вполне очевидно ;)

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

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

Thanks:

President

Avatar
Date: 7/29/2011
Reply


Alexander:

President: обсуждалось тут: http://stocksharp.com/forum/1703/PositionManager-stratieghii/ и тут: http://stocksharp.com/forum/1733/-ISSUE--Strategy-PositionManager-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: лично мне нужно чтобы позиция считалась по трейдам и обновлялась ДО вызова MyNewTrades.

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

Thanks:

President

Avatar
Date: 7/29/2011
Reply


Mikhail Sukhov:

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

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

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

Thanks:

Mikhail Sukhov

Avatar
Date: 7/30/2011
Reply


President:

Mikhail Sukhov:

President: лично мне нужно чтобы позиция считалась по трейдам и обновлялась ДО вызова 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: в версии 3.2.6 поменялась логика PositionManager.Position?

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

Thanks:


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

loading
clippy