Używanie API Binance do handlu pozwala na automatyzację kupna/sprzedaży kryptowalut, pobieranie danych w czasie rzeczywistym/historycznych, zarządzanie zamówieniami, sprawdzanie sald oraz budowanie botów handlowych lub strategii — wszystko programowo bez ręcznego korzystania ze strony/aplikacji Binance. Oto praktyczny przewodnik krok po kroku (skoncentrowany na handlu spot, najczęściej stosowanym punkcie wyjścia; futures/margin podążają podobnymi wzorcami, ale używają różnych punktów końcowych). 1. Utwórz konto Binance i wygeneruj klucze API
Zarejestruj się/zaloguj na binance.com.
Przejdź do profilu → Zarządzanie API (lub bezpośrednio: https://www.binance.com/en/my/settings/api-management).
Kliknij Utwórz API.
Nazwij to (np. "Bot handlowy").
Włącz uprawnienia:
Włącz odczyt (zawsze potrzebny)
Włącz handel spot i margin (do składania/anulowania zleceń)
Nie włączaj wypłat, chyba że to absolutnie konieczne (ryzyko bezpieczeństwa!)
Opcjonalnie ogranicz do zaufanych adresów IP.
Natychmiast skopiuj swój klucz API i klucz tajny - sekret wyświetla się tylko raz.
Wskazówka dotycząca bezpieczeństwa: Nigdy nie udostępniaj kluczy, nigdy nie dodawaj ich do GitHub, przechowuj je bezpiecznie (np. zmienne środowiskowe).2. Wybierz swoje podejście
Najłatwiejsze dla początkujących: Użyj oficjalnej biblioteki python-binance.
Zainstaluj ją:
bash
pip install python-binance
Alternatywy: CCXT (obsługuje ponad 100 giełd), oficjalne konektory w Node.js, Java itp.
3. Podstawowe połączenie i przykłady (Python)
python
from binance.client import Client
from binance.enums import *
# Użyj swoich prawdziwych kluczy (nigdy nie twardo koduj w produkcji!)
api_key = "your_api_key_here"
api_secret = "your_api_secret_here"
client = Client(api_key, api_secret)
# Testuj połączenie: Pobierz stan konta
balance = client.get_account()
print(balance) # Wyświetla wszystkie twoje salda
# Pobierz bieżącą cenę BTC/USDT
ticker = client.get_symbol_ticker(symbol="BTCUSDT")
print(ticker) # {'symbol': 'BTCUSDT', 'price': '62345.67'}
4. Składanie zleceń (Kluczowa część handlu)Zlecenie rynkowe (kup/sprzedaj natychmiast po bieżącej cenie)
python
# Kup 0.001 BTC za USDT (zakup rynkowy)
order = client.create_order(
symbol='BTCUSDT',
side=SIDE_BUY,
type=ORDER_TYPE_MARKET,
quoteOrderQty=50 # Wydaj 50 USDT (lub użyj quantity=0.001 dla kwoty BTC)
)
print(order)
Zlecenie limitowane (kup/sprzedaj po określonej cenie)
python
# Sprzedaj 0.001 BTC po 65,000 USD
order = client.create_order(
symbol='BTCUSDT',
side=SIDE_SELL,
type=ORDER_TYPE_LIMIT,
timeInForce=TIME_IN_FORCE_GTC, # Ważne do anulowania
quantity=0.001,
price=65000.00
)
Sprawdź / Anuluj zamówienia
python
# Pobierz otwarte zamówienia
open_orders = client.get_open_orders(symbol='BTCUSDT')
# Anuluj zamówienie
client.cancel_order(symbol='BTCUSDT', orderId=12345678)
5. Uzyskaj dane rynkowe (istotne dla strategii)
Historyczne świece (do TA, np. średnie kroczące):
python
klines = client.get_historical_klines("BTCUSDT", Client.KLINE_INTERVAL_1HOUR, "30 dni temu UTC")
# Zwraca listę [open_time, open, high, low, close, volume, ...]
Aktualizacje w czasie rzeczywistym za pomocą WebSockets (zalecane dla botów na żywo):
python
from binance.websockets import BinanceSocketManager
def process_message(msg):
print(msg) # np. aktualizacje bieżącej ceny
bm = BinanceSocketManager(client)
bm.start_symbol_ticker_socket('BTCUSDT', process_message)
bm.start() # Działa w nieskończoność, aż zostanie zatrzymane
6. Ważne najlepsze praktyki i ostrzeżenia
Zacznij na Testnecie → Użyj https://testnet.binance.vision/ (utwórz osobne klucze API testnet) aby uniknąć utraty prawdziwych pieniędzy.
Szanuj limity zapytań (Binance egzekwuje je surowo - np. 1200 zapytań/minutę).
Obsługuj błędy (np. niewystarczający stan konta, błędy API) za pomocą try/except.
Używaj handlu papierowego / testowania wstecznego przed przejściem do trybu na żywo.
Boty handlowe mogą szybko tracić pieniądze - nigdy nie ryzykuj więcej, niż możesz sobie pozwolić.
Dla kontraktów terminowych/opcji → Użyj metod client.futures_* lub osobnego klienta futures.
Oficjalne zasoby
Główna dokumentacja: https://developers.binance.com/docs/binance-spot-api-docs
Biblioteka Pythona: https://python-binance.readthedocs.io
Kolekcja Postman (świetna do testowania punktów końcowych): Wyszukaj "Binance API Postman" na GitHubie.
Zacznij od małych kroków, przetestuj wszystko na testnecie i stopniowo buduj swoją strategię!#BinanceAPI #binanceDev #CryptoTrading #TradingBot
