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