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