Найти в Дзене
Slava | Dev, Invest, Productivity

Как настроить создание оредров на бирже ByBit по сигналам с TradingView?

1. Войдите в свой аккаунт на ByBit. 2. Перейдите в раздел API Management (Управление API). 3. Нажмите Create New Key (Создать новый ключ). 4. Выберите: - API Key Type: учетная запись для торговли. - Установите необходимые права доступа (например, чтобы создавать ордера, включите Order и Positions). - Установите ограничения IP-адресов для повышения безопасности, если есть привязка к хостингу или серверу. 5. Сохраните сгенерированный API Key и API Secret на своём устройстве (они будут использоваться для отправки запросов). 1. Откройте график в TradingView, выберите индикатор или условие, которое вы хотите использовать для сигнала. 2. Нажмите на значок "Будильника" или используйте меню Alert (Оповещение). 3. В окне настройки оповещений: - Выберите Условие (например, "Цена выше определенного значения"). - Укажите желаемые параметры (например, частоту уведомлений). - В поле Webhook URL укажите URL-адрес, на который будут отправляться запросы. Пример: URL вашей программы или службы, обрабаты
Оглавление

Шаг 1: Создайте API-ключ на ByBit

1. Войдите в свой аккаунт на ByBit.

2. Перейдите в раздел API Management (Управление API).

3. Нажмите Create New Key (Создать новый ключ).

4. Выберите:

- API Key Type: учетная запись для торговли.

- Установите необходимые права доступа (например, чтобы создавать ордера, включите Order и Positions).

- Установите ограничения IP-адресов для повышения безопасности, если есть привязка к хостингу или серверу.

5. Сохраните сгенерированный API Key и API Secret на своём устройстве (они будут использоваться для отправки запросов).

Шаг 2: Настройте сигнал в TradingView

1. Откройте график в TradingView, выберите индикатор или условие, которое вы хотите использовать для сигнала.

2. Нажмите на значок "Будильника" или используйте меню Alert (Оповещение).

3. В окне настройки оповещений:

- Выберите Условие (например, "Цена выше определенного значения").

- Укажите желаемые параметры (например, частоту уведомлений).

- В поле Webhook URL укажите URL-адрес, на который будут отправляться запросы. Пример: URL вашей программы или службы, обрабатывающей вебхуки.

- Добавьте полезные данные в поле Message в формате JSON.

Пример содержимого сообщения:

{
"symbol": "BTCUSDT",
"side": "Buy",
"order_type": "Market",
"quantity": 0.01
}

4. Сохраните оповещение.

Шаг 3: Настройте хостинг для обработки Webhook

Чтобы обработать вебхук из TradingView и отправить запрос в ByBit API, нужно:

1. Выберите инструмент для хостинга (например, Python, Node.js, или сторонние сервисы, такие как Zapier, AutoView, QuantConnect и т.п.).

2. Напишите программный скрипт, который:

- Принимает входящие POST-запросы с JSON-данными.

- Парсит данные.

- Отправляет запрос на API ByBit с параметрами из вебхука.

Пример простого Python-сервиса (с использованием Flask):

PS. Понимаю публикация кода в таком виде не допустимо, просто пишу для себя, врядли кто читать будет...

from flask import Flask, request
import requests
import hmac
import hashlib
import time
app = Flask(__name__)
# Ваши API ключи ByBit
API_KEY = 'ваш_api_key'
API_SECRET = 'ваш_api_secret'
# Функция для отправки ордеров через API ByBit
def place_order(symbol, side, order_type, qty):
endpoint = "https://api.bybit.com/v2/private/order/create"
params = {
"api_key": API_KEY,
"symbol": symbol,
"side": side,
"order_type": order_type,
"qty": qty,
"time_in_force": "GoodTillCancel",
"timestamp": int(time.time() * 1000)
}
query_string = "&".join(f"{key}={value}" for key, value in sorted(params.items()))
signature = hmac.new(API_SECRET.encode(), query_string.encode(), hashlib.sha256).hexdigest()
params["sign"] = signature
response = requests.post(endpoint, data=params)
return response.json()
# Обрабатываем вебхуки от TradingView
@app.route('/webhook', methods=['POST'])
def webhook():
data = request.json
symbol = data['symbol']
side = data['side']
order_type = data['order_type']
quantity = data['quantity']
result = place_order(symbol, side, order_type, quantity)
return result
if __name__ == '__main__':
app.run(debug=True, port=5000)

Запустите сервер на своем компьютере или хостинге

Шаг 4: Укажите Webhook URL в TradingView

В поле Webhook URL укажите адрес своего сервера. Например:

http://<ваш-сервер>:5000/webhook

Шаг 5: Убедитесь, что всё работает

1. Настройте сигнал в TradingView и проверьте, отправляет ли он вебхук.

2. Проверьте, что ваш сервер получает вебхук и обрабатывает его.

3. Убедитесь, что ордера создаются на ByBit.

Полезные советы:

- Для тестирования вы можете использовать инструменты вроде ngrok для временной публичной репрезентации вашего локального сервиса.

- Настройте логирование на сервере, чтобы проверять входящие данные и ошибки.

- Используйте ByBit Testnet (https://testnet.bybit.com) перед тем, как работать с реальными деньгами.