CryptoHopper

CryptoHopper

 

CryptoHopper es un bot de trading de criptomonedas automatizado que permite automatizar el trading y la gestión de carteras de Bitcoin, Ethereum, Litecoin y más.

 

 

Configuración

Requiere una Cuenta de Desarrollador y, una vez aprobada, puede comenzar a crear una nueva aplicación. La API utiliza OAuth2 para autenticarse, por lo que puede obtener el client_id y el client_secret desde su aplicación.

 


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étodos

CryptoHopper utiliza HTTPs como protocolo para enviar solicitudes a la API. Algunos métodos requieren autenticación (colocar órdenes, recuperar datos de usuario...) y otros son públicos (obtener datos de intercambio, por ejemplo).

 

Las funciones devuelven la respuesta de CryptoHopper y, si se produce algún error, se generará una excepción.

 

Hoppers

 

Gestionar las operaciones básicas del Hopper.

 

Método Argumentos Descripción
GetHoppers   Obtener los Hoppers de los usuarios.
CreateHopper aBody: texto JSON de configuración. Crea un nuevo Hopper.
GetHopper aId: id del hopper Recuperar Hopper
DeleteHopper aId: id del hopper Eliminar Hopper
UpdateHopper aId: id del hopper aBody: texto JSON de configuración. Actualizar Hopper

 

 

Órdenes

 

Gestione los Pedidos de su Hopper.

 

Método Argumentos Descripción
GetOpenOrders aId: id del hopper Recupera todas las órdenes abiertas del hopper.
CreateNewOrder aId: id del hopper aOrder: instancia de TsgcHTTPCTHOrder Crea una nueva orden de compra o venta. Para ventas, utilice preferiblemente el endpoint de venta.
PlaceMarketOrder aId: id del hopper aOrderSide: cthosBuy o cthosSell. aCoin: nombre de la moneda, ejemplo: EOS aAmount: tamaño de la orden. Colocar una Orden de Mercado.
PlaceLimitOrder aId: id del hopper aOrderSide: cthosBuy o cthosSell. aCoin: nombre de la moneda, ejemplo: EOS aAmount: tamaño de la orden.

aPrice: precio límite.

Colocar una orden limitada
DeleteOrder aId: id del hopper aOrderId: id del pedido Elimina la orden del hopper seleccionado.
DeleteAllOrders aId: id del hopper Elimina todas las órdenes abiertas del hopper seleccionado.
GetOpenOrder aId: id del hopper aOrderId: id del pedido Obtener orden abierta en la cola por id.
CancelOrder aId: id del hopper aOrderId: id del pedido Cancelar una orden abierta.

 

 

Posición

 

Gestione las posiciones de su Hopper.

 

Método Argumentos Descripción
GetPosition aId: id del hopper Obtiene las posiciones abiertas del hopper.

 

 

Trade

 

Historial de operaciones de su Hopper.

 

Método Argumentos Descripción
GetTradeHistory   Obtiene el historial de operaciones del hopper.
GetTradeHistoryById aId: id del hopper aTradeId: id de la operación Obtiene una operación por id del hopper.

 

 

Exchange

 

Obtener información de los exchanges disponibles en CryptoHopper

 

Método Argumentos Descripción
GetExchange   Obtener todos los exchanges disponibles en Cryptohopper.
GetAllTickers aExchange: nombre del exchange Obtiene el ticker para todos los pares
GetMarketTicker aExchange: nombre del exchange aPair: nombre del par Obtener el ticker del par de trading.
GetOrderBook aExchange: nombre del exchange aPair: nombre del par

aDepth: profundidad del libro de órdenes

Obtiene el libro de órdenes para el exchange, mercado y profundidad de libro de órdenes seleccionados.

 

 

Webhooks

 

Historial de operaciones de su Hopper.

 

Método Argumentos Descripción
CreateWebhook aURL: url del webhook aMessageTypes: tipos de mensaje separados por coma. Actualizar o crear un Webhook
DeleteWebhook aURL: url del webhook Elimina un Webhook existente.

 

 

Señales

 

Enviar señales a la API de CryptoHopper.

 

Método Argumentos Descripción
SendSignal aSignal: es la clase con todos los campos necesarios para enviar una señal. Envía una señal
SendTestSignal aSignal: es la clase con todos los campos necesarios para enviar una señal. Envía una señal de prueba
GetSignalStats aSignalId: identificador de la señal. aExchange: opcional, nombre del exchange. Recupera algunas de las estadísticas de señal.

 

Cómo actualizar la configuración de Cryptohopper

Utilice el método UpdateHopper para actualizar la configuración de Hopper. El método está sobrecargado para que pueda pasar la cadena JSON o utilizar el objeto TsgcHTTPCTHopper y sus propiedades para habilitar o deshabilitar las propiedades de 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;

Cómo configurar Webhook

Webhook le permite recibir notificaciones cuando ocurre algo en un hopper. Los webhooks requieren un servidor HTTPs público que escuche en una URL todas las notificaciones enviadas por cryptohopper. El servidor público debe estar protegido con un certificado SSL (no se permiten certificados autofirmados).

 

Primero debe crear un webhook, así que configure la propiedad Webhook del cliente Cryptohopper estableciendo el Host y el Puerto donde estará escuchando el servidor. Luego configure el certificado en la propiedad SSLOptions.

 

Ejemplo: La dirección IP pública será 1.1.1.1 y el puerto de escucha será 443. El certificado está almacenado como archivo PEM con el nombre sgc.pem y sin contraseñ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;