Работа с CoinEx API на Python

CoinEx ― одна из популярных криптовалютных бирж, предлагающая широкий спектр инструментов для торговли и инвестиций. Для автоматизации торговых стратегий и взаимодействия с биржей программным способом, CoinEx предоставляет API. В этой статье мы рассмотрим, как использовать CoinEx API на Python, и приведем примеры реализации различных функций.

CoinEx API позволяет разработчикам создавать приложения, которые могут взаимодействовать с биржей, получать данные о рынке, выставлять ордера, управлять аккаунтом и многое другое. API поддерживает как REST, так и WebSocket протоколы, что обеспечивает гибкость и эффективность взаимодействия.

REST API

REST API используется для запросов, которые не требуют постоянного соединения, таких как получение информации о балансе, выставление ордеров, получение данных о рынке и т.д.

WebSocket API

WebSocket API предназначен для получения данных в режиме реального времени, таких как цены, обновления ордеров, данные о сделках и т.д. Он обеспечивает более эффективное использование ресурсов и мгновенное обновление данных.

Начало работы с CoinEx API на Python

Для начала работы с CoinEx API на Python необходимо:

  1. Зарегистрироваться на CoinEx и создать API ключ.
  2. Установить необходимые Python библиотеки.

Для взаимодействия с CoinEx API можно использовать стандартную библиотеку requests для REST API и websocket-client для WebSocket API.

Установка необходимых библиотек

Установите необходимые библиотеки с помощью pip:

pip install requests websocket-client

Примеры использования CoinEx API на Python

REST API примеры

Ниже приведены примеры запросов к CoinEx REST API на Python.

Получение баланса

Для получения баланса аккаунта необходимо отправить GET запрос на `/v1/balance`.

import requests

api_url = 'https://api.coinex.com/v1/balance'
api_key = 'Ваш API ключ'
api_secret = 'Ваш API секрет'

headers = {
 'Authorization': f'Bearer {api_key}',
 'Content-Type': 'application/json'
}

response = requests.get(api_url, headers=headers)

print(response.json)

Выставление ордера

Для выставления ордера необходимо отправить POST запрос на `/v1/order`.

import requests
import json

api_url = 'https://api.coinex.com/v1/order'
api_key = 'Ваш API ключ'
api_secret = 'Ваш API секрет'


headers = {
 'Authorization': f'Bearer {api_key}',
 'Content-Type': 'application/json'
}

data = {
 'market': 'BTCUSDT',
 'type': 'limit',
 'side': 'buy',
 'amount': '0.01',
 'price': '20000'
}

response = requests.post(api_url, headers=headers, data=json.dumps(data))

print(response.json)

WebSocket API примеры

Ниже приведены примеры подключения к CoinEx WebSocket API на Python.

  Обзор криптовалютной биржи CoinEx: отзывы и практические советы

Подписка на обновления цен

import websocket
import json

ws_url = 'wss://stream.coinex.com/'

ws = websocket.WebSocket
ws.connect(ws_url)

subscribe_data = {
 'method': 'state.subscribe',
 'params': ['BTCUSDT'],
 'id': 1
}
ws.send(json.dumps(subscribe_data))

while True:
 response = ws.recv
 print(response)

ws.close

Создание торгового бота на Python для CoinEx

Используя CoinEx API, можно создать торгового бота, который будет автоматически выставлять ордера на основе заданной стратегии.

Ниже приведен упрощенный пример торгового бота, который выставляет ордер на покупку при достижении определенной цены.

import requests
import json
import time

api_url = 'https://api.coinex.com/v1/order'
api_key = 'Ваш API ключ'
api_secret = 'Ваш API секрет'

headers = {
 'Authorization': f'Bearer {api_key}',
 'Content-Type': 'application/json'
}
def get_current_price(market):
 response = requests.get(f'https://api.coinex.com/v1/market/ticker?market={market}')
 return float(response.json['data']['ticker']['last'])

def place_order(market, amount, price):
 data = {
 'market': market,
 'type': 'limit',
 'side': 'buy',
 'amount': amount,
 'price': price
 }
 response = requests.post(api_url, headers=headers, data=json.dumps(data))
 return response.json

market = 'BTCUSDT'
amount = '0.01'
target_price = 20000
while True:
 current_price = get_current_price(market)
 if current_price <= target_price:
 place_order(market, amount, target_price)
 break
 time.sleep(60) # Проверять цену каждую минуту

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

В этой статье мы рассмотрели основы работы с CoinEx API на Python, включая REST и WebSocket API, и привели примеры реализации различных функций.

Добавить комментарий