CryptoHopper

CryptoHopper

 

CryptoHopper est un bot de trading de crypto-monnaies automatisé qui vous permet d'automatiser le trading et la gestion de portefeuille pour Bitcoin, Ethereum, Litecoin et plus encore.

 

 

Configuration

Nécessite un compte développeur et une fois approuvé, vous pouvez commencer à créer une nouvelle application. L'API utilise OAuth2 pour l'authentification, vous pouvez donc récupérer le client_id et le client_secret depuis votre application.

 


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

Méthodes

CryptoHopper utilise HTTPs comme protocole pour envoyer des requêtes à l'API. Certaines méthodes nécessitent une authentification (passer des ordres, récupérer des données utilisateur...) et d'autres sont publiques (obtenir des données d'échange par exemple).

 

Les fonctions retournent la réponse CryptoHopper et si une erreur se produit, une exception sera levée.

 

Hoppers

 

Gérer les opérations de base de la trémie.

 

Méthode Arguments Description
GetHoppers   Obtenir les Hoppers des utilisateurs.
CreateHopper aBody : texte JSON de configuration. Créer un nouveau Hopper.
GetHopper aId: identifiant du hopper Récupérer Hopper
DeleteHopper aId: identifiant du hopper Supprimer un Hopper
UpdateHopper aId : identifiant du hopper aBody : texte JSON de configuration. Mettre à jour le Hopper

 

 

Ordres

 

Gérez les ordres de votre Hopper.

 

Méthode Arguments Description
GetOpenOrders aId: identifiant du hopper Récupérer tous les ordres ouverts du hopper.
CreateNewOrder aId : identifiant hopper aOrder : instance de TsgcHTTPCTHOrder Créer un nouvel ordre d'achat ou de vente. Pour une vente, utilisez plutôt le point de terminaison de vente.
PlaceMarketOrder aId : identifiant du hopper aOrderSide : cthosBuy ou cthosSell. aCoin : nom de la coin, exemple : EOS aAmount : taille de l'ordre. Passer un ordre au marché.
PlaceLimitOrder aId : identifiant du hopper aOrderSide : cthosBuy ou cthosSell. aCoin : nom de la coin, exemple : EOS aAmount : taille de l'ordre.

aPrice : prix limite.

Placer un ordre limite
DeleteOrder aId : identifiant du hopper aOrderId : identifiant de la commande Supprime l'ordre pour le hopper sélectionné.
DeleteAllOrders aId: identifiant du hopper Supprime tous les ordres ouverts pour le hopper sélectionné.
GetOpenOrder aId : identifiant du hopper aOrderId : identifiant de la commande Obtenir un ordre ouvert dans le panier par identifiant.
CancelOrder aId : identifiant du hopper aOrderId : identifiant de la commande Annuler un ordre ouvert.

 

 

Position

 

Gérer les positions de votre Hopper.

 

Méthode Arguments Description
GetPosition aId: identifiant du hopper Obtenir les positions ouvertes du hopper.

 

 

Transaction

 

Historique des transactions de votre Hopper.

 

Méthode Arguments Description
GetTradeHistory   Obtenir l'historique des transactions du hopper.
GetTradeHistoryById aId : identifiant du hopper aTradeId : identifiant de transaction Obtenir un trade par identifiant du hopper.

 

 

Exchange

 

Obtenir des informations sur les échanges disponibles sur CryptoHopper

 

Méthode Arguments Description
GetExchange   Obtenir tous les échanges disponibles sur Cryptohopper.
GetAllTickers aExchange : nom de l'échange Obtenir le ticker pour toutes les paires
GetMarketTicker aExchange : nom de l'échange aPair : nom de la paire Obtenir le ticker d'une paire de marché.
GetOrderBook aExchange : nom de l'échange aPair : nom de la paire

aDepth: profondeur du carnet d'ordres

Obtient le carnet d'ordres pour l'échange, le marché et la profondeur du carnet d'ordres sélectionnés.

 

 

Webhooks

 

Historique des transactions de votre Hopper.

 

Méthode Arguments Description
CreateWebhook aURL : url du webhook aMessageTypes : types de messages séparés par des virgules. Mettre à jour ou créer un webhook
DeleteWebhook aURL : URL du webhook Supprime un Webhook existant.

 

 

Signaux

 

Envoyer des signaux à l'API CryptoHopper.

 

Méthode Arguments Description
SendSignal aSignal : est la classe avec tous les champs nécessaires pour envoyer un signal. Envoie un signal
SendTestSignal aSignal : est la classe avec tous les champs nécessaires pour envoyer un signal. Envoie un signal de test
GetSignalStats aSignalId : identifiant du signal. aExchange : facultatif, nom de la bourse. Récupérer certaines statistiques de signal.

 

Comment mettre à jour la configuration de Cryptohopper

Utilisez la méthode UpdateHopper pour mettre à jour la configuration du Hopper. La méthode est surchargée afin que vous puissiez passer la chaîne JSON ou utiliser l'objet TsgcHTTPCTHopper et utiliser les propriétés pour activer ou désactiver les propriétés du 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;

Comment configurer un Webhook

Le webhook vous permet de recevoir des notifications lorsqu'un événement se produit dans un hopper. Les webhooks nécessitent un serveur HTTPs public qui écoutera à une adresse URL tous les messages envoyés par cryptohopper. Le serveur public doit être protégé par un certificat SSL (les certificats auto-signés ne sont pas autorisés).

 

Vous devez d'abord créer un webhook ; configurez la propriété Webhook du client Cryptohopper en définissant le Host et le Port sur lesquels le serveur écoutera. Configurez ensuite le certificat dans la propriété SSLOptions.

 

Exemple : L'adresse IP publique sera 1.1.1.1 et le port d'écoute sera 443. Le certificat est stocké sous forme de fichier PEM avec le nom de fichier sgc.pem et sans mot de passe.

 


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