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


Den

Фотография
Михаил,

почитав темы про стратегии, и в частности 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. еще раз спасибо за отличную библиотеку и великолепную поддержку!

Теги:


Спасибо:




9 Ответов
Tauler

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


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

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 21.06.2011
Ответить


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


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

Den

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


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


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


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

Михаил,

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

Den

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


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


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


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

Михаил,

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

Tauler

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


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

Tauler

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


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

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 21.06.2011
Ответить


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


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

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 21.06.2011
Ответить


Den Перейти

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


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

Tauler

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


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

Order order = new Order();
...

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


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



Спасибо:


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

loading
clippy