CryptoHopper

CryptoHopper

 

CryptoHopper는 Bitcoin, Ethereum, Litecoin 등에 대한 거래 및 포트폴리오 관리를 자동화할 수 있는 자동화된 암호화폐 거래 봇입니다.

 

 

구성

개발자 계정이 필요하며, 승인을 받으면 새 App을 만들기 시작할 수 있습니다. API는 OAuth2를 사용하여 인증하므로 App에서 client_idclient_secret을 검색할 수 있습니다.

 


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

Methods

CryptoHopper는 API에 요청을 보내는 프로토콜로 HTTPs를 사용합니다. 일부 메서드는 인증이 필요하며(주문 발주, 사용자 데이터 조회 등) 일부는 공개입니다(예: 거래소 데이터 가져오기).

 

함수는 CryptoHopper 응답을 반환하며 오류가 있으면 예외가 발생합니다.

 

Hoppers

 

기본 Hopper 작업을 관리합니다.

 

메서드 Arguments 설명
GetHoppers   사용자의 Hopper를 가져옵니다.
CreateHopper aBody: 구성 json 텍스트입니다. 새 Hopper를 생성합니다.
GetHopper aId: hopper id Retrieve Hopper
DeleteHopper aId: hopper id Delete Hopper
UpdateHopper aId: hopper id aBody: 구성 json 텍스트. Update Hopper

 

 

Orders

 

Hopper의 주문을 관리합니다.

 

메서드 Arguments 설명
GetOpenOrders aId: hopper id hopper의 모든 미체결 주문을 검색합니다.
CreateNewOrder aId: hopper id aOrder: TsgcHTTPCTHOrder의 인스턴스 새 매수 또는 매도 주문을 생성합니다. 매도의 경우 sell 엔드포인트를 사용하십시오.
PlaceMarketOrder aId: hopper id aOrderSide: cthosBuy 또는 cthosSell. aCoin: 코인 이름, 예: EOS aAmount: 주문 크기. 시장가 주문을 넣습니다.
PlaceLimitOrder aId: hopper id aOrderSide: cthosBuy 또는 cthosSell. aCoin: 코인 이름, 예: EOS aAmount: 주문 크기.

aPrice: limit 가격.

지정가 주문을 넣습니다
DeleteOrder aId: hopper id aOrderId: order id 선택한 hopper의 주문을 삭제합니다.
DeleteAllOrders aId: hopper id 선택한 hopper의 모든 미체결 주문을 삭제합니다.
GetOpenOrder aId: hopper id aOrderId: order id id로 hopper의 미결제 주문을 가져옵니다.
CancelOrder aId: hopper id aOrderId: order id 미결제 주문을 취소합니다.

 

 

Position

 

Hopper의 Positions를 관리합니다.

 

메서드 Arguments 설명
GetPosition aId: hopper id hopper의 미체결 포지션을 가져옵니다.

 

 

Trade

 

Hopper의 거래 내역.

 

메서드 Arguments 설명
GetTradeHistory   hopper의 거래 내역을 가져옵니다.
GetTradeHistoryById aId: hopper id aTradeId: trade id hopper의 id로 거래를 가져옵니다.

 

 

Exchange

 

CryptoHopper에서 사용 가능한 익스체인지 정보 가져오기

 

메서드 Arguments 설명
GetExchange   Cryptohopper에서 사용 가능한 모든 익스체인지를 가져옵니다.
GetAllTickers aExchange: 익스체인지 이름 모든 페어의 ticker를 가져옵니다
GetMarketTicker aExchange: exchange 이름 aPair: pair 이름 market 쌍에서 ticker를 가져옵니다.
GetOrderBook aExchange: exchange 이름 aPair: pair 이름

aDepth: 주문서 깊이

선택된 거래소, 마켓 및 오더북 depth에 대한 오더북을 가져옵니다.

 

 

Webhooks

 

Hopper의 거래 내역.

 

메서드 Arguments 설명
CreateWebhook aURL: webhook url aMessageTypes: 쉼표로 구분된 메시지 유형. Webhook을 업데이트하거나 생성합니다
DeleteWebhook aURL: webhook url 기존 Webhook을 삭제합니다.

 

 

Signals

 

CryptoHopper API에 Signal을 보냅니다.

 

메서드 Arguments 설명
SendSignal aSignal: 신호를 전송하는 데 필요한 모든 필드가 있는 클래스입니다. Signal을 보냅니다
SendTestSignal aSignal: 신호를 전송하는 데 필요한 모든 필드가 있는 클래스입니다. 테스트 신호를 보냅니다
GetSignalStats aSignalId: signal의 id입니다. aExchange: 선택 사항, exchange의 이름입니다. 일부 신호 통계를 검색합니다.

 

Cryptohopper Config를 업데이트하는 방법

Hopper 구성을 업데이트하려면 UpdateHopper 메서드를 사용하십시오. 이 메서드는 오버로드되어 있으므로 JSON 문자열을 전달하거나 TsgcHTTPCTHopper 객체를 사용하고 속성을 사용하여 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;

Webhook 구성 방법

Webhook을 사용하면 hopper에서 어떤 일이 발생할 때 알림을 받을 수 있습니다. Webhook에는 cryptohopper가 보내는 모든 메시지를 URL 주소에서 수신할 공개 HTTPs 서버가 필요합니다. 공개 서버는 SSL 인증서로 보호되어야 합니다(자체 서명된 인증서는 허용되지 않습니다).

 

먼저 webhook을 생성해야 하므로, 서버가 수신 대기할 Host와 Port를 설정하여 Cryptohopper 클라이언트의 Webhook 속성을 구성하십시오. 그런 다음 SSLOptions 속성에서 인증서를 구성하십시오.

 

예제: 공인 IP 주소는 1.1.1.1이고 수신 포트는 443입니다. 인증서는 비밀번호 없이 sgc.pem 파일 이름의 PEM 파일로 저장됩니다.

 


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