Mikhail Sukhov
|
Date: 10/7/2010
sergun:
Каковы условия возникновения этих событий у стратегии по сравнению с аналогичными событиями в Trader?
Они как-то фильтруются по стратегии? Если да, то как?
Заявка в стратегии регистрируется через Strategy.RegisterOrder. В этом методе она сохраняется в очередь. Далее, мониторятся события ITrader. Если пришла заявка, которая есть в этой очереди - вызвать событие. Все.
|
|
|
|
Thanks:
|
|
|
|
|
|
sergun
|
Date: 10/7/2010
Mikhail Sukhov:
sergun:
Каковы условия возникновения этих событий у стратегии по сравнению с аналогичными событиями в Trader?
Они как-то фильтруются по стратегии? Если да, то как?
Заявка в стратегии регистрируется через Strategy.RegisterOrder. В этом методе она сохраняется в очередь. Далее, мониторятся события ITrader. Если пришла заявка, которая есть в этой очереди - вызвать событие. Все.
Прикол состоит в том, что Strategy.RegisterOrder protected, а желание было использовать его снаружи стратегии и соответственно intellisense его не показал :-)
М.б. (не утверждаю) ему лучше быть public'ом...
PS. Уведомления с нового форума приходят со ссылкой http://192.168.1.1...
|
|
|
|
Thanks:
|
|
|
|
|
|
Mikhail Sukhov
|
Date: 10/9/2010
sergun:
Прикол состоит в том, что Strategy.RegisterOrder protected, а желание было использовать его снаружи стратегии и соответственно intellisense его не показал :-)
М.б. (не утверждаю) ему лучше быть public'ом...
Приведите Ваш сценарий, почему решили управлять стратегией из вне.
sergun:
PS. Уведомления с нового форума приходят со ссылкой http://192.168.1.1...
Можете мне форварднуть письмо?
|
|
|
|
Thanks:
|
|
|
|
|
|
sergun
|
Date: 10/11/2010
Mikhail Sukhov:
sergun:
Прикол состоит в том, что Strategy.RegisterOrder protected, а желание было использовать его снаружи стратегии и соответственно intellisense его не показал :-)
М.б. (не утверждаю) ему лучше быть public'ом...
Приведите Ваш сценарий, почему решили управлять стратегией из вне.
В целом иногда функциональность своей стратегии разбить на куски для обеспечения повторной используемости кусков, борьбы со сложностью.
Соответственно образуется новый класс, в конструктор передается стратегия.
sergun:
PS. Уведомления с нового форума приходят со ссылкой http://192.168.1.1...
Можете мне форварднуть письмо?
Форварднул.
|
|
|
|
Thanks:
|
|
|
|
|
|
Dmitriy Klimov
|
Date: 10/13/2010
Добрый день всем!
Надеюсь, мой вопрос по теме: как узнать о появлении новых сделок внутри стратегии? Насколько я знаю, подписаться на события внутри объекта, их генерирующего, нельзя.
У меня ситаация такая: при каждом входе в позицию я хочу выставлять Квик-заявку типа QuikStopConditionTypes.TakeProfitStopLimit. И мне надо знать, когда сработает одно из заданных условий, и появится новая сделка, чтобы не дать самой стратегии пытаться выйти из уже закрытой позиции.
И еще второй вопрос: как отменить выставленную TakeProfitStopLimit заявку, если я вышел из позиции по условиям стратегии?
Еще было бы любопытно знать, насколько такой подход работает быстрее, чем пакетная стратегия из стратегий на тейк-профит и скользящего стоп-лосса? Возможно, лучше использовать стратегии для моих целей? Тогда и с событиями проблем не будет...
|
|
|
|
Thanks:
|
|
|
|
|
|
sergun
|
Date: 10/13/2010
Что-то не возникают события Strategy.NewMyTrades и Strategy.OrderChanged при исполнении заявки.
Strategy.NewOrder приходит.
Заявка регистрировалась с помощью Strategy.RegisterOrder.
С чем это может быть связано?
|
|
|
|
Thanks:
|
|
|
|
|
|
Mikhail Sukhov
|
Date: 10/14/2010
Dmitriy Klimov:
как узнать о появлении новых сделок внутри стратегии? Насколько я знаю, подписаться на события внутри объекта, их генерирующего, нельзя.
Не понял выражение... Событие Strategy.NewMyTrade.
Dmitriy Klimov:
при каждом входе в позицию я хочу выставлять Квик-заявку типа QuikStopConditionTypes.TakeProfitStopLimit.
Выставляете через Strategy.RegisterOrder?
Dmitriy Klimov:
И еще второй вопрос: как отменить выставленную TakeProfitStopLimit заявку, если я вышел из позиции по условиям стратегии?
QuikTrader.CancelOrder
Dmitriy Klimov:
Еще было бы любопытно знать, насколько такой подход работает быстрее, чем пакетная стратегия из стратегий на тейк-профит и скользящего стоп-лосса?
Не в скорости дело. То, что пишется через Strategy, Вы можете менять под свои условия. А через брокерские стопы Вы так сделать не можете. Так что если достаточно стандартных стопов - лучше их. Со стоп заявками стратегии работают так же, как и с обычными заявками.
|
|
|
|
Thanks:
|
|
|
|
|
|
Mikhail Sukhov
|
Date: 10/14/2010
sergun:
Что-то не возникают события Strategy.NewMyTrades и Strategy.OrderChanged при исполнении заявки.
Strategy.NewOrder приходит.
Заявка регистрировалась с помощью Strategy.RegisterOrder.
С чем это может быть связано?
А заявка удовлетворяется? Экспорт запущен? Через ITrader события для такой заявки приходят?
|
|
|
|
Thanks:
|
|
|
|
|
|
Dmitriy Klimov
|
Date: 10/14/2010
Mikhail Sukhov:
Dmitriy Klimov:
как узнать о появлении новых сделок внутри стратегии? Насколько я знаю, подписаться на события внутри объекта, их генерирующего, нельзя.
Не понял выражение... Событие Strategy.NewMyTrade.
Dmitriy Klimov:
при каждом входе в позицию я хочу выставлять Квик-заявку типа QuikStopConditionTypes.TakeProfitStopLimit.
Выставляете через Strategy.RegisterOrder?
Стоп-заявку выставляю через Strategy.RegisterOrder и не соображу, как лучше перехватить событие ее срабатывания внутри стратегии. Событие Strategy.NewMyTrade я могу использовать только из главной программы, а мне надо по сути то же событие перехватить внутри стратегии, это событие генерирующее. Как быть в данном случае? До версии 2.1 был метод Strategy.OnNewMyTrades, сейчас подобного метода нет...
|
|
|
|
Thanks:
|
|
|
|
|
|
Mikhail Sukhov
|
Date: 10/14/2010
Dmitriy Klimov:
Стоп-заявку выставляю через Strategy.RegisterOrder и не соображу, как лучше перехватить событие ее срабатывания внутри стратегии. Событие Strategy.NewMyTrade я могу использовать только из главной программы, а мне надо по сути то же событие перехватить внутри стратегии, это событие генерирующее. Как быть в данном случае? До версии 2.1 был метод Strategy.OnNewMyTrades, сейчас подобного метода нет...
public class MyStrategy : Strategy
{
public MyStrategy()
{
base.NewMyTrade += OnNewMyTrade;
}
private void OnNewMyTrade(MyTrade trade)
{
}
}
Только учтите, сделка приходит не по стоп заявке, а по обычной, которую выставил стоп.
|
|
|
|
Thanks:
|
|
|
|
|