CryptoHopper

CryptoHopper

 

CryptoHopper to zautomatyzowany bot do handlu kryptowalutami, który umożliwia automatyzację handlu i zarządzania portfelem dla Bitcoin, Ethereum, Litecoin i innych.

 

 

Konfiguracja

Wymagane jest Konto dewelopera; po jego zatwierdzeniu można przystąpić do tworzenia nowej aplikacji. API używa OAuth2 do uwierzytelniania, więc można pobrać client_id i client_secret z aplikacji.

 


oCryptoHopper := TsgcHTTP_Cryptohopper.Create(nil);
oCryptoHopper.CryptoHopperOptions.OAuth2.ClientId := 'client_id';
oCryptoHopper.CryptoHopperOptions.OAuth2.ClientSecret := 'client_secret';
oCryptoHopper.CryptoHopperOptions.OAuth2.LocalIP := '127.0.0.1';
oCryptoHopper.CryptoHopperOptions.OAuth2.LocalPort := 8080;
oCryptoHopper.CryptoHopperOptions.OAuth2.Scope.Text := "read,notifications,manage,trade";

Metody

CryptoHopper używa HTTPS jako protokołu do wysyłania żądań do API. Niektóre metody wymagają uwierzytelnienia (składanie zleceń, pobieranie danych użytkownika...), a inne są publiczne (np. pobieranie danych giełdy).

 

Funkcje zwracają odpowiedź CryptoHopper, a w przypadku wystąpienia błędu zostaje zgłoszony wyjątek.

 

Hoppers

 

Zarządzanie podstawowymi operacjami bunkra.

 

Metoda Argumenty Opis
GetHoppers   Pobierz Hoppery użytkowników.
CreateHopper aBody: tekst JSON konfiguracji. Tworzy nowy Hopper.
GetHopper aId: identyfikator hoppera Retrieve Hopper
DeleteHopper aId: identyfikator hoppera Usuń Hopper
UpdateHopper aId: identyfikator hoppera aBody: tekst JSON konfiguracji. Aktualizuj Hopper

 

 

Zamówienia

 

Zarządzaj zleceniami swojego Hoppera.

 

Metoda Argumenty Opis
GetOpenOrders aId: identyfikator hoppera Pobierz wszystkie otwarte zlecenia hopera.
CreateNewOrder aId: identyfikator zasobnika aOrder: instancja TsgcHTTPCTHOrder Utwórz nowe zlecenie kupna lub sprzedaży. W przypadku sprzedaży zaleca się użycie dedykowanego punktu końcowego sprzedaży.
PlaceMarketOrder aId: identyfikator hoppera aOrderSide: cthosBuy lub cthosSell. aCoin: nazwa monety, przykład: EOS aAmount: wielkość zlecenia. Złóż zlecenie rynkowe.
PlaceLimitOrder aId: identyfikator hoppera aOrderSide: cthosBuy lub cthosSell. aCoin: nazwa monety, przykład: EOS aAmount: wielkość zlecenia.

aPrice: cena limit.

Złóż zlecenie z limitem ceny
DeleteOrder aId: identyfikator hoppera aOrderId: identyfikator zlecenia Usuwa zlecenie dla wybranego hoppera.
DeleteAllOrders aId: identyfikator hoppera Usuwa wszystkie otwarte zlecenia dla wybranego hoppera.
GetOpenOrder aId: identyfikator hoppera aOrderId: identyfikator zlecenia Pobiera otwarte zlecenie w hopper według identyfikatora.
CancelOrder aId: identyfikator hoppera aOrderId: identyfikator zlecenia Anuluj otwarte zlecenie.

 

 

Pozycja

 

Zarządzaj pozycjami Hopper.

 

Metoda Argumenty Opis
GetPosition aId: identyfikator hoppera Pobierz otwarte pozycje hoppera.

 

 

Transakcja

 

Historia transakcji z Twojego hopera.

 

Metoda Argumenty Opis
GetTradeHistory   Pobierz historię transakcji bota.
GetTradeHistoryById aId: identyfikator hoppera aTradeId: identyfikator transakcji Pobierz transakcję według identyfikatora hoppera.

 

 

Giełda

 

Pobieranie informacji o dostępnych giełdach w CryptoHopper

 

