← Zurück

Не получается получить открытый интерес

Здравствуйте, подскажите как можно получить открытый интерес по инструменту, вользуюсь методом: _lkoh.LastTrade.OpenInterest - в итоге ничего не получается, в тоже время другие данные по инструменту идут, такие, как:

                Console.WriteLine(_lkoh.LastTrade);
                Console.WriteLine(_lkoh.LastTrade.Price);
                Console.WriteLine(_lkoh.LastTrade.Id);
                Console.WriteLine(_lkoh.LastTrade.OpenInterest); // почему-то не получаем его
                Console.WriteLine(_lkoh.LastTrade.Volume);
                Console.WriteLine(_lkoh.LastTrade.Time);

Может его можно получить еще какие-то образом или что-то возможно не настроено в квике? хотя в таблице всех сделок, имеется колонка открытого интереса.

War dieses Thema hilfreich?

Thema teilen

Kommentare (10)

Anmelden oder Konto erstellen, Melden Sie sich an oder registrieren Sie sich, um einen Kommentar zu hinterlassen

risty
risty

Apollon: Здравствуйте, подскажите как можно получить открытый интерес по инструменту, вользуюсь методом: _lkoh.LastTrade.OpenInterest - в итоге ничего не получается, в тоже время другие данные по инструменту идут, такие, как:

            Console.WriteLine(_lkoh.LastTrade);
            Console.WriteLine(_lkoh.LastTrade.Price);
            Console.WriteLine(_lkoh.LastTrade.Id);
            Console.WriteLine(_lkoh.LastTrade.OpenInterest); // почему-то не получаем его
            Console.WriteLine(_lkoh.LastTrade.Volume);
            Console.WriteLine(_lkoh.LastTrade.Time);
> 
> Может его можно получить еще какие-то образом или что-то возможно не настроено в квике? хотя в таблице всех сделок, имеется колонка открытого интереса.

Судя по всем у это проперти, а не метод.
Варианта два - 
Первый посмотреть в исходниках, что оно там в get'тере возвращает и чего ему для счастья не хватает.
Второй написать проперти самостоятельно и посчитать открытый интерес, если он считается на основании имеющийся(приходящих) данных по инструменту.

А вообще зарегистрируйте инструмент:
Connector.RegisterTrades(security);
далее подписываетесь на событие 
Connector.SecuritiesChanged
и посмотрите, может подтянутся изменения инструмента, а в месте с ними и OpenInterest
Apollon
Apollon Autor

Я подписываюсь на инструмент вот таким образом

                            // Регаем инструмент для приянтия сделок
                            Trader.RegisteredSecurities.Contains(_lkoh);
                            Trader.RegisterSecurity(_lkoh);
                            Trader.RegisterTrades(_lkoh);

Потом подписываюсь на событие: Trader.NewTrades += newTradeM;

При этом не могу получить этот открытый интерес :( Также попробовал получить данные таким образом:


                Console.WriteLine(Trader.GetSecurityValue(_lkoh, Level1Fields.BestBidPrice));
                Console.WriteLine(Trader.GetSecurityValue(_lkoh, Level1Fields.OpenInterest)); // тоже почему-то не получается получить

В итоге цену я получаю, а открытый интерес нет :(

Первый посмотреть в исходниках, что оно там в get'тере возвращает и чего ему для счастья не хватает. А как это можно сделать? Хотелось бы просто тупо получить все данные которые получает коннектор из квика, было бы как-то проще разбираться :)

Slepoy
Slepoy

Если это Квик 6.17, то у меня данное поле null. Ты не можешь его вывести, т.к. Квик просто его не транслирует для последней сделки в ТТП. Если у тебя новый Квик 7.ххх , то там ОИ стали транслировать в ТВС, можно от туда попытаться вытащить. Ниже скрин, но там я пока не запускал экспорт ТВС(RegisterTrades), запустил только ТТП(RegisterSecurity)

http://i11.pixs.ru/storage/3/4/2/OInulljpg_9060967_21207342.jpg

Apollon
Apollon Autor

slepoy, а не подскажите где именно можно взять или открыть приведенную табличку из скрин шота?) у меня 7-ой квик

Хотел попробовать для интереса получать дополнительные колонки как в примере: http://stocksharp.com/doc/html/0e99b5a9-a20f-4650-93e0-a72ed660270e.htm

на примере миллисекунд:


Trader.TradesTable.Columns.Add(DdeTradeColumns.TimeMs);

Но так и не понял как потом получить эти миллисекунды для последней сделки, не подскажете?

Это не метод. Если используется Квик, то строчка читается так: _lkoh - ссылка(переменная ссылочного типа) указывающая на объект класса КвикТрейдер LastTrade - свойство(поле) объекта класса КвикТрейдер на который указывает ссылка _lkoh, представляющее из себя ссылку на объект класса Trade OpenInterest - свойство(поле) объекта класса Trade, на который указывает ссылка LastTrade Спасибо за пояснения :) У меня пока подход к программированию на C# больше похож на метод научного тыка) раньше писал только не сложные программки с самописными классами, функциями, на java и php, а все эти библиотеки S# как-то тяжеловато даются, и вся информация очень разрозненная, нет четкой инструкции че и к чему, поэтому тяжеловато дается изучение :(

orphan, пробовал не помогает :(

Хоть самому писать этот коннектор для квика :(

Неужели ни у кого не стояло цели получать информации об открытом интересе из квика? неужели нет какого-то легкого рабочего метода? :(

orphan
orphan

Apollon: orphan, пробовал не помогает :(

Хоть самому писать этот коннектор для квика :(

Неужели ни у кого не стояло цели получать информации об открытом интересе из квика? неужели нет какого-то легкого рабочего метода? :(

У меня security.OpenInterest работает, security.LastTrade.OpenInterest - нет

Slepoy
Slepoy

orphan: У меня security.OpenInterest работает, security.LastTrade.OpenInterest - нет У меня он тоже транслируется т.к. это общий ОИ для конкретного инструмента. Он в старых версиях Квика транслируется нормально. Тут же автор пытается получить ОИ к конкретной сделке, а это можно лишь из новых Квиков.

Apollon: slepoy, а не подскажите где именно можно взять или открыть приведенную табличку из скрин шота?) у меня 7-ой квик В ВизуалСтудии ставишь точку останова напротив любой строчки где фигурирует твой инструмент, т.е. ссылка _lkoh. Естественно, строчка должна идти после подписки на данный инструмент т.е. за методом RegisterSecurity(), чтоыб ссылка _lkoh уже содержала в себе адрес объекта-инструмента. И далее запускаешь своего бота, он как раз подвиснет на этой точке останова. И далее просто наводишь мышкой на ссылку _lkoh и автоматом вываливается меню объекта-инстурмента, со всеми свойствами и подполями- короче увидишь такую же картинку как у меня.

Apollon: Хотел попробовать для интереса получать дополнительные колонки как в примере: http://stocksharp.com/doc/html/0e99b5a9-a20f-4650-93e0-a72ed660270e.htm Там используется старое подключение через ДДЕ. Я же использую ЛУА, если ты тоже, то тот пример точно не прокатит. Я не могу пока сказать как именно это сделать на ЛУА, я пока сам до этого не дошёл. Я тоеж пока в процессе изучения данных библиотек.

Apollon: а все эти библиотеки S# как-то тяжеловато даются, и вся информация очень разрозненная, нет четкой инструкции че и к чему, поэтому тяжеловато дается изучение :( Чёткие инструкции есть в обучении и в техподдержке. Но данные привелегии платные. В принципе, мы уже должны радоваться и благодарить М.Сухова, за то, что он нам нахаляву замутил такие библиотеки.

Apollon: Неужели ни у кого не стояло цели получать информации об открытом интересе из квика? А нафиг он нужен? Мне в моих ТС - он бесполезен. Я даже на общий ОИ не особо гляжу, а ты хочешь получать ОИ для каждой новой сделки. Какой в нём прок?

Mikhail Sukhov
Mikhail Sukhov

Slepoy:

orphan: У меня security.OpenInterest работает, security.LastTrade.OpenInterest - нет У меня он тоже транслируется т.к. это общий ОИ для конкретного инструмента. Он в старых версиях Квика транслируется нормально. Тут же автор пытается получить ОИ к конкретной сделке, а это можно лишь из новых Квиков.

В новых Квиках - это начиная с какой версии? В 7-ке его нет. На уровне Луа так же нет фишки.

Slepoy
Slepoy

Mikhail Sukhov: В новых Квиках - это начиная с какой версии? В 7-ке его нет. На уровне Луа так же нет фишки.

Ну типа с октября 2015, те брокера которые перешли на Квик 7.0 получили в ТОС(бывшая ТВС) новый столбец "ОИ". Я лично не видел, т.к. мой брокер пока не спешит обновлять терминал. Но это типа официальная инфа с сайта АРКИ.

Версия 7.0, 07.10.2015 Возможности новой версии

  1. Реорганизовано основное меню приложения.
  2. Изменен подход к управлению таблицами данных.
  3. Названия некоторых таблиц изменены, например: «Таблица Всех Сделок» переименована в «Таблицу обезличенных сделок»; «Таблица Текущих Параметров» — в «Текущие торги».
  4. Настройка задания количества отображаемых котировок в «стакане» экономит не только место на экране, но и трафик.
  5. В Таблицу текущих торгов добавлены параметры: «Наличие спроса/предложения АКП», отображающий индикатор наличия заявок на покупку или продажу на аукционе крупными лотами и «CFI-код бумаги».
  6. В Таблицу заявок добавлены параметры: «Стоп-заявка» с номером стоп-заявки, «породившей» эту заявку, «Средневзвешенная цена приобретения», «Средняя цена исполнения заявки», «UID снявшего заявку», «Время окончания срока» со временем действия заявок типа «До времени».
  7. В Таблицу сделок добавлены: «Валюта расчетов» с валютой расчетов сделки на Московской Бирже; «ID транзакции» — TRANS_ID заявки, породившей сделку.
  8. В Таблицу лимитов по бумагам добавлен параметр «Заблокировано на покупку», отображающий сумму денег, заблокированную под исполнение всех заявок на покупку по данной бумаге.
  9. В Таблицу транзакций добавлен параметр «Биржевой номер» с биржевым номером заявки.
  10. <mark>Для инструментов Срочного рынка Московской Биржи в «Таблице обезличенных сделок» добавлена трансляция открытого интереса (столбец «Открытый интерес»).</mark>
  11. Добавлена возможность точной настройки всех трендов и линий Фибоначчи.
  12. Выполнены доработки, позволяющие обеспечить корректную трансляцию и экспорт количеств бумаг/лотов, превышающих 2147483648.

Полный список изменений доступен в документе «Изменения в рабочем месте QUIK 7.0.0.pdf».

http://i10.pixs.ru/storage/6/2/0/OIvluajpg_1365403_21264620.jpg

Slepoy
Slepoy

вользуюсь методом: _lkoh.LastTrade.OpenInterest -

<u>Это не метод. Если используется Квик, то строчка читается так:</u> _lkoh - ссылка(переменная ссылочного типа) указывающая на объект класса КвикТрейдер LastTrade - свойство(поле) объекта класса КвикТрейдер на который указывает ссылка _lkoh, представляющее из себя ссылку на объект класса Trade OpenInterest - свойство(поле) объекта класса Trade, на который указывает ссылка LastTrade

orphan
orphan

А security.OpenInterest пробовали?