SlippageManager
Atom
2/28/2011


Доброго времени суток!
Помогите, пожалуйста, разобраться с механизмом SlippageManager... Сталкнулся со следующей проблемой:
Имеются базовая и дочерня стратегии, в дочерней стратегии создается дочерняя стратегия котирования:

Ecng.Trading.Algo.Strategies.MarketQuotingStrategy strategy = new Ecng.Trading.Algo.Strategies.MarketQuotingStrategy(
order,
new Ecng.Trading.BusinessEntities.Unit(),
new Ecng.Trading.BusinessEntities.Unit());
strategy.IsForts = true;
strategy.Interval = TimeSpan.FromTicks(1);
strategy.PriceType = Ecng.Trading.Algo.MarketPriceTypes.Following;
strategy.PriceDelta = 0;

ChildStrategies.Add(strategy);
//регистрация проскальзывания
strategy.NewOrder += (new_order) =>
{
strategy.SlippageManager.RegisterSlippage(new_order);
};

strategy.Start();

Далее при опросе SlippageManager.Slippage для самой верхней базовой стратегии всегда возвращается 0, хотя заявки выполняются по ценам, отличным от заданных в order при создании стратегии квотирования. Вопрос в том, почему не считается проскальзывание?

Заранее спасибо!

P.S.
Попробовал сразу регистрировать Order для базовой стратегии без котирования, все равно проскальзывание не считается. Непонятно как для фьючерсов раработает механизм

Tags:


Thanks:


< 1 2 
Артем

Avatar
Date: 3/2/2011
Reply


Так ведь у меня в последнем примере НЕ стоп-заявка, обычная лимитированная... а все равно не работает [crying] [crying] [crying]

Поскольку для фьючерсов заявки "по рынку" отменены, я хочу вычислять реальное проскальзывание между текущей ценой в момент выставления лимитной заявки и реальной ценой, по которой прошла сделка.

Например:
Тек. цена = 100
Я ставлю лимитную заявку на покупку по 1100.
Исполнилась заявка по 90

Как получить проскальзывание
Проскальзывание = 100-90
?

this.SlippageManager.RegisterSlippage(_merketOrder, CurrentPrice);
- не работает
Thanks:

Mikhail Sukhov

Avatar
Date: 3/2/2011
Reply


Артем Go to
Тек. цена = 100
Я ставлю лимитную заявку на покупку по 1100.
Исполнилась заявка по 90

Как получить проскальзывание
Проскальзывание = 100-90


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

Артем

Avatar
Date: 3/3/2011
Reply


В разных источниках разное понимание этого термина... В данном случае цель - зафиксировать отклонение цен реальных сделок, от тех которые заложены алгоритмом. В алгоритме, который тестировался на истории все сделки проходят по текущим ценам, а в реальности волатильности рынка недостаточно, чтобы это условие сохранилось. Поэтому появлется необходимость зафиксировать эту разницу(Реальная цена - текущая цена в момент выставления заявки).
Можно ли это сделать через SlippageManager?
Если нет, доступны ли сейчас механизмы в S#, позволяющие это осуществить?
Thanks:

Mikhail Sukhov

Avatar
Date: 3/3/2011
Reply


Артем Go to
В разных источниках разное понимание этого термина... В данном случае цель - зафиксировать отклонение цен реальных сделок, от тех которые заложены алгоритмом. В алгоритме, который тестировался на истории все сделки проходят по текущим ценам, а в реальности волатильности рынка недостаточно, чтобы это условие сохранилось. Поэтому появлется необходимость зафиксировать эту разницу(Реальная цена - текущая цена в момент выставления заявки).
Можно ли это сделать через SlippageManager?
Если нет, доступны ли сейчас механизмы в S#, позволяющие это осуществить?


Конечно можно. Но проскальзывание рассчитывается только тогда, когда оно положительное (тоесть заявка исполнилась по цене хуже, чем реально декларировалось).
Thanks:

Артем

Avatar
Date: 3/3/2011
Reply


Хорошо, как зафиксировать хотя бы часть отклонений, когда "заявка исполнилась по цене хуже, чем реально декларировалось).", если в примере заявка исполнилась по 110, т.е.:

Тек. цена = 100
Я ставлю лимитную заявку на покупку по 1100.
Исполнилась заявка по 110

Как получить проскальзывание
Проскальзывание = 110-100?
Thanks:

Mikhail Sukhov

Avatar
Date: 3/3/2011
Reply


Артем Go to
Хорошо, как зафиксировать хотя бы часть отклонений, когда "заявка исполнилась по цене хуже, чем реально декларировалось).", если в примере заявка исполнилась по 110, т.е.:


TraderHelper.GetSlippage, Strategy.SlippageManager.
Thanks:
< 1 2 

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

loading
clippy