tradingview

API

API (ang. Application Programming Interface, interfejs programistyczny aplikacji) to ustalony zestaw zasad, według których jeden program może pobierać dane z innego programu lub zlecać mu działania – bez znajomości jego wewnętrznej budowy. W tradingu API giełdy lub brokera pozwala pobierać notowania i arkusz zleceń, składać i anulować zlecenia, sprawdzać saldo i pozycje z własnego skryptu, bota albo zewnętrznej platformy.

Jak działa API

Program klienta wysyła zapytanie pod określony adres (endpoint) w ustalonym formacie, a serwer odsyła odpowiedź – zwykle w formacie JSON. Dokumentacja API opisuje, jakie endpointy istnieją, jakich parametrów wymagają i co zwracają. Najpopularniejsze style to REST (zapytania HTTP typu GET, POST, DELETE), GraphQL (klient sam określa, jakie pola chce dostać) i starszy SOAP oparty na XML. Na giełdach dominuje REST uzupełniony o WebSocket, a w tradycyjnych finansach także protokół FIX.

API giełdy: REST, WebSocket i FIX

Kanał Jak działa Typowe zastosowanie
REST Pojedyncze zapytanie i odpowiedź Składanie i anulowanie zleceń, saldo, historia transakcji, świece
WebSocket Stałe połączenie, serwer sam wysyła zmiany Notowania na żywo, arkusz zleceń, status własnych zleceń i pozycji
FIX Standardowy protokół branży finansowej Handel instytucjonalny, niskie opóźnienia

API giełd dzieli się też na publiczne (dane rynkowe dostępne bez logowania) i prywatne (konto, zlecenia, wypłaty), które wymagają uwierzytelnienia.

Uwierzytelnianie i bezpieczeństwo

Dostęp do prywatnej części API daje para: klucz API i sekret. Klucz identyfikuje konto, a sekretem podpisujesz każde zapytanie (najczęściej HMAC SHA-256 lub podpis Ed25519), dodając znacznik czasu, żeby nikt nie mógł ponowić przechwyconego zapytania. Szczegóły tworzenia i przechowywania kluczy opisuje hasło API Key. Zasady podstawowe:

  • nadawaj tylko potrzebne uprawnienia – bot handlowy nie potrzebuje prawa do wypłat,
  • włącz listę dozwolonych adresów IP, jeśli giełda ją oferuje,
  • osobny klucz dla każdego bota lub narzędzia, żeby w razie wycieku odciąć tylko jeden,
  • nigdy nie wklejaj sekretu do kodu w publicznym repozytorium ani do nieznanych usług.

Limity zapytań

Każda giełda ogranicza liczbę zapytań (rate limit) – na minutę, na sekundę albo według „wagi” poszczególnych endpointów. Przekroczenie kończy się błędem HTTP 429, a przy powtarzaniu – czasową blokadą adresu IP. Osobne limity dotyczą zwykle liczby składanych zleceń.

Przykład: bot przekracza limit

Załóżmy, że giełda daje limit 1 200 jednostek wagi na minutę, a zapytanie o cenę jednego instrumentu kosztuje 2 jednostki. Bot co sekundę pyta REST-em o ceny 20 par. Na minutę to 20 × 2 × 60 = 2 400 jednostek, czyli dwa razy więcej niż limit. Bot zostanie zablokowany mniej więcej po 30 sekundach i w najgorszym momencie straci kontakt z rynkiem – także z otwartymi pozycjami.

Rozwiązanie: notowania pobierać przez WebSocket (jedna subskrypcja, bez zużywania limitu REST), a REST zostawić na składanie zleceń i okresową kontrolę stanu konta. Druga zasada: stop loss składaj jako zlecenie po stronie giełdy, a nie jako warunek w bocie, który musi działać, żeby go wykonać.

Zastosowania API w tradingu

  • boty i strategie algorytmiczne, od prostego DCA po market making,
  • łączenie konta giełdowego z platformą do wykresów, np. przez webhooki alertów,
  • automatyczny dziennik transakcji i rozliczenie podatkowe z historii zleceń,
  • zbieranie danych historycznych do testów strategii,
  • monitoring pozycji i powiadomienia o poziomie depozytu.

Najczęstsze błędy

  • Klucz z uprawnieniem do wypłat, bez listy IP, używany przez zewnętrzną usługę.
  • Odpytywanie REST-em w pętli zamiast subskrypcji WebSocket.
  • Brak obsługi błędów i ponownego łączenia – bot „wisi” po zerwaniu połączenia.
  • Niesynchronizowany zegar serwera, przez co giełda odrzuca podpisane zapytania.
  • Testowanie nowego kodu od razu na prawdziwych środkach zamiast na testnecie.

Perspektywa tradera

API daje szybkość i dyscyplinę, ale przenosi część ryzyka z rynku na technikę. Błąd w pętli może w kilka sekund złożyć dziesiątki zleceń, dlatego w kodzie ustaw twarde limity: maksymalną wielkość pozycji, maksymalną liczbę zleceń na minutę i dzienny limit straty, po którym bot się zatrzymuje. Wielkość pojedynczej pozycji licz tak samo jak przy handlu ręcznym – od ryzyka i odległości stopu, np. w kalkulatorze wielkości pozycji. Pamiętaj też, że giełdy zmieniają wersje API i limity – śledź komunikaty dla programistów.

Najczęstsze pytania

Czy do handlu przez API trzeba umieć programować?

Do pisania własnych botów – tak, najczęściej w Pythonie. Gotowe platformy i boty korzystają z API za Ciebie, wystarczy wygenerować klucz.

Czym różni się REST od WebSocket?

REST to pojedyncze zapytanie i odpowiedź. WebSocket utrzymuje stałe połączenie, przez które serwer sam wysyła zmiany cen i statusów zleceń.

Czy udostępnienie klucza API jest bezpieczne?

Tylko przy ograniczonych uprawnieniach: bez wypłat, najlepiej z listą dozwolonych IP. Klucz z prawem do wypłat to w praktyce dostęp do Twoich środków.

Co oznacza błąd 429?

Przekroczenie limitu zapytań. Trzeba zwolnić tempo, a przy powtarzaniu błędu giełda może czasowo zablokować adres IP.

Czy mogę przetestować bota bez ryzyka?

Wiele giełd udostępnia testnet z wirtualnymi środkami i takim samym API. Pamiętaj, że płynność i poślizgi na testnecie różnią się od rynku rzeczywistego.

Tekst ma charakter edukacyjny i nie stanowi rekomendacji inwestycyjnej.

Zaktualizowano: