Посоветуйте как правильно организовать стратегии:


Посоветуйте как правильно организовать стратегии:
Atom
21.10.2011


Хочу реализовать такую стратегию:

1. в зависимости от значания индекса сделать выборку по инструментам для торговли и сформировать несколько списков инструментов

2. по каждому списку инструментов запустить отдельную стратегию

3. проверять значение индекса и если нужно переформировать списки инструментов

4. проверять списки на счет того правильная ли стратегия работает на инструментах в них

Причем позиции , ордера и P/L по всему этому нужно считать как для одной стратегии.

И еще маленький вопрос знатокам C# , как по простому записать в код такое:

есть
Collection1 = ThreadSafeObservableCollection<Security>
Collection2 = ThreadSafeObservableCollection<Position>
Collection3 = ThreadSafeObservableCollection<Security>

если в Collection2 есть позиция с полем Security и в тоже время такой Security нет в Collection1 , то внести эту Security в Collection3 .

Спасибо.



Теги:


Спасибо:


< 1 2 3 4  >
Alexander

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


lesser Перейти
Alexander Mukhanchikov Перейти
[quote=lesser;12615]
Стратегии стартуют в независимости от наличия или отсутствия торгов на бирже


Моя система не стартует так как список формирует налету, неужто вам так трудно сказать будет такое работать или нет ?


инструменты получаются как из квика, так из плазы и смарткома даже когда биржа не работает. т.е. этот ваш список сформирован будет.

да, это работать должно
Спасибо: lesser

lesser

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


Спасибо ,

Подскажите , основная стратегия должна ждать пока отработает дочерная ?

Если да, то как сделать чтоб не ждала , видел гдето тему на форуме где писали что должна ждать, но теперь никак не могу найти эту тему.

может нужно запускать дочерние в разных потоках ? или както через GuiAsync ?

Спасибо:

Alexander

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


lesser Перейти
Спасибо ,

Подскажите , основная стратегия должна ждать пока отработает дочерная ?

Если да, то как сделать чтоб не ждала , видел гдето тему на форуме где писали что должна ждать, но теперь никак не могу найти эту тему.

может нужно запускать дочерние в разных потоках ? или както через GuiAsync ?




Цитата из документации
Цитата:
Родительская и все ее дочерние стратегии исполняются параллельно.
Спасибо:

lesser

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


Спасибо , успокоили :)
Спасибо:

lesser

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


Второой день себе голову ломаю, как получить мои активные заявки по инструменту ? может через стакан както можна а то
var orderbuy = _trader.Orders.Where(o => o.Security == securi && o.Direction == OrderDirections.Buy && o.State == OrderStates.Active);

получается неактуальная инфа :(
Спасибо:

lesser

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


Если так сделать :

var quotes_Ask = stakan.GetQuotes(OrderDirections.Buy);
var quotes_Ask_w_my = stakan.GetFilteredQuotes(OrderDirections.Buy,null);

То потом как вычислить есть ли там мои заявки ?

quotes_Ask = quotes_Ask_w_my ?
Спасибо:

lesser

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


Почему у меня не срабатывает такое правило основной стратегии :

MainSystem.Rules.Add(MainSystem.Security.Changed().Do(Strategy1));

Причем все другие правила срабатывают нормально.

Основную стратегию не описывал отдельным классом потому что не могу понять как отуда что-то выводить в окошка программы.
Спасибо:

Alexander

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


lesser Перейти
Второой день себе голову ломаю, как получить мои активные заявки по инструменту ? может через стакан както можна а то
var orderbuy = _trader.Orders.Where(o => o.Security == securi && o.Direction == OrderDirections.Buy && o.State == OrderStates.Active);

получается неактуальная инфа :(


пример неактуальной инфы приведите
Спасибо:

lesser

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


Пробовал соорудить скальпера и ордера по инструменту определять с помощью _trader.Orders...

но видно ордера в нем не успевают так быстро обновлятся и мой бот засылал столько заявок подряд что даже после его виключения заявки все еще шли :)

как я понял это все из за запаздывания регистрации ордеров .

Уде придумал новый алгоритм для работы , спасибо.

Посмотрите, плиз, на последний мой вопрос в этой теме.
Спасибо:

Alexander

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


lesser Перейти
Пробовал соорудить скальпера и ордера по инструменту определять с помощью _trader.Orders...

но видно ордера в нем не успевают так быстро обновлятся и мой бот засылал столько заявок подряд что даже после его виключения заявки все еще шли :)

как я понял это все из за запаздывания регистрации ордеров .

Уде придумал новый алгоритм для работы , спасибо.

Посмотрите, плиз, на последний мой вопрос в этой теме.



Приведите подробнее данный кусок кода.
непонятно что есть что
Спасибо:
< 1 2 3 4  >

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

loading
clippy