Coinbase Pro API | Руководство от Cryptogeek

Coinbase Pro API | Руководство от Cryptogeek
Эта страница переведена автоматически. Открыть страницу на языке оригинала.
Apr 24, 2022 0
Coinbase Pro API | Руководство от Cryptogeek

Каждая биржа имеет специальные функции для привлечения трейдеров. Coinbase Pro имеет специальный код, помогающий автоматизировать и упростить торговлю. Этот код представляет собой API Coinbase Pro. 
Создать учетную запись, а также включить API Coinbase Pro абсолютно бесплатно.

Различия между Coinbase и Coinbase Pro

У этих двух платформ действительно есть кое-что общее. По крайней мере, Coinbase Global Inc владеет обоими, и пользовательские интерфейсы похожи друг на друга.

Тем не менее, очевидно, что Coinbase и Coinbase Pro имеют довольно много различий. Coinbase - это скорее рынок криптовалют, в то время как Coinbase Pro - это полноценная криптобиржа. Coinbase напоминает криптовалютный кошелек, в то время как Coinbase Pro, скорее всего, является торговой платформой.

Инновационные атрибуты и конечные точки делают торговлю на Coinbase Pro API намного быстрее и лучше, чем на Coinbase.

Теперь Coinbase Pro API доступен более чем в 100 странах.

Плюсы и минусы использования Coinbase Pro API

Вот краткий список плюсов и минусов, которые трейдеры должны принимать во внимание.

Плюсы:

● Простой
● Интуитивно понятный
● Полностью регулируется в США
● Высокая ликвидность
● Поддержка fiat (USD, EUR, GBP)
● Поддерживает более 120 криптовалют

Минусы:

● Высокие сборы
● Медленная поддержка клиентов
● Слишком сложно для новичков

Подводя итог, можно сказать, что у Coinbase Pro API в два раза больше плюсов, чем минусов.

Принимает Ли Coinbase Pro Комиссионные?

Да, это так. Coinbase Pro взимает обычные торговые сборы со своих пользователей. Это происходит по истечении 30-дневного периода, когда рассчитывается окончательная цена. Для удобства трейдера сумма берется в долларах США.

Как обычно, сборы делятся на “создателей” и “берущих”.:

1. Пользователь становится тейкером, когда размещенный рыночный ордер немедленно исполняется. Комиссия: от 0,04% до 0,50%.

2. Aser становится производителем, когда размещенный заказ не заполняется сразу и попадает в книгу заказов. Так что нужно подождать, пока он не будет подобран другим трейдером. Комиссия: от 0,00% до 0,50%.

3. И когда заказ заполняется только частично, оплачиваются обе комиссии. Сначала оплачивается плата за прием, соответствующая заполненной части, в то время как остальная часть заказа перемещается в книгу заказов на более поздний срок. И когда он сопоставляется, выплачивается плата за создание.

В этой таблице показан текущий объем торгов для обеих комиссий:

Есть ли у других Бирж API?

У многих других бирж есть API. Вот почему Coinbase Pro API не может быть единственным выбором для трейдеров. Вот лишь несколько обменов с API:

Binance
BitMEX
HitBTC
Кракен
Близнецы
KuCoin
Bittrex
Bitfinex

После завершения надлежащего исследования трейдеры могут выбрать одну из представленных бирж или найти другие платформы, которые соответствовали бы их потребностям. Однако давайте вернемся к Coinbase Pro.

Создание учетной записи на Coinbase Pro

У трейдеров есть только два способа создания учетной записи на этой платформе:

1. Если у трейдера уже есть учетная запись Coinbase, единственное, что осталось, - это подключить ее к Coinbase Pro. Тогда был бы возможен перевод средств между счетами.

2. Или просто посетите стартовую страницу Coinbase Pro и запустите учетную запись прямо там.

Нажав на кнопку “Начать работу”, новички должны заполнить свои основные данные учетной записи, подтвердить адрес электронной почты и включить двухфакторную аутентификацию. Чтобы завершить регистрацию, пользователи должны предоставить некоторую личную информацию: имя, дату рождения, адрес, намерения, источник средств, род занятий, включая фотографию, удостоверяющую личность, и ссылку на банковский счет.

