работа с алгоритмом котирования по нескольким инстументам
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.
Перепробовал много вариантов, но никак не могу решить эту проблему.
Подскажите как мне решить данный вопрос!