Metoda Argumenty Opis
GetExchange   Pobierz wszystkie dostępne giełdy na platformie Cryptohopper.
GetAllTickers aExchange: nazwa wymiany Pobierz kurs dla wszystkich par
GetMarketTicker aExchange: nazwa giełdy aPair: nazwa pary Pobiera ticker dla pary handlowej.
GetOrderBook aExchange: nazwa giełdy aPair: nazwa pary

aDepth: głębokość arkusza zleceń

Pobiera księgę zleceń dla wybranej giełdy, rynku i głębokości księgi zleceń.

 

 

Webhooki

 

Historia transakcji z Twojego hopera.

 

Metoda Argumenty Opis
CreateWebhook aURL: adres URL webhooka aMessageTypes: typy wiadomości oddzielone przecinkami. Aktualizowanie lub tworzenie webhooka
DeleteWebhook aURL: adres URL webhooka Usuwa istniejący Webhook.

 

 

Sygnały

 

Wysyłanie sygnałów do API CryptoHopper.

 

Metoda Argumenty Opis
SendSignal aSignal: klasa zawierająca wszystkie pola wymagane do wysłania sygnału. Wysyła sygnał
SendTestSignal aSignal: klasa zawierająca wszystkie pola wymagane do wysłania sygnału. Wysyła sygnał testowy
GetSignalStats aSignalId: identyfikator sygnału. aExchange: opcjonalnie, nazwa giełdy. Pobiera część statystyk sygnałowych.

 

Jak zaktualizować konfigurację Cryptohopper

Użyj metody UpdateHopper, aby zaktualizować konfigurację Hopper. Metoda jest przeciążona, więc można przekazać ciąg JSON lub użyć obiektu TsgcHTTPCTHopper i skorzystać z właściwości, aby włączyć lub wyłączyć właściwości Hopper.

 


function EnableHopper: string;
var
  oHopper: TsgcHTTPCTHopper;
begin
  oHopper := TsgcHTTPCTHopper.Create;
  Try
    if Cryptohopper.GetHopper('1234', oHopper) then
    begin 
      oHopper.Enabled := 1;
      result := Cryptohopper.UpdateHopper('1234', oHopper);
    end;
  Finally
    FreeAndNil(oHopper);
  End;
end;

Jak skonfigurować Webhook

Webhook umożliwia otrzymywanie powiadomień o zdarzeniach w hopperze. Webhooki wymagają publicznego serwera HTTPS nasłuchującego pod określonym adresem URL na wiadomości wysyłane przez Cryptohopper. Serwer publiczny musi być chroniony certyfikatem SSL (certyfikaty z własnym podpisem nie są dozwolone).

 

Najpierw należy utworzyć webhook: skonfigurować właściwość Webhook klienta Cryptohopper, ustawiając Host i Port, na którym serwer będzie nasłuchiwał, a następnie skonfigurować certyfikat we właściwości SSLOptions.

 

Przykład: Publiczny adres IP będzie wynosił 1.1.1.1, a port nasłuchiwania 443. Certyfikat jest przechowywany jako plik PEM o nazwie sgc.pem bez hasła.

 


/* OAuth2 */
cryptohopper.CryptohopperOptions.OAuth2.ClientId = 'client_id';
cryptohopper.CryptohopperOptions.OAuth2.ClientSecret := 'client_secret';
cryptohopper.CryptohopperOptions.OAuth2.LocalIP := '127.0.0.1';
cryptohopper.CryptohopperOptions.OAuth2.LocalPort := 8080;
/* Webhook */
cryptohopper.CryptohopperOptions.Webhook.Enabled := True;
cryptohopper.CryptohopperOptions.Webhook.Host := '1.1.1.1';
cryptohopper.CryptohopperOptions.Webhook.Port := 443;
cryptohopper.CryptohopperOptions.Webhook.ValidationCode := '1234';
cryptohopper.CryptohopperOptions.Webhook.SSLOptions.CertFile := 'sgc.pem';
cryptohopper.CryptohopperOptions.Webhook.SSLOptions.KeyFile := 'sgc.pem';
cryptohopper.CryptohopperOptions.Webhook.SSLOptions.RootCertFile := 'sgc.pem';
cryptohopper.CryptohopperOptions.Webhook.SSLOptions.Password := '';
cryptohopper.StartWebhook;