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

Посоветуйте как правильно организовать стратегии:
Atom
10/21/2011
lesser


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

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

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

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

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

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

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

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

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

Спасибо.



Tags:


Thanks:


< 1 2 3 4  >
lesser

Avatar
Date: 10/25/2011
Reply


Подскажите, плиз,
почему может не срабатывать такое правило :

MainSystem.Rules.Add(MainSystem.Security.Changed().Do(Step1));
Thanks:

lesser

Avatar
Date: 10/26/2011
Reply


Непойму , я как то неправильно задал вопрос , или на него так трудно ответить ?

Секурити стратегии изменяется постоянно но событие не срабативает , знаю по том что поставил точку остановки в функции которую вызивает событие и есче ни разу программа не останавливалась .
Thanks:

esper

Avatar
Date: 10/26/2011
Reply


Что такое MainSystem? Как создается и инициализируется?
Thanks:

lesser

Avatar
Date: 10/26/2011
Reply


Strategy MainSystem = new Strategy();

MainSystem.Security = sec;
MainSystem.Trader = _trader;
MainSystem.Portfolio = account;
MainSystem.RemoveChildStrategies = true;

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

MainSystem.Rules.Add(MainSystem.Started().Do(StartTrade));
MainSystem.Rules.Add(MainSystem.Stopping().Do(StopTrade));


MainSystem.Start();
Thanks:

esper

Avatar
Date: 10/26/2011
Reply


Quote:
Секурити стратегии изменяется постоянно

Как смотрите что оно меняется?
Thanks:

lesser

Avatar
Date: 10/26/2011
Reply


ето фьючерс...

стоп , вы имеете в виду что это событие произойдет когда я сделаю MainSystem.Security = sec1;

какже мне вызвать событие когда просто цена sec изменится ?
Thanks:

lesser

Avatar
Date: 10/26/2011
Reply


но в примере записано :

а также правило на событие изменения фьючерсного контракта (его цены):


this
.When(base.Security.Changed())
.Do(ReHedge);
Thanks:

esper

Avatar
Date: 10/26/2011
Reply


lesser
стоп , вы имеете в виду что это событие произойдет когда я сделаю MainSystem.Security = sec1;

Нет, установка инструмента для стратегии не вызывает это событие. Это событие вызывается когда меняются данные в таблице инструментов, они у вас меняются?
Thanks:

lesser

Avatar
Date: 10/26/2011
Reply


Делаю ,

_trader.NewTrades += trades => this.GuiAsync(() =>

this.Instrument.Text = sec.LastTrade.Price.ToString();

Значение в текстовом поле програмки меняется
Thanks:

esper

Avatar
Date: 10/26/2011
Reply


LastTrade.Price, скорее всего, берется из Таблицы всех сделок, а не из инструментов. Какие настройки у таблицы инструменты? Если в ней только стандартные столбцы, то событие вызываться не будет.
Thanks: lesser
< 1 2 3 4  >

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

loading
clippy