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


работа с алгоритмом котирования по нескольким инстументам
Atom
2/20/2012


ET

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

так создаю стратегию в 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.

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




Tags:


Thanks:


ET

Avatar
Date: 2/21/2012
Reply


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

Serg

Avatar
Date: 2/21/2012
Reply


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

ET

Avatar
Date: 2/21/2012
Reply


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


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

loading
clippy