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


Посоветуйте как правильно организовать стратегии:
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  >
lesser

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


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

MainSystem.Rules.Add(MainSystem.Security.Changed().Do(Step1));
Спасибо:

lesser

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


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

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

esper

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


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

lesser

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


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();
Спасибо:

esper

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


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

Как смотрите что оно меняется?
Спасибо:

lesser

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


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

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

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

lesser

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


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

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


this
.When(base.Security.Changed())
.Do(ReHedge);
Спасибо:

esper

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


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

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

lesser

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


Делаю ,

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

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

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

esper

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


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

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

loading
clippy