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

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


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


Теги:


Спасибо:


President

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


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

Спасибо:

Alexander

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


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?

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

Спасибо:

President

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


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 и как следствие неправильной позиции так что теперь еще делаю переодическую синхронизацию с квиком.

Спасибо:

Mikhail Sukhov

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


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

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

Спасибо:

President

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


Mikhail Sukhov:

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

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

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

Спасибо:

Mikhail Sukhov

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


President:

Mikhail Sukhov:

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

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

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

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

Спасибо:

vader

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


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

Спасибо:

Mikhail Sukhov

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


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

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

Спасибо:


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

loading
clippy