Что такое ключ API Coinbase?

Чтобы иметь дело с API Coinbase Pro, трейдерам требуется ключ API Coinbase. Прежде всего, нажмите на “API”, а затем на кнопку “+ Новый ключ API”. Затем пользователи должны выбрать разрешения для ключа API, установить псевдоним и пароль, дополнительный уровень аутентификации и функцию безопасности, реализованную Coinbase.

Прежде чем ключ API сможет начать работать, трейдерам необходимо выполнить еще один шаг: ввести проверочный код, чтобы получить секретный ключ. Более того, пользователи должны хранить этот секретный ключ в надежном месте, чтобы не потерять его.

Наконец, создан API Coinbase Pro. Давайте двигаться дальше и поговорим о его способностях.

Полезные команды Python Coinbase Pro API

Каждый трейдер может выбрать своего любимого клиента из пяти поддерживаемых:

Python
Перейти
Java
Ржавчина
C#

Python - самый популярный клиент для написания команд в Coinbase Pro API. Вот почему примеры будут состоять только из этого.

Давайте начнем:

pip install cbpro

Информация О Торговых Парах С Помощью Python Coinbase API

В API Coinbase Pro библиотека python использует конечную точку get_products для получения информации о торговых парах. Следующий шаг - импорт библиотеки, инициализация клиента, получение данных о продуктах:

импорт cbpro
импортируйте pandas как pd
c = cbpro.PublicClient()
данные = pd.DataFrame(c.get_products())
data.tail().

Данные О Ценах С Помощью Python Coinbase API

Чтобы получить информацию о ценовых данных, используйте конечную точку get_product_ticker и укажите параметр ticker. Для Кардано это было бы:

тикер = c.get_product_ticker(product_id='ADA-USD')
тикер

Второй способ получить дату - с помощью конечных точек Coinbase Pro REST API:

тикер запросов на импорт = requests.get('https://api.pro.coinbase.com/products/ADA-USD/ticker ').json()
тикер

Исторические Данные С Помощью Python Coinbase API

Чтобы получить информацию об исторических данных, используйте конечную точку get_product_historic_rates. Можно указать степень детализации, дату начала и окончания.

Посмотрите, как просто получить исторические данные ETH-USD с параметрами по умолчанию и упорядочить все это в упорядоченный фрейм данных:

historical = pd.DataFrame(c.get_product_historic_rates(product_id='ETH-USD')) historical.columns= ["Дата","Открытие","Максимум","Минимум","Закрытие","Объем"]
исторический['Дата'] = pd.to_datetime(исторический['Дата'], единица измерения='s')
historical.set_index('Дата', inplace=True)
historical.sort_values(по='Дата', по возрастанию=True, inplace=True)
исторический

При необходимости позже эти данные можно было бы использовать для создания простого индикатора и построения графика свечей.

Доступ К Техническим Индикаторам С Помощью Python Coinbase API

К сожалению, Coinbase Pro API не предлагает никаких предустановленных индикаторов. Тем не менее, их можно создать, используя встроенные функции pandas или просто полагаясь на библиотеку btalib.

Вот как создать простой индикатор 20 SMA с помощью pandas:

исторический['20 SMA'] = исторический.Закрыть.прокатка(20).среднее значение()
исторический.хвост()

И, имея все эти данные, можно создать интерактивную диаграмму:

импортируйте plotly.graph_objects как go
fig = go.Figure(данные=[go.Candle(x = historical.index,
открыть = исторический['Открыть'],
высокий = исторический['Высокий'],
низкий = исторический['Низкий'],
закрыть = исторический['Закрыть'], ),
go.Scatter(x=historical.index, y=historical['20 SMA'], line=dict(цвет='фиолетовый', ширина=1))])
рис.показать()

Данные Книги заказов

Чтобы получить доступ к данным Книги заказов, используйте конечную точку get_product_order_book Coinbase Pro API. Вот пример получения данных для BTC-USD и организации заявок и запросов.

