CryptoHopper

CryptoHopper

 

O CryptoHopper é um bot de negociação de cripto automatizado que permite que você automatize a negociação e o gerenciamento de portfólio de Bitcoin, Ethereum, Litecoin e mais.

 

 

Configuração

Requer uma Developer Account e, depois de aprovado, você pode começar a criar um novo App. A API utiliza OAuth2 para autenticar, então você pode obter o client_id e o client_secret do seu App.

 


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 Requests à API. Alguns métodos exigem autenticação (colocar ordens, recuperar dados do usuário...) e outros são públicos (obter dados da exchange, por exemplo).

 

As funções retornam a resposta do CryptoHopper e, se houver algum erro, uma exceção será gerada.

 

Hoppers

 

Gerencia Operações Básicas de Hopper.

 

Method Arguments Descrição
GetHoppers   Obtém os Hoppers dos usuários.
CreateHopper aBody: texto json de configuração. Cria um novo Hopper.
GetHopper aId: id do hopper Retrieve Hopper
DeleteHopper aId: id do hopper Delete Hopper
UpdateHopper aId: id do hopper aBody: texto json de configuração. Atualizar Hopper

 

 

Orders

 

Gerencie as Orders do seu Hopper.

 

Method Arguments Descrição
GetOpenOrders aId: id do hopper Recuperar todas as ordens abertas do hopper.
CreateNewOrder aId: id do hopper aOrder: instância de TsgcHTTPCTHOrder Cria uma nova ordem de compra ou venda. Para venda, utilize preferencialmente o endpoint sell.
PlaceMarketOrder aId: id do hopper aOrderSide: cthosBuy ou cthosSell. aCoin: nome da moeda, exemplo: EOS aAmount: tamanho da ordem. Coloca uma ordem a mercado.
PlaceLimitOrder aId: id do hopper aOrderSide: cthosBuy ou cthosSell. aCoin: nome da moeda, exemplo: EOS aAmount: tamanho da ordem.

aPrice: preço limite.

Coloca uma Limit Order
DeleteOrder aId: hopper id aOrderId: order id Exclui a ordem do hopper selecionado.
DeleteAllOrders aId: id do hopper Exclui todas as ordens abertas do hopper selecionado.
GetOpenOrder aId: hopper id aOrderId: order id Obtém a ordem aberta no hopper por id.
CancelOrder aId: hopper id aOrderId: order id Cancela uma ordem aberta.

 

 

Position

 

Gerencie as Posições do seu Hopper.

 

Method Arguments Descrição
GetPosition aId: id do hopper Obtém as posições abertas do hopper.

 

 

Trade

 

Histórico de Negociações do seu Hopper.

 

Method Arguments Descrição
GetTradeHistory   Obtém o histórico de negociações do hopper.
GetTradeHistoryById aId: id do hopper aTradeId: id da negociação Obter uma negociação pelo id do hopper.

 

 

Exchange

 

Obter informações dos exchanges disponíveis no CryptoHopper

 

Method Arguments Descrição
GetExchange   Obter todos os exchanges disponíveis no Cryptohopper.
GetAllTickers aExchange: nome do exchange Obter o ticker de todos os pares
GetMarketTicker aExchange: nome do exchange aPair: nome do par Obtém o ticker de um par de mercado.
GetOrderBook aExchange: nome do exchange aPair: nome do par

aDepth: profundidade do livro de ordens

Obtém o orderbook para a exchange, o mercado e a profundidade de orderbook selecionados.

 

 

Webhooks

 

Histórico de Negociações do seu Hopper.

 

Method Arguments Descrição
CreateWebhook aURL: url do webhook aMessageTypes: tipos de mensagem separados por vírgula. Atualiza ou cria um Webhook
DeleteWebhook aURL: webhook url Exclui um Webhook existente.

 

 

Signals

 

Send Signals to CryptoHopper API.

 

Method Arguments Descrição
SendSignal aSignal: é a classe com todos os campos necessários para enviar um sinal. Envia um Signal
SendTestSignal aSignal: é a classe com todos os campos necessários para enviar um sinal. Envia um Sinal de Teste
GetSignalStats aSignalId: id do sinal. aExchange: opcional, nome do exchange. Recupera algumas das estatísticas de sinal.

 

Como atualizar a configuração do Cryptohopper

Utilize o método UpdateHopper para atualizar a Configuração do Hopper. O método é sobrecarregado para que você possa passar a string JSON ou utilizar o objeto TsgcHTTPCTHopper e usar as propriedades para habilitar ou desabilitar as Propriedades do 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;

Como Configurar o Webhook

O Webhook permite que você receba notificações quando algo acontece em um hopper. Os Webhooks exigem um Servidor HTTPs público que escutará em um endereço de URL todas as mensagens enviadas pelo cryptohopper. O servidor público precisa estar protegido com um certificado SSL (certificados autoassinados não são permitidos).

 

Primeiro você deve criar um webhook, portanto configure a propriedade Webhook do cliente Cryptohopper definindo o Host e a Port em que o servidor estará escutando. Em seguida, configure o certificado na propriedade SSLOptions.

 

Exemplo: O endereço IP público será 1.1.1.1 e a porta de escuta será 443. O certificado é armazenado como arquivo PEM com o nome sgc.pem e sem senha.

 


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