Coincheckレバレッジ取引のポジション一覧を取得するサンプルコード(PHP) †PHPを使って Coincheck レバレッジ取引のポジション一覧(情報)を取得するPHPサンプルコードおよび実行結果を以下に記します。 当サイトに記載されている会社名、製品名などは一般に各社または団体の商標または登録商標です。 スポンサーリンク 関連記事 †ポジション一覧APIの仕様 †ポジション一覧APIはPrivate APIのため、
Coincheck
の口座開設が必要となります。 ポジションAPIの仕様(Coincheck APIページから抜粋) ポジション一覧 レバレッジ取引のポジション一覧を表示します。レバレッジ取引の注文は 新規注文 から行えます。 HTTP REQUEST GET /api/exchange/leverage/positions PARAMETERS status "open", "closed" を指定できます。 <省略> RESPONSE ITEMS id ID pair 取引ペア status ポジションの状態 ( "open", "closed" ) created_at ポジションの作成日時 closed_at ポジションの決済完了日時 open_rate ポジションの平均取得価格 closed_rate ポジションの平均決済価格 amount 現在のポジションの数量(BTC) all_amount ポジションの数量(BTC) side ポジションの種類 ( "buy", "sell" ) pl 利益 new_order 新規注文についての情報 close_orders 決済注文についての情報 新規注文APIサンプルソースを使用する前の準備 †本サンプルソースには、$ACCESS_KEY, $SECRET_ACCESS_KEY にAPIキーを設定していません。 // Please set ACCESS_KEY and SECRET_ACCESS_KEY $ACCESS_KEY = ""; $SECRET_ACCESS_KEY = ""; APIキーの作成に関しては以下の記事を参考にしてください。 本サンプルコードを実行するには、APIキーのパーミッションとして「ポジション一覧」にチェックが必要です。 APIキーを作成すると、以下のスクリーンショットのように「アクセスキー」「アクセスシークレットキー」が作成されるので、 レバレッジ取引・ポジション取得PHPサンプルコード †以下にレバレッジ取引・ポジション取得のPHPサンプルコードを記します。 <?php // API doc : https://coincheck.com/ja/documents/exchange/api#order-positions // API url : https://coincheck.com/api/exchange/leverage/positions // Please set ACCESS_KEY and SECRET_ACCESS_KEY $ACCESS_KEY = ""; $SECRET_ACCESS_KEY = ""; // coincheck leverage positions api url $url = "https://coincheck.com/api/exchange/leverage/positions"; // proxy settings $proxy = ""; $proxy_port = ""; // check arguments if (!check_arguments($argc, $argv)) { usage(); exit(1); } if ($argc == 2) { $url = $url . "?status=" . $argv[1]; } // create signature $nonce = time(); $message = $nonce . $url; $signature = hash_hmac("sha256", $message, $SECRET_ACCESS_KEY); // header $headers = array( "ACCESS-KEY: {$ACCESS_KEY}", "ACCESS-SIGNATURE: {$signature}", "ACCESS-NONCE: {$nonce}", ); $curl = curl_init(); if ($curl == FALSE) { fputs(STDERR, "[ERR] curl_init(): " . curl_error($curl) . PHP_EOL); die(1); } // set proxy server settings if (!empty($proxy) && !empty($proxy_port)) { curl_setopt($curl, CURLOPT_HTTPPROXYTUNNEL, 1); curl_setopt($curl, CURLOPT_PROXY, $proxy . ":" . $proxy_port); curl_setopt($curl, CURLOPT_PROXYPORT, $proxy_port); } curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_HTTPHEADER, $headers); $response = curl_exec($curl); if ($response == FALSE) { fputs(STDERR, "[ERR] curl_exec(): " . curl_error($curl) . PHP_EOL); die(1); } curl_close($curl); // json decode $json_decode = json_decode($response, true); if ($json_decode == NULL) { fputs(STDERR, "[ERR] json_decode(): " . json_last_error_msg() . PHP_EOL); die(1); } // output json_decode print_r($json_decode); exit(0); //-------------------------------------------------- // functions //-------------------------------------------------- function check_arguments($argc, $argv) { if (($argc != 1) and ($argc != 2)) { return FALSE; } if ($argc == 1) { return TRUE; } $opts = array("open", "closed"); if (!in_array($argv[1], $opts)) { return FALSE; }; return TRUE; } function usage() { print("Usage: php positions.php [open|closed]" . PHP_EOL . " open : show open positions." . PHP_EOL . " closed : show closed postions." . PHP_EOL . " nothing : show open and closed positions." . PHP_EOL ); } サンプルコードの使い方 †本サンプルコードのusageは以下の通りです。 Usage: php positions.php [open|closed] open : show open positions. closed : show closed postions. nothing : show open and closed positions. オプションは以下の通りです。
サンプルコード実行例 †オープンポジション取得 †オープンポジションの取得実行例です。 $ php positions.php open Array ( [success] => 1 [pagination] => Array ( [limit] => 10 [order] => desc [starting_after] => [ending_before] => ) [data] => Array ( [0] => Array ( [id] => 1111111 [pair] => btc_jpy [status] => open [created_at] => 2017-12-10T23:59:59.000Z [closed_at] => [open_rate] => 1700000.0 [closed_rate] => [amount] => 0.005 [all_amount] => 0.005 [side] => buy [pl] => 1234.1234 [new_order] => Array ( [id] => 222222222 [side] => buy [rate] => [amount] => [pending_amount] => 0 [status] => complete [created_at] => 2017-12-10T23:59:59.000Z ) [close_orders] => Array ( ) ) ) )
クローズポジション取得 †クローズポジションの取得実行例です。 $ php positions.php closed Array ( [success] => 1 [pagination] => Array ( [limit] => 10 [order] => desc [starting_after] => [ending_before] => ) [data] => Array ( <省略> [9] => Array ( [id] => 1234567 [pair] => btc_jpy [status] => closed [created_at] => 2017-12-08T01:48:39.000Z [closed_at] => 2017-12-08T02:00:17.000Z [open_rate] => 2060000.0 [closed_rate] => 1900000.0 [amount] => 0.0 [all_amount] => 0.009 [side] => buy [pl] => -3000.123 [new_order] => Array ( [id] => 123456789 [side] => buy [rate] => [amount] => 0.009 [pending_amount] => 0 [status] => complete [created_at] => 2017-12-08T01:48:38.000Z ) [close_orders] => Array ( [0] => Array ( [id] => 123123123 [side] => sell [rate] => [amount] => 0.009 [pending_amount] => 0 [status] => complete [created_at] => 2017-12-08T02:00:17.000Z ) ) ) ) ) オプションなしの実行例 †数が多いのでgrepにてstatusのみ抽出しました。 $ php positions.php | grep -e open -e closed | grep status [status] => open [status] => closed <省略> 以上、Coincheckのpositions APIをつかってレバレッジ取引・ポジション情報を取得するサンプルコードの紹介でした。 スポンサーリンク |