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


работа с алгоритмом котирования по нескольким инстументам
Atom
20.02.2012


ET

Фотография
Суть в том что мне необходимо скотировать в рамках одной стратегии несколько инструментов

так создаю стратегию в MainWindow

_strategy = new _Strategy(SECURITY_Call_1, SECURITY_Call_2, SECURITY_Call_3, SECURITY_Call_4,
SECURITY_Put_1, SECURITY_Put_2, SECURITY_Put_3, SECURITY_Put_4, SECURITY_future)
{
Volume = 1,
Security = SECURITY_Call_1,
_SECURITY_future = SECURITY_future,
_SECURITY_Call_1 = SECURITY_Call_1,
_SECURITY_Call_2 = SECURITY_Call_2,
_SECURITY_Call_3 = SECURITY_Call_3,
_SECURITY_Call_4 = SECURITY_Call_4,
_SECURITY_Put_1 = SECURITY_Put_1,
_SECURITY_Put_2 = SECURITY_Put_2,
_SECURITY_Put_3 = SECURITY_Put_3,
_SECURITY_Put_4 = SECURITY_Put_4,
Portfolio = this.Portfolios.SelectedPortfolio,
Trader = Trader,
};

в коде самой стратегии

1. объявляю переменные
public Security _SECURITY_Call_1, _SECURITY_Call_2, _SECURITY_Call_3, _SECURITY_Call_4;
public Security _SECURITY_Put_1, _SECURITY_Put_2, _SECURITY_Put_3, _SECURITY_Put_4;

2. конструктор
public _Strategy(Security SECURITY_future, Security SECURITY_Call_1, Security SECURITY_Call_2, Security SECURITY_Call_3, Security SECURITY_Call_4, Security SECURITY_Put_1, Security SECURITY_Put_2, Security SECURITY_Put_3, Security SECURITY_Put_4)
{
_SECURITY_future = SECURITY_future;
_SECURITY_Call_1 = SECURITY_Call_1;
_SECURITY_Call_2 = SECURITY_Call_2;
_SECURITY_Call_3 = SECURITY_Call_3;
_SECURITY_Call_4 = SECURITY_Call_4;
_SECURITY_Put_1 = SECURITY_Put_1;
_SECURITY_Put_2 = SECURITY_Put_2;
_SECURITY_Put_3 = SECURITY_Put_3;
_SECURITY_Put_4 = SECURITY_Put_4;

}


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

вот к примеру метод выставления, получается войти по любому инструменту

private void Future_orderMarket(decimal volume, OrderDirections dir_FutureMarket)
{
var orderMarket_Future = new Order
{
Type = OrderTypes.Market,
Volume = 1,
Portfolio = base.Portfolio,
Security = _SECURITY_Call_3,
Direction = dir_FutureMarket,
};

base.RegisterOrder(orderMarket_Future);
}

вот так вхожу в позицию по инструменту _SECURITY_Call_3

Future_orderMarket(Volume, OrderDirections.Buy);

но вот не могу понять почему не работают алгоритмы котирования для любого инструмента, а только для инструмента:
Security = SECURITY_Call_1,

т.е. к примеру когда я включаю котирование по _SECURITY_Call_3, он котирует SECURITY_Call_1.

Перепробовал много вариантов, но никак не могу решить эту проблему.
Подскажите как мне решить данный вопрос!




Теги:


Спасибо:


ET

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


не ужели никто не запускал в рамках одной стратегии котирование по нескольким инструментам??
подскажите кто делал как решить проблему. [blush]
Спасибо:

Serg

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


Возможно вам поможет BasketSecurity, но я в этом сомневаюсь. Скорее всего вам неибходимо написать свою(родительскую) стратегию которая будет управлять работой своих дочек (MarketQuotingStrategy). Както так
upd: а либо переда началом котирования следуйщего инструмента делать так _Strategy.Security = след.Инструм (имхо)
Спасибо:

ET

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


спасибо попробую!
Спасибо:


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

loading
clippy