order_book = c.get_product_order_book('BTC-USD')
книга заказов

Следующим шагом является создание двух фреймов данных:

ставки = pd.DataFrame(книга заказов['ставки'])
спрашивает = pd.DataFrame(order_book['спрашивает'])
ставки.head()

Теперь объединяем их и переименовываем столбцы, чтобы они были более информативными:

df = pd.merge(ставки, запросы, left_index=True, right_index=True)
df = df.переименовать({"0_x":"Цена предложения","1_x":"Размер предложения", "2_x":"Сумма предложения",
"0_y":"Запрашиваемая цена","1_y":"Запрашиваемый размер", "2_y":"Запрашиваемая сумма"}, ось='столбцы')
df.head()

Данные о Сделках

Чтобы получить данные о сделках, используйте конечную точку get_product_trades. Не забудьте ввести актив, получающий данные о; ETH-USD в этом примере.

сделки = pd.DataFrame(запросы.get('https://api.pro.coinbase.com/products/ETH-USD/trades ').json())
сделки.хвост()

Чтобы библиотека Python не застряла, используйте REST API.

Как использовать Coinbase Pro WebSocket API?

Для доступа к веб-сайтам Coinbase Pro используйте конечную точку WebscoketClient. Благодаря этому трейдеры могут легко оставаться в курсе интересных данных.

импорт cbpro
wsc = cbpro.WebSocketClient(url="wss://ws-feed.pro.coinbase.com", products="ADA-USD",
каналы=["бегущая строка"])

Чтобы закрыть WebSocket, просто используйте простую команду:

wsc.закрыть()

Следующая команда помогает собрать данные о цене тикера до определенного количества сообщений WebSocket и распечатать их:

время импорта, cbpro
класс myWebsocketClient(cbpro.WebSocketClient):
определение on_open(self):
self.url = "wss://ws-feed.pro.coinbase.com/"
self.products = ["ETH-USDT"]
self.channels=["тикер"] 
self.message_count = 0
определение on_message(self, msg):
self.message_count += 1
если "цена" в msg и "тип" в msg:
печать ("Тип сообщения:", msg["тип"],
"\t@ {:.3f}".формат(float(msg["цена"])))
определение on_close(self):
печать ("Закрытие")
wsClient = myWebsocketClient()
wsClient.start()
печать(wsClient.url, wsClient.products, wsClient.channels)
while (wsClient.message_count < 50):
печать ("\nmessage_count =", "{} \n".формат(wsClient.message_count)) 
время сна(1)
wsClient.close()

Совершение сделок по API Coinbase Pro

С помощью команд python Coinbase API совершать сделки довольно просто. Давайте рассмотрим два примера: совершение сделки по ETH, когда BTC достигает определенной цены, и совершение сделки по ETH, когда BTC движется на 5% за последние 5 минут.

Как совершить сделку на ETH, когда BTC достигает определенной цены?

Теперь давайте выясним, как правильно запустить ордер с указанными требованиями: начните торговлю на ETH, когда BTC достигнет определенной цены (например, 38500 долларов).

1. Установите основу заказа;
2. Создайте цикл, который будет проверять, достигнут ли уровень цены или нет;
3. Как только цена будет достигнута, рыночный ордер будет исполнен; 
4. Подождите несколько секунд и проверьте, действительно ли заказ был выполнен. 

После настройки логики пришло время импортировать соответствующие библиотеки и настроить API:

импорт cbpro
импорт base64
импорт json из time
импорт сна
ключ = "
секрет = "
кодовая фраза = "
encoded = json.dumps(секретный).encode()
b64secret = base64.b64encode(закодированный)
auth_client = cbpro.AuthenticatedClient(ключ=ключ, b64secret=секрет, кодовая фраза=кодовая фраза)
c = cbpro.PublicClient()

Что касается основной торговой логики, вот важное замечание, чтобы сделать ордер более безопасным. Для этого разместите лимитный ордер, взяв текущую цену ETH-USD и добавив несколько долларов сверху.

в то время как Верно:
Пытаться:
тикер = c.get_product_ticker(product_id='BTC-USD')
за исключением исключения в виде e:
печать(ошибка при получении данных тикера: {e}')
если значение с плавающей запятой(тикер['цена']) >= 38500,00:
Пытаться:
limit = c.get_product_ticker(product_id='ETH-USD')
за исключением исключения в виде e:
печать(ошибка при получении данных тикера: {e}')
Пытаться:
заказ=auth_client.place_limit_order(product_id='ETH-USDT',
сторона="купить",
цена=плавающая(ограничение['цена'])+2,
размер='0.007')
за исключением исключения в виде e:
печать(ошибка при размещении заказа: {e}')
сон(2)
Пытаться:
проверка = заказ['id']
check_order = auth_client.get_order(order_id=проверка)
за исключением исключения в виде e:
печать (можно настроить для проверки заказа. Это может быть отклонено. {e}')
если check_order['status'] == 'готово':
печать("Заказ размещен успешно")
печать(check_order)
перерыв
остальное:
печать("Заказ не был согласован")
перерыв
остальное:
печать(f) Требование не выполнено. Цена тикера равна {тикер["цена"]}')
сон(10)

Как совершить сделку с ETH, когда BTC движется на 5% за последние 5 минут?

Задача немного усложняется. Новый цикл должен будет получить цены двух криптовалют и рассчитать процентное изменение между ними:

● Если процентное изменение составляет менее 5%, программа будет находиться в режиме ожидания еще 5 минут;

● Если процентное изменение равно или превышает 5%, сделка будет выполнена.

Подождите несколько секунд после завершения и снова проверьте сделку.

в то время как Верно:
Пытаться:
ticker_old = c.get_product_ticker(product_id='BTC-USD')
за исключением исключения в виде e:
печать(ошибка при получении данных тикера: {e}')
сон(300)
Пытаться:
ticker_new = c.get_product_ticker(product_id='BTC-USD')
за исключением исключения в виде e:
печать(ошибка при получении данных тикера: {e}')
процент = ((float(ticker_new['price']) - float(ticker_old['price']))*100)/float(ticker_old['price'])
если процент >= 5:
Пытаться:
limit = c.get_product_ticker(product_id='ETH-USDT')
за исключением исключения в виде e:
печать(ошибка при получении данных тикера: {e}')
Пытаться:
заказ=auth_client.place_limit_order(product_id='ETH-USDT',
сторона="купить",
цена=плавающая(ограничение['цена'])+2,
размер='0.007')
за исключением исключения в виде e:
печать(ошибка при размещении заказа: {e}')
сон(2)
Пытаться:
проверка = заказ['id']
check_order = auth_client.get_order(order_id=проверка)
за исключением исключения в виде e:
печать (можно настроить для проверки заказа. Это может быть отклонено. {e}')
если check_order['status'] == 'готово':
печать("Заказ размещен успешно")
печать(check_order)
перерыв
остальное:
печать("Заказ не был согласован")
перерыв
остальное:
печать(f) Требование не выполнено. Процентное изменение составляет {процент}')

Как отменить заказы с помощью Coinbase Pro API?

Отменить заказ очень просто. Перейдите к конечной точке API cancel_order и введите идентификатор заказа в качестве параметра:

client.cancel_order(идентификатор заказа = "ИДЕНТИФИКАТОР ЗАКАЗА-ЗДЕСЬ")

Вывод

В этой статье мы более подробно рассмотрели Coinbase Pro API и привели несколько примеров кода на python. Полный код можно найти на странице платформы GitHub.

Изложенные в тексте мнения и оценки являются точкой зрения автора статьи и могут не совпадать с позицией Cryptogeek. Не забывайте, что любые инвестиции, как и торговля на бирже, связаны с риском. Прежде чем принимать решения, обязательно исследуйте рынок и интересующие вас продукты самостоятельно.


Здесь пока нет комментариев. Будьте первым!

banner-image

Лучшие компании

  • HitBTC Exchanges
  • LOBSTR Wallets
  • Cash App Wallets
  • Latoken Exchanges
  • Advcash Tools