Фундаментальный вопрос по использованию


Фундаментальный вопрос по использованию
Atom Reply
6/21/2011


Den

Avatar
Михаил,

почитав темы про стратегии, и в частности ActionStrategy, я понял, что новичкам сложно понять use cases.

Если использовать TimeFrameStrategy, то OnProcess() вызывается с частотой согласно значению Interval.
Если использовать ActionStrategy, то условие When() проверяется с частотой согласно значению Interval.
Т.о. в обоих случаях мы зависим от значения Interval.

Допустим, я хочу совершать заявки по событию ITrader.NewTrades. Но это событие никак не коррелирует с фиксированным Interval'ом,
и может возникать как каждую миллисекунду (напр. RI), так и раз в 5 мин. (второй эшелон)
И получается, что мне не подходит ни OnProcess(), ни When(), и свои активности мне надо писать прямо в обработчике ITrader.NewTrades

Можно конечно Interval выставить в одну миллисекунду, но это как-то не красиво...

Правильно ли я все понимаю или где-то есть ошибки в моих рассуждениях?
Или можно все-таки обернуть в When() событие ITrader.NewTrades, так чтобы время проверки не зависело от Interval?


P.S. еще раз спасибо за отличную библиотеку и великолепную поддержку!

Tags:


Thanks:




9 Answers
Tauler

Avatar
Date: 6/21/2011
Reply


Вот я тоже присоединяюсь к вопросу. Причем, думаю, не я один :)
Thanks:

Mikhail Sukhov

Avatar
Articles author Programmer Trader
Date: 6/21/2011
Reply


Tauler Перейти
Вот я тоже присоединяюсь к вопросу. Причем, думаю, не я один :)


Всех огорчу. В 3.2, который уже можно скачать, поменялось все кординально. Так что не имеет смысла сейчас изучать ActionStrategy. Он исчез безвозвратно.
Thanks:

Den

Avatar
Date: 6/21/2011
Reply


Mikhail Sukhov Перейти
Tauler Перейти
Вот я тоже присоединяюсь к вопросу. Причем, думаю, не я один :)


Всех огорчу. В 3.2, который уже можно скачать, поменялось все кординально. Так что не имеет смысла сейчас изучать ActionStrategy. Он исчез безвозвратно.


На 3.2 я, конечно, со временем переберусь. А пока много уже написано на 2.6.2 и не хотелось бы на переправе коней менять.

Михаил,

может быть вы ответите на первоначальные вопросы хотя бы из чисто академического интереса?
К тому же я не один интересуюсь... :)
Topic starter
Thanks:

Den

Avatar
Date: 6/21/2011
Reply


Mikhail Sukhov Перейти
Tauler Перейти
Вот я тоже присоединяюсь к вопросу. Причем, думаю, не я один :)


Всех огорчу. В 3.2, который уже можно скачать, поменялось все кординально. Так что не имеет смысла сейчас изучать ActionStrategy. Он исчез безвозвратно.


На 3.2 я, конечно, со временем переберусь. А пока много уже написано на 2.6.2 и не хотелось бы на переправе коней менять.

Михаил,

может быть вы ответите на первоначальные вопросы хотя бы из чисто академического интереса?
К тому же я не один интересуюсь... :)
Topic starter
Thanks:

Tauler

Avatar
Date: 6/21/2011
Reply


насколько я понял - поменялось то, что теперь Strategy стал событийным. Но вопрос, как и когда срабатывает событие When остается открытым. Если действительно стратегия может вызывать по событию в шлюзе Itrader, то Вы не огорчили, а очень даже обрадовали :)
Thanks:

Tauler

Avatar
Date: 6/21/2011
Reply


Вдогонку - если я правильно понимаю, то если в первом посте Дена слово ActionStrategy заменить на Strategy, то его вопрос будет корректен для версии 3.2?
Thanks:

Mikhail Sukhov

Avatar
Articles author Programmer Trader
Date: 6/21/2011
Reply


Tauler Перейти
Вдогонку - если я правильно понимаю, то если в первом посте Дена слово ActionStrategy заменить на Strategy, то его вопрос будет корректен для версии 3.2?


Не корректен, потому что исчез и интервал.
Thanks:

Mikhail Sukhov

Avatar
Articles author Programmer Trader
Date: 6/21/2011
Reply


Den Перейти

На 3.2 я, конечно, со временем переберусь. А пока много уже написано на 2.6.2 и не хотелось бы на переправе коней менять.


Могу ответить только по последнеи версии. Насчет таких старых версий с наскоку не вспомнить. Нужен особый катализатор.
Thanks:

Tauler

Avatar
Date: 6/22/2011
Reply


Вот по последней ответ и волнует
если я напишу

Order order = new Order();
...

this
.When(order.Changed())
.Do(SomeThing())


Когда отработает Do? В тот же момент когда заявка изменится в ITrader? Или в Strategy? Надо ли ее обязательно надо регистрировать в статегии this.RegisterOrder(Order)?



Thanks:


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

loading
clippy