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


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

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

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

Thanks:

Артем

Avatar
Date: 3/3/2011
Reply


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

Thanks:

Mikhail Sukhov

Avatar
Date: 3/3/2011
Reply


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

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

Thanks:

Артем

Avatar
Date: 3/3/2011
Reply


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

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

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

Thanks:

Mikhail Sukhov

Avatar
Date: 3/3/2011
Reply


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

TraderHelper.GetSlippage, Strategy.SlippageManager.

Thanks:
< 1 2 

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

loading
clippy