Limity wywołań i czynniki kosztowe
Ta strona dokumentuje, jak Cryptohopper Market Data MCP liczy wywołania, stosuje limity wywołań i nalicza mnożniki kosztów dla danych historycznych. Jest to odniesienie techniczne; aby zobaczyć podsumowanie poziomów, zobacz poziomy subskrypcji.
Dwa niezależne limity
MCP wymusza dwa oddzielne limity dla każdego konta:
- Tygodniowy limit wywołań. Toczący się tygodniowy przydział wywołań, specyficzny dla poziomu.
- Limit częstotliwości. Krótkoterminowy limit szybkości wykonywania wywołań.
Oba limity są stosowane dla każdego konta. Tworzenie dodatkowych kluczy API nie zwiększa żadnego z limitów.
Tygodniowy limit wywołań
| Poziom | Tygodniowe wywołania |
|---|---|
| Pioneer | 6 000 |
| Explorer | 30 000 |
| Adventurer | 150 000 |
| Hero | 1 250 000 |
Licznik resetuje się w każdy piątek o stałej godzinie dla każdego konta. Przekroczenie limitu zwraca błąd QUOTA_EXCEEDED do czasu następnego resetu.
Aktualne użycie i czas do resetu można sprawdzić w każdej chwili. Zobacz użycie i limity.
Limit częstotliwości
Oprócz tygodniowego limitu, krótkoterminowy limit częstotliwości zapobiega szybkim seriom wywołań. Dokładne okno i próg są stosowane jednolicie we wszystkich poziomach i mogą być dostosowywane bez powiadomienia w celu utrzymania stabilności usługi.
Przekroczenie limitu częstotliwości zwraca błąd RATE_LIMIT_EXCEEDED. Ponowienie próby po krótkiej przerwie zazwyczaj się udaje.
Wskazówka: Jeśli twój przepływ pracy obejmuje wiele sekwencyjnych wywołań (na przykład przeszukiwanie tickerów dla wszystkich par na giełdzie), dodaj małe opóźnienie między wywołaniami — rzędu dziesiątek do setek milisekund — aby pozostać poniżej limitu częstotliwości. Klienci MCP robią to automatycznie w większości przypadków.
Jednostka kosztowa
Jednostka wywołania to podstawowa opłata za pojedyncze wywołanie narzędzia. Tygodniowy limit wywołań jest wyrażony w jednostkach.
Większość wywołań narzędzi liczy się jako 1 jednostka. Zapytania o historyczne świece mogą liczyć się jako więcej niż 1 jednostka, jak opisano poniżej.
Czynnik kosztowy: dane historyczne
Zapytania o historyczne świece wiążą się z mnożnikiem kosztów na poziomach Explorer i Adventurer. Mnożnik zależy od głębokości cofnięcia:
| Głębokość cofnięcia | Mnożnik kosztów |
|---|---|
| Krótka historia (ostatnie słupki w krótkim oknie) | 5× |
| Długa historia (słupki sięgające maksymalnej historii poziomu) | 20× |
Granica między „krótką" a „długą" jest specyficzna dla poziomu i może być dostosowywana. Jako zasada robocza, zapytania pobierające mniej więcej ostatnie ~10% historycznego limitu poziomu są obciążane 5×; głębsze zapytania są obciążane 20×.
Na poziomie Hero wszystkie zapytania historyczne są naliczane według 1× niezależnie od głębokości wstecznej.
Zapytania o ticker i księgę zleceń są zawsze naliczane według 1× na wszystkich poziomach.
Przykłady
| Zapytanie | Poziom | Koszt jednostkowy |
|---|---|---|
| Aktualny ticker BTC/USDT na Binance | Dowolny | 1 |
| Pełna migawka księgi zleceń dla ETH/USDT na Kraken | Dowolny | 1 |
| Ostatnie 100 × 1h świec dla SOL/USDT na Binance (ostatnie) | Explorer | 5 |
| Ostatnie 500 × 1h świec sięgające wstecz ~3 tygodnie | Explorer | 5 |
| Ostatnie 1 000 × 1h świec sięgające wstecz do limitu 90 dni | Explorer | 20 |
| Ostatnie 1 000 × 4h świec (głębokie cofnięcie) | Adventurer | 20 |
| Ostatnie 3 000 × 1h świec (cofnięcie 3-letnie) | Hero | 1 |
Dokładny koszt konkretnego zapytania można podejrzeć, wywołując endpoint użycia po zapytaniu — delta w calls_used to koszt jednostkowy.
Wskazówki dotyczące budżetowania
Kilka zasad roboczych, aby pozostać w limicie:
- Preferuj tickery do szerokich skanów. Przeszukiwanie 200 par tickerów kosztuje 200 jednostek. To samo przeszukiwanie za pomocą ksiąg zleceń kosztuje 200 jednostek (chociaż każde wywołanie przenosi znacznie więcej danych). To samo przeszukiwanie przez głęboką historię świec może kosztować tysiące jednostek.
- Zachowaj ścisłe cofnięcie świec. Większość wskaźników (RSI, MACD, średnie kroczące do 200-okresowych) nie wymaga więcej niż 150-200 świec kontekstu. Pobieranie 1 000 świec domyślnie jest najczęstszą przyczyną niepotrzebnego wydawania limitów.
- Cachuj tam, gdzie ma to sens. Księgi zleceń dezaktualizują się w ciągu sekund, więc cachowanie migawek ksiąg zleceń rzadko jest przydatne. Dane świec starsze niż bieżący słupek są niezmienne, więc cachowanie lub przechowywanie historycznych świec jest odpowiednie.
- Używaj Hero, gdy głębokość historyczna jest strukturalnie wymagana. Jeśli twój przepływ pracy rutynowo pobiera długie historie świec, płaski czynnik kosztowy 1× na Hero jest zazwyczaj bardziej ekonomiczny niż pobieranie tych samych danych na Adventurer z 20×.
Limit dla wdrożeń wieloagentowych
Jeśli wielu agentów dzieli jedno konto, wszyscy agenci czerpią z tego samego tygodniowego limitu. Aby rozdzielić agentów:
- Utwórz dodatkowe klucze API (w ramach dopuszczalnej liczby kluczy dla poziomu). Każdy klucz czerpie ze wspólnego limitu, ale może być odwołany lub rotowany niezależnie.
- Zaimplementuj ograniczanie na poziomie aplikacji dla każdego klucza, aby zapobiec wyczerpaniu limitu przez jednego agenta dla innych.
Zobacz jak uruchomić wielu agentów z wieloma kluczami API, aby poznać wzorce.
Obsługa błędów
Błędy związane z limitami zwracane przez MCP:
| Kod błędu | Znaczenie |
|---|---|
| QUOTA_EXCEEDED | Osiągnięto tygodniowy limit wywołań. Resetuje się przy następnym czasie resetu. |
| RATE_LIMIT_EXCEEDED | Osiągnięto krótkoterminowy limit częstotliwości. Ponów próbę po krótkiej przerwie. |
| HISTORY_LIMIT_EXCEEDED | Żądane cofnięcie przekracza maksymalną historię poziomu. |
| EXCHANGE_NOT_SUPPORTED | Żądana giełda nie znajduje się na liście dozwolonych dla poziomu. |
Pełna lista błędów: lista błędów.
Sprawdzanie bieżącego użycia
MCP udostępnia narzędzie do sprawdzania użycia, które zwraca:
- tier — aktywny poziom subskrypcji.
- calls_used — jednostki użyte w bieżącym cyklu tygodniowym.
- calls_limit — tygodniowy limit poziomu.
- reset_at — znacznik czasu ISO-8601 następnego resetu.