CryptoHopper

CryptoHopper

 

CryptoHopper ist ein automatisierter Krypto-Trading-Bot, mit dem Sie den Handel und das Portfoliomanagement für Bitcoin, Ethereum, Litecoin und mehr automatisieren können.

 

 

Konfiguration

Erfordert ein Developer Account, und sobald Sie genehmigt wurden, können Sie mit der Erstellung einer neuen App beginnen. Die API verwendet OAuth2 zur Authentifizierung, sodass Sie die client_id und das client_secret aus Ihrer App abrufen können.

 


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";

Methoden

CryptoHopper verwendet HTTPs als Protokoll, um Anfragen an die API zu senden. Einige Methoden erfordern eine Authentifizierung (Orders platzieren, Benutzerdaten abrufen...) und einige andere sind öffentlich (zum Beispiel das Abrufen von Börsendaten).

 

Die Funktionen geben die CryptoHopper-Antwort zurück, und bei einem Fehler wird eine Exception ausgelöst.

 

Hoppers

 

Verwalten Sie grundlegende Hopper-Operationen.

 

Methode Arguments Beschreibung
GetHoppers   Ruft Hopper von Benutzern ab.
CreateHopper aBody: Konfigurations-JSON-Text. Einen neuen Hopper erstellen.
GetHopper aId: Hopper-ID Hopper abrufen
DeleteHopper aId: Hopper-ID Hopper löschen
UpdateHopper aId: Hopper-ID aBody: Konfigurations-JSON-Text. Hopper aktualisieren

 

 

Orders

 

Verwalten Sie die Orders Ihres Hoppers.

 

Methode Arguments Beschreibung
GetOpenOrders aId: Hopper-ID Alle offenen Orders des Hoppers abrufen.
CreateNewOrder aId: Hopper-ID aOrder: Instanz von TsgcHTTPCTHOrder Erstellt eine neue Kauf- oder Verkaufsorder. Verwenden Sie für Verkäufe besser den sell-Endpunkt.
PlaceMarketOrder aId: Hopper-ID aOrderSide: cthosBuy oder cthosSell. aCoin: Coin-Name, Beispiel: EOS aAmount: Auftragsgröße. Platziert eine Market-Order.
PlaceLimitOrder aId: Hopper-ID aOrderSide: cthosBuy oder cthosSell. aCoin: Coin-Name, Beispiel: EOS aAmount: Auftragsgröße.

aPrice: Limit-Preis.

Platziert eine Limit-Order
DeleteOrder aId: Hopper-ID aOrderId: Order-ID Löscht die Order für den ausgewählten Hopper.
DeleteAllOrders aId: Hopper-ID Löscht alle offenen Aufträge für den ausgewählten Hopper.
GetOpenOrder aId: Hopper-ID aOrderId: Order-ID Ruft die offene Order im Hopper anhand der ID ab.
CancelOrder aId: Hopper-ID aOrderId: Order-ID Storniert eine offene Order.

 

 

Position

 

Verwalten Sie die Positionen Ihres Hoppers.

 

Methode Arguments Beschreibung
GetPosition aId: Hopper-ID Ruft offene Positionen des Hoppers ab.

 

 

Trade

 

Handelshistorie aus Ihrem Hopper.

 

Methode Arguments Beschreibung
GetTradeHistory   Den Handelsverlauf des Hoppers abrufen.
GetTradeHistoryById aId: Hopper-ID aTradeId: Trade-ID Ruft einen Trade anhand der ID des Hoppers ab.

 

 

Exchange

 

Informationen von verfügbaren Börsen auf CryptoHopper abrufen

 

Methode Arguments Beschreibung
GetExchange   Ruft alle verfügbaren Börsen auf Cryptohopper ab.
GetAllTickers aExchange: Exchange-Name Ruft den Ticker für alle Paare ab
GetMarketTicker aExchange: Exchange-Name aPair: Paarname Ticker für ein Marktpaar abrufen.
GetOrderBook aExchange: Exchange-Name aPair: Paarname

aDepth: Orderbuchtiefe

Ruft das Orderbook für die ausgewählte Börse, den Markt und die Orderbook-Tiefe ab.

 

 

Webhooks

 

Handelshistorie aus Ihrem Hopper.

 

Methode Arguments Beschreibung
CreateWebhook aURL: Webhook-URL aMessageTypes: durch Kommas getrennte Nachrichtentypen. Aktualisiert oder erstellt einen Webhook
DeleteWebhook aURL: Webhook-URL Löscht einen vorhandenen Webhook.

 

 

Signals

 

Signale an die CryptoHopper-API senden.

 

Methode Arguments Beschreibung
SendSignal aSignal: ist die Klasse mit allen Feldern, die zum Senden eines Signals erforderlich sind. Sendet ein Signal
SendTestSignal aSignal: ist die Klasse mit allen Feldern, die zum Senden eines Signals erforderlich sind. Sendet ein Testsignal
GetSignalStats aSignalId: id des Signals. aExchange: optional, Name des Exchange. Ruft einige der Signalstatistiken ab.

 

So aktualisieren Sie die Cryptohopper-Konfiguration

Verwenden Sie die Methode UpdateHopper, um die Hopper-Konfiguration zu aktualisieren. Die Methode ist überladen, sodass Sie die JSON-Zeichenfolge übergeben oder das Objekt TsgcHTTPCTHopper verwenden und die Eigenschaften nutzen können, um die Hopper-Eigenschaften zu aktivieren oder zu deaktivieren.

 


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;

So konfigurieren Sie einen Webhook

Webhook ermöglicht es Ihnen, Benachrichtigungen zu erhalten, wenn in einem Hopper etwas geschieht. Webhooks erfordern einen öffentlichen HTTPs-Server, der unter einer URL-Adresse alle von cryptohopper gesendeten Nachrichten empfängt. Der öffentliche Server muss mit einem SSL-Zertifikat geschützt sein (selbstsignierte Zertifikate sind nicht zulässig).

 

Zuerst müssen Sie einen Webhook erstellen, konfigurieren Sie also die Webhook-Eigenschaft des Cryptohopper-Clients, indem Sie Host und Port festlegen, auf denen der Server lauschen wird. Konfigurieren Sie dann das Zertifikat in der Eigenschaft SSLOptions.

 

Beispiel: Die öffentliche IP-Adresse ist 1.1.1.1 und der Listening-Port ist 443. Das Zertifikat wird als PEM-Datei mit dem Dateinamen sgc.pem und ohne Passwort gespeichert.

 


/* 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;