Подписка на облигации ECBOT
Я использую C# Interactive Brokers API. Я успешно подписываюсь на ES, несколько валют, акции и т. Д. Мне нужно подписаться на котировки ZN и ZT, но это не работает, так как я не получаю обратного вызова или сообщения об ошибке:
Contract zn = new Contract();
zn.Currency = "USD";
zn.Multiplier = "1000";
zn.SecType = "FUT";
zn.Symbol = "ZN";
zn.LocalSymbol = "ZNZ5";
zn.Exchange = "ECBOT";
zn.PrimaryExch = "ECBOT";
Subscribe(zn);
Я тоже пробовал
Contract zn = new Contract();
zn.Currency = "USD";
zn.Multiplier = "2000";
zn.SecType = "FUT";
zn.Symbol = "ZT";
zn.LocalSymbol = "201512";
zn.Exchange = "SMART";
zn.PrimaryExch = "SMART";
А также
Contract zn = new Contract();
zn.Currency = "USD";
zn.Multiplier = "1000";
zn.SecType = "FUT";
zn.Symbol = "ZN";
zn.LocalSymbol = "ZN DEC 15";
zn.Exchange = "SMART";
zn.PrimaryExch = "SMART";
Я пробовал один пробел после ZN и три пробела после zn.LocalSymbol
, как я читал, это был правильный путь.
Не уверен, что я делаю не так?
2 ответа
Для ZT
а также ZN
фьючерсы, вы должны указать ECBOT
, не можете использовать SMART
, Поле, которое я пропустил, было
zt.LastTradeDateOrContractMonth = "20151231";
Вы должны увидеть точную дату. Вы можете получить его от самого TWS, щелкнув правой кнопкой мыши на символе и просмотрев информацию о контракте.
Кроме того, если я введу LocalSymbol
для этого контракта, кажется, нарушить его.
Укажите срок действия, а не локальный символ (строка "201512"). Вы должны использовать один или другой, вы используете символ и локальный символ. Я никогда не использовал местный символ, и я думаю, что это может быть "ZN DEC 15" в любом случае.
Кроме того, здесь вы не используете primaryExchange, это связано с неоднозначностью маршрутизации SMART. Вы должны просто установить обмен на ECBOT.
Для ZN минимальная информация должна быть
Contract zn = new Contract();
zn.Currency = "USD";//probably not even needed
zn.SecType = "FUT";
zn.Symbol = "ZN";
zn.Expiry = "201512;
zn.Exchange = "ECBOT";
Вы можете попробовать пример Java-API, я не думаю, что есть образец C#. Попробуйте запросить данные, чтобы увидеть, что работает.
Я только что заметил, что вы говорите, что сообщения об ошибке нет. Должен быть один, поэтому убедитесь, что вы получаете сообщения об ошибках от API.