Tinkoff / invest-openapi-go-sdk

Apache License 2.0
153 stars 30 forks source link

Добавить примеры работы с go-sdk #5

Closed ILikeGoland closed 4 years ago

ILikeGoland commented 5 years ago

Разбираюсь с примером https://github.com/TinkoffCreditSystems/invest-openapi-go-sdk Пытаюсь в песочнице получить информацию об облигациях, которые находятся в моем портфеле. Пока безуспешно.

Было бы здорово если бы не надо было рыть исходники в отладчике, чтобы догадаться - как получить подписку на свечи или информацию по торговому инструменту, а просто взять и написать по аналогии. Но для этого нужны примеры обращения с объектами streamClient и restClient.

ILikeGoland commented 5 years ago

Непонятно - как по коду FIGI или ISIN получить название эмитента. В с вагере как то получают поле "name", но как - свагер не показывает. Неудобно. Опять приходится рыть, но в типах ничего про поле "name" нет

ILikeGoland commented 5 years ago

Было бы удобнее, если бы были примеры установки заявки и ее отмены. Не нашел на страничке https://tinkoffcreditsystems.github.io/invest-openapi/marketdata/ примеров установки лимитной и других типов заявок и их отмены или изменения. На страничке описания протокола "Rest" тоже нет ничего подобного. Как программно установить заявку и снять ее? Не хватает примеров выполнения покупки или продажи по рынку.
Возможно ли программно пополнить торговый счет с карты и вывести деньги и валюту с торговых счетов на карточные счета?

ILikeGoland commented 5 years ago

Когда в свагере делаешь операцию покупки то код _ = stream.RunReadLoop(func(event interface{}) error { // Обработка сообщений Printf("event: %v %v\n", event, time.Now().String()) return nil }) не фиксирует каких либо событий. Изменения в портфеле песочницы невозможно обработать.

ILikeGoland commented 5 years ago

Удалось разобраться как устанавливать лимитные заявки : покупка lo1, err := api.LimitOrder(ctx, "BBG00GW0RM55", 29, "Buy", 200); if err != nil {log.Fatalln(err)} продажа lo1, err := api.LimitOrder(ctx, "BBG00GW0RM55", 100, "Sell", 300); if err != nil {log.Fatalln(err)} пока все работает

necryin commented 4 years ago

Поле Name в Instrument добавили. Примеры с описанием добавили в директорию examples

ILikeGoland commented 4 years ago

Дайте адрес страницы - где можно посмотреть примеры с использованием поля "name" Здесь https://github.com/TinkoffCreditSystems/invest-openapi-go-sdk/blob/master/examples/main.go опять ничего не нашел

necryin commented 4 years ago

Все методы market/* возвращают структуру Instrument. У этой структуры есть поле Name https://github.com/TinkoffCreditSystems/invest-openapi-go-sdk/blob/master/rest_domain.go#L94

ILikeGoland commented 4 years ago

Оказывается надо было обновить SDK. Спасибо. Все нашел