CryptoHopper は、Bitcoin、Ethereum、Litecoin などの取引とポートフォリオ管理を自動化できる自動暗号通貨取引ボットです。
デベロッパーアカウントが必要で、承認されると新しいアプリの作成を開始できます。API は OAuth2 を使用して認証するため、アプリから client_id と client_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: オプション。エクスチェンジ名。 | シグナル統計の一部を取得します。 |
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 には、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;