CryptoHopper

CryptoHopper

 

CryptoHopper は、Bitcoin、Ethereum、Litecoin などの取引とポートフォリオ管理を自動化できる自動暗号通貨取引ボットです。

 

 

設定

デベロッパーアカウントが必要で、承認されると新しいアプリの作成を開始できます。API は OAuth2 を使用して認証するため、アプリから 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";

メソッド

CryptoHopper は HTTPS プロトコルを使用して API にリクエストを送信します。一部のメソッドは認証が必要(注文の発注、ユーザーデータの取得など)で、他のメソッドは公開されています(例:取引所データの取得)。

 

関数は CryptoHopper のレスポンスを返し、エラーがある場合は例外が発生します。

 

Hoppers

 

基本的なホッパー操作を管理します。

 

メソッド Arguments 説明
GetHoppers   ユーザーの Hopper を取得します。
CreateHopper aBody: 設定 JSON テキスト。 新しいホッパーを作成します。
GetHopper aId: hopper id Retrieve Hopper
DeleteHopper aId: hopper id Delete Hopper
UpdateHopper aId: ホッパー ID aBody: 設定 JSON テキスト。 Hopper を更新します。

 

 

注文

 

Hopperの注文を管理します。

 

メソッド Arguments 説明
GetOpenOrders aId: hopper id ホッパーのすべてのオープンオーダーを取得します。
CreateNewOrder aId: ホッパーID aOrder: TsgcHTTPCTHOrder のインスタンス 新しい買いまたは売り注文を作成します。売りの場合は、sell エンドポイントを使用してください。
PlaceMarketOrder aId: ホッパー ID aOrderSide: cthosBuy または cthosSell。 aCoin: コイン名(例: EOS) aAmount: 注文サイズ。 成行注文を発注します。
PlaceLimitOrder aId: ホッパー ID aOrderSide: cthosBuy または cthosSell。 aCoin: コイン名(例: EOS) aAmount: 注文サイズ。

aPrice: 指値価格。

Limit Orderを発注します
DeleteOrder aId: ホッパー ID aOrderId: 注文 ID 選択したhopperの注文を削除します。
DeleteAllOrders aId: hopper id 選択したホッパーのすべてのオープン注文を削除します。
GetOpenOrder aId: ホッパー ID aOrderId: 注文 ID idによってhopper内のオープン注文を取得します。
CancelOrder aId: ホッパー ID aOrderId: 注文 ID オープン注文をキャンセルします。

 

 

ポジション

 

Hopper のポジションを管理します。

 

メソッド Arguments 説明
GetPosition aId: hopper id ホッパーのオープンポジションを取得します。

 

 

取引

 

ホッパーのトレード履歴。

 

メソッド Arguments 説明
GetTradeHistory   ホッパーの取引履歴を取得します。
GetTradeHistoryById aId: ホッパーID aTradeId: 取引ID ホッパーの ID でトレードを取得します。

 

 

エクスチェンジ

 

CryptoHopper で利用可能な取引所の情報を取得する

 

メソッド Arguments 説明
GetExchange   Cryptohopper で利用可能なすべての取引所を取得します。
GetAllTickers aExchange: エクスチェンジ名 すべてのペアのティッカーを取得します。
GetMarketTicker aExchange: エクスチェンジ名 aPair: ペア名 マーケットペアの Ticker を取得します。
GetOrderBook aExchange: エクスチェンジ名 aPair: ペア名

aDepth: 注文板の深さ

選択した取引所、市場、オーダーブック深度のオーダーブックを取得します。

 

 

Webhooks

 

ホッパーのトレード履歴。

 

メソッド Arguments 説明
CreateWebhook aURL: webhook URL aMessageTypes: カンマで区切られたメッセージタイプ。 Webhook を更新または作成します。
DeleteWebhook aURL: webhook の URL 既存のWebhookを削除します。

 

 

Signals

 

CryptoHopper APIにシグナルを送信します。

 

メソッド Arguments 説明
SendSignal aSignal: シグナルを送信するために必要なすべてのフィールドを含むクラスです。 シグナルを送信します
SendTestSignal aSignal: シグナルを送信するために必要なすべてのフィールドを含むクラスです。 テスト信号を送信します
GetSignalStats aSignalId: シグナルの ID。 aExchange: オプション。エクスチェンジ名。 シグナル統計の一部を取得します。

 

How to Update Cryptohopper Config

UpdateHopper メソッドを使用してホッパー設定を更新します。このメソッドはオーバーロードされており、JSON 文字列を渡すか、TsgcHTTPCTHopper オブジェクトを使用してプロパティでホッパープロパティを有効または無効にすることができます。

 


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 を使用すると、ホッパーで何かが起きたときに通知を受け取ることができます。Webhook には、cryptohopper から送信されたすべてのメッセージを URL アドレスでリッスンするパブリック HTTPS サーバーが必要です。パブリックサーバーは SSL 証明書で保護されている必要があります(自己署名証明書は許可されていません)。

 

最初に Webhook を作成する必要があります。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;