API/zaif/新規注文・現物売買・trade(PHP)
の編集
Top
/
API
/
zaif
/
新規注文・現物売買・trade(PHP)
[
トップ
] [
編集
|
差分
|
バックアップ
|
添付
|
リロード
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
-- 雛形とするページ --
API
API/Bitfinex
API/Bitfinex/Tickerの取得(API v1)(PowerShell)
API/Bitfinex/ファンディング情報を取得する(API v1)(PowerShell)
API/Bitfinex/取引情報を取得する(API v1)(PowerShell)
API/Bitfinex/指定した通貨ペアの取引量を取得する(API v1)(PowerShell)
API/Bitfinex/板情報(注文一覧)を取得する(API v1)(PowerShell)
API/Bitfinex/通貨ペアのシンボル一覧の取得(API v1)(PowerShell)
API/bitFlyer
API/bitFlyer/Tickerの取得(PowerShell)
API/bitFlyer/マーケットの一覧の取得(PowerShell)
API/bitFlyer/板情報の取得(PowerShell)
API/coincheck
API/coincheck/APIキー生成手順
API/coincheck/ティッカー(PHP)
API/coincheck/ティッカー(PowerShell)
API/coincheck/ポジション一覧(PHP)
API/coincheck/レバレッジアカウントの残高取得
API/coincheck/レバレッジ取引注文(PHP)
API/coincheck/レート取得(PHP)
API/coincheck/全取引履歴(PHP)
API/coincheck/新規注文・現物売買(PHP)
API/coincheck/最近の取引履歴の取得(PHP)
API/coincheck/板情報(PHP)
API/coincheck/板情報の取得(PowerShell)
API/coincheck/残高確認(PHP)
API/coincheck/販売レート取得(PHP)
API/CoinExchange.io
API/CoinExchange.io/MarketID一覧を取得する・getmarkets(PowerShell)
API/CoinExchange.io/マーケットサマリ情報取得・getmarketsummaries(PowerShell)
API/CoinExchange.io/マーケット一覧情報取得・getmarkets(PowerShell)
API/CoinExchange.io/仮想通貨一覧を取得・getcurrencies(PowerShell)
API/CoinExchange.io/指定した通貨の通貨情報を取得する・getcurrency(PowerShell)
API/CoinExchange.io/指定した通貨ペアのマーケットサマリ情報を取得・getmarketsummary(PowerShell)
API/CoinExchange.io/指定した通貨ペアの売買注文一覧の取得・getorderbook(PowerShell)
API/GMOコイン
API/GMOコイン/銘柄の最新レートを取得(Bash)
API/GMOコイン/銘柄の最新レートを取得(PowerShell)
API/NEM(XEM)
API/NEM(XEM)/スーパーノード一覧を取得するサンプルコード(PHP)
API/NEM(XEM)/ハーベストの有効・無効状態を取得するサンプルコード(PHP)
API/zaif
API/zaif/APIキー生成手順
API/zaif/currencies(PHP)
API/zaif/currency_pairs(PHP)
API/zaif/currency_pairs・通貨ペア情報を取得する方法(PowerShell)
API/zaif/depth(PHP)
API/zaif/last_price(PHP)
API/zaif/ticker(PHP)
API/zaif/trades(PHP)
API/zaif/取引通貨一覧の取得(PHP)
API/zaif/新規注文・現物売買・trade(PHP)
API/zaif/残高確認・get_info, get_info2(PHP)
API/環境構築
AutoTicketLinkName
BracketName
FrontPage
ICO/COMSA
InterWiki
MenuBar
RecentDeleted
お約束
ウォレット
ウォレット/BRD,CoinbaseウォレットをElectrumウォレットに移行する手順
ウォレット/Bread walletをElectrumに移行する
ウォレット/Debian用に公開されたYenten-QTを動かしてみた
ウォレット/KotoウォレットをDebian, Ubuntu系にインストール
ウォレット/Nano Wallet
ウォレット/SHIELD-QT v3ウォレットで残高がおかしい場合の対処方法
プライバシーポリシー
マイニング
マイニング/CentOSでBitZenyをマイニング
マイニング/CentOSでYentenをマイニングする
マイニング/cpuminerとUbuntuでモナーコインを採掘してみる
マイニング/GUIでマイニング・MinerGate
マイニング/UbuntuでBitZenyをマイニング
マイニング/UbuntuとGPU(NVIDIA)でMonaコインをマイニングしてみる
マイニング/Windows64bitマシンでモナーコインを採掘してみる
マイニング/WindowsでZcashをマイニング
仮想通貨サイト
仮想通貨取引所
仮想通貨取引所/2段階認証のバックアップ
仮想通貨取引所/Poloniex登録方法
最初にお読みください
用語集
#navi(../) * Zaifのtrade APIを使って新規注文・現物売買のPHPサンプルコードおよび実行結果 [#ff25964c] trade APIを使用することにより、&htmlinsert(zaif.html);で新規注文をすることができます。~ 以下にPHPを使用したサンプルコードおよび実行例を記します。 ---- &color(red){当サイトに記載されている会社名、製品名などは一般に各社または団体の商標または登録商標です。&br;当サイトの資料により直接的および間接的障害が生じても一切責任を負いません。&br;あらかじめご了承ください。}; ---- #contents #htmlinsert(zaif_wide_1.html) * 関連記事 [#ac6dbd3c] -[[API動作環境構築>API/環境構築]] -[[currencies・通貨情報の取得(PHP)>API/zaif/currencies(PHP)]] -[[currency_pairs・通貨ペア情報を取得(PHP)>API/zaif/currency_pairs(PHP)]] -[[last_price・現在の終値を取得(PHP)>API/zaif/last_price(PHP)]] -[[ticker・ティッカーを取得(PHP)>API/zaif/ticker(PHP)]] -[[depth・板情報を取得(PHP)>API/zaif/depth(PHP)]] -[[trades・全ての取引履歴を取得(PHP)>API/zaif/trades(PHP)]] -[[取引通貨一覧の取得(PHP)>API/zaif/取引通貨一覧の取得(PHP)]] -[[ZaifのAPIキー生成手順>API/zaif/APIキー生成手順]] -[[アカウントの残高確認(PHP)>API/zaif/残高確認・get_info, get_info2(PHP)]] -[[新規注文・現物売買(PHP)>API/zaif/新規注文・現物売買・trade(PHP)]] * trade APIを使用 [#ha484b18] 本APIを使用するには、&htmlinsert(zaif.html);の口座開設が必要となります。 - ''trade'' API仕様~ ZaifAPI ドキュメントページから抜粋~ http://techbureau-api-document.readthedocs.io/ja/latest/trade/2_individual/7_trade.html trade 取引注文を行います。 パラメータ パラメータ 必須 詳細 型 currency_pair Yes (例) btc_jpy str(例 btc_jpy) action Yes 注文の種類 bid もしくは ask price Yes 指値注文価格 numerical amount Yes 数量(例: 0.3) numerical limit No リミット注文価格 numerical comment No コメントの追加 str <省略> 戻り値 <省略> received 今回の注文で約定した取引量 float remains 今回の注文で約定せず、板に残った取引量 float order_id 今回の注文がすべて成立した場合は0、一部、もしくはすべて約定しなかった場合は板に残った注文のID。 int funds 残高 dict この記事では、パラメータのlimit, commentは使用しません。 * 現物取引注文(新規注文)のサンプルコード [#j60ac8cf] #ref(zaif_order.php.zip) <?php // API doc : http://techbureau-api-document.readthedocs.io/ja/latest/trade/2_individual/7_trade.html // zaif trade api url $zaif_api_url = "https://api.zaif.jp/tapi"; // api method name $method = "trade"; // Please set API_KEY and API_SECRET_KEY $API_KEY = ""; $API_SECRET_KEY = ""; // proxy settings $proxy = ""; $proxy_port = ""; // currency pairs $currency_pairs = array( "bch_btc" ,"bch_jpy" ,"bitcrystals_btc" ,"bitcrystals_jpy" ,"btc_jpy" ,"cicc_btc" ,"cicc_jpy" ,"eth_btc" ,"eth_jpy" ,"fscc_btc" ,"fscc_jpy" ,"jpyz_jpy" ,"mona_btc" ,"mona_jpy" ,"ncxc_btc" ,"ncxc_jpy" ,"pepecash_btc" ,"pepecash_jpy" ,"sjcx_btc" ,"sjcx_jpy" ,"xcp_btc" ,"xcp_jpy" ,"xem_btc" ,"xem_jpy" ,"zaif_btc" ,"zaif_jpy" ,"erc20.cms_jpy", "mosaic.cms_jpy" ); // check arguments if (!check_arguments($argc, $argv, $currency_pairs)) { usage(); die(1); } if($argv[1] == "list") { // show currency_pairs foreach($currency_pairs as $cur) { printf("%s" . PHP_EOL, $cur); } exit(0); } // check amount and price if (!is_numeric($argv[3])) { fputs(STDERR, "amount: " . $argv[3] . " is not numeric." . PHP_EOL); exit(1); } if (!is_numeric($argv[4])) { fputs(STDERR, "price: " . $argv[4] . " is not numeric." . PHP_EOL); exit(1); } // show order request printf("action : %s" . PHP_EOL, $argv[1]); printf("currency pair : %s" . PHP_EOL, $argv[2]); printf("amount * price : %f * %f = %f" . PHP_EOL, $argv[3], $argv[4], $argv[3] * $argv[4]); print("----------------------------------------" . PHP_EOL); // yes or no if (!yes_no()) { exit(0); } $nonce = time(); $body = http_build_query( array( "nonce"=>$nonce, "method"=>$method, "action"=>$argv[1], "currency_pair"=>$argv[2], "amount"=>$argv[3], "price"=>$argv[4] ) ); $signature = hash_hmac("sha512", $body, $API_SECRET_KEY); $headers = array( "Sign: {$signature}", "Key: {$API_KEY}" ); $curl = curl_init(); if ($curl == FALSE) { fputs(STDERR, "[ERR] curl_init(): " . curl_error($curl) . PHP_EOL); die(1); } // curl set options curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE); // 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, $zaif_api_url); curl_setopt($curl, CURLOPT_POST, TRUE); curl_setopt($curl, CURLOPT_POSTFIELDS, $body); 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); } // 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); } curl_close($curl); print_r($json_decode); exit(0); //------------------------------ // function //------------------------------ function check_arguments($argc, $argv, $currency_pair) { if (($argc != 2) and ($argc != 5)) { return FALSE; } $opts = $currency_pair; array_push($opts, "list", "bid", "ask"); if (!in_array($argv[1], $opts)) { return FALSE; } return TRUE; } function usage() { fputs(STDERR, "Usage: php order.php ACTION CURRENCY_PAIR AMOUNT PRICE" . PHP_EOL . "ACTION:" . PHP_EOL . " - list : show all currency pair code" . PHP_EOL . " currency pair code : show specified currency pair trades" . PHP_EOL . " - bid : buy action" . PHP_EOL . " - ask : sell action" . PHP_EOL . "CURRENCY_PAIR : Trade currency pair code" . PHP_EOL . " show currency pair : php order.php list" . PHP_EOL . "AMOUNT : order quantity" . PHP_EOL . "PRICE : order price" . PHP_EOL . PHP_EOL . "e.g. : php order.php list" . PHP_EOL . " show all currency pair code" . PHP_EOL . "e.g. : php order.php bid eth_jpy 0.1 50000" . PHP_EOL . " buy order, 0.1 amount and price 5000JPY" . PHP_EOL . PHP_EOL); } function yes_no() { while (TRUE) { print("OK? [yes/no] :"); $ok = trim(fgets(STDIN)); if(!strcasecmp($ok, "yes")) { $ok = TRUE; break; } elseif(!strcasecmp($ok, "no")) { print("Order canceled." . PHP_EOL); $ok = FALSE; break; } else { print("Please check the input." . PHP_EOL); } } return $ok; } #htmlinsert(zaif_wide_2.html) ** APIキー, APIシークレットキー [#v4b6b8cc] 上記サンプルコード内にある、以下の部分ですが、APIキーの設定が必要となります。 $API_KEY = "APIキーを設定してください"; $API_SECRET_KEY = "APIシークレットキーを設定してください。"; 以下の記事を参考にAPIキーを取得してください。 -[[Zaif APIキー生成手順>API/zaif/APIキー生成手順]] APIキーを生成すると以下のスクリーンショットのように2つのAPIキーが表示されます。~ 今回は、tradeするので、tradeにチェックを入れておく必要があります。 #ref(01.png) * 本サンプルコードの使い方 [#yab2c30a] オプションを渡さず本サンプルコードを実行すると使用方法が表示されます。 $ php zaif_order.php Usage: php zaif_order.php ACTION CURRENCY_PAIR AMOUNT PRICE ACTION: - list : show all currency pair code currency pair code : show specified currency pair trades - bid : buy action - ask : sell action CURRENCY_PAIR : Trade currency pair code show currency pair : php zaif_order.php list AMOUNT : order quantity PRICE : order price e.g. : php zaif_order.php list show all currency pair code e.g. : php zaif_order.php bid eth_jpy 0.1 50000 buy order, 0.1 amount and price 5000JPY - オプションに''list''のみ渡すと取引可能通貨ペア一覧が表示されます。~ ハードコードしてあるので、通貨ペアが増減した場合は修正が必要です。~ 最新の通貨ペアを取得したい場合は、「[[取引通貨一覧の取得(PHP)>API/zaif/取引通貨一覧の取得(PHP)]]」記事を参照ください。 $ php zaif_order.php list bch_btc bch_jpy bitcrystals_btc bitcrystals_jpy <snip> zaif_jpy erc20.cms_jpy mosaic.cms_jpy #br - 注文 以下の順番でオプション(パラメータ)を渡します。 + ACTION~ bid または ask を設定します。~ bidは買い注文、askは売り注文になります。 #br + CURRENCY_PAIR~ 取引注文する通貨ペアを指定します。 通貨ペア一覧は上記の通り、listを渡し実行すると通貨ペア一覧が表示されます。 #br + AMOUNT~ 数量を指定します。 #br +PRICE~ 金額を指定します。 #br - 注文発行の確認を表示~ yes/noが表示されるので、注文を実行する場合はyesを入力しEnterキーを押してください。~ 中止する場合は、noを入力しEnterキーを押してください。 * 実行結果 [#mca1237d] 以下に本サンプルコードを実行し、ETH/JPYの売り注文、買い注文をした時の出力です。~ ** bid 買い注文 [#id21fef7] $ php order.php bid eth_jpy 0.004 50000 action : bid currency pair : eth_jpy amount * price : 0.004000 * 50000.000000 = 200.000000 ---------------------------------------- OK? [yes/no] :yes Array ( [success] => 1 [return] => Array ( [received] => 0 [remains] => 0.004 [order_id] => 1111111 [funds] => Array ( [jpy] => 0.00018044 <省略> ) ) ) ZaifのWebページを確認すると買い注文がされているのが確認できます。~ #ref(03.png) ** ask 売り注文 [#xabb142a] $ php order.php ask eth_jpy 0.004 55000 action : ask currency pair : eth_jpy amount * price : 0.004000 * 55000.000000 = 220.000000 ---------------------------------------- OK? [yes/no] :yes Array ( [success] => 1 [return] => Array ( [received] => 0 [remains] => 0.004 [order_id] => 2222222 [funds] => Array ( [jpy] => 200.00018044 <省略> ) ) ) ZaifのWebページを確認すると売り注文がされているのが確認できます。~ #ref(02.png) * 注意点 [#b858e07a] 本サンプルコードを公開した時点では、以下のエラーが多発しました。~ ちょうど乱高下していた時なので注文が通りにくかったのでしょうね。~ この場合は、再度実行してみてください。 Array ( [success] => 0 [error] => trade temporarily unavailable. ) 以上、trade APIを使用し現物・新規注文をするサンプルコードおよび実行例でした。 #htmlinsert(zaif_wide_3.html)
タイムスタンプを変更しない
#navi(../) * Zaifのtrade APIを使って新規注文・現物売買のPHPサンプルコードおよび実行結果 [#ff25964c] trade APIを使用することにより、&htmlinsert(zaif.html);で新規注文をすることができます。~ 以下にPHPを使用したサンプルコードおよび実行例を記します。 ---- &color(red){当サイトに記載されている会社名、製品名などは一般に各社または団体の商標または登録商標です。&br;当サイトの資料により直接的および間接的障害が生じても一切責任を負いません。&br;あらかじめご了承ください。}; ---- #contents #htmlinsert(zaif_wide_1.html) * 関連記事 [#ac6dbd3c] -[[API動作環境構築>API/環境構築]] -[[currencies・通貨情報の取得(PHP)>API/zaif/currencies(PHP)]] -[[currency_pairs・通貨ペア情報を取得(PHP)>API/zaif/currency_pairs(PHP)]] -[[last_price・現在の終値を取得(PHP)>API/zaif/last_price(PHP)]] -[[ticker・ティッカーを取得(PHP)>API/zaif/ticker(PHP)]] -[[depth・板情報を取得(PHP)>API/zaif/depth(PHP)]] -[[trades・全ての取引履歴を取得(PHP)>API/zaif/trades(PHP)]] -[[取引通貨一覧の取得(PHP)>API/zaif/取引通貨一覧の取得(PHP)]] -[[ZaifのAPIキー生成手順>API/zaif/APIキー生成手順]] -[[アカウントの残高確認(PHP)>API/zaif/残高確認・get_info, get_info2(PHP)]] -[[新規注文・現物売買(PHP)>API/zaif/新規注文・現物売買・trade(PHP)]] * trade APIを使用 [#ha484b18] 本APIを使用するには、&htmlinsert(zaif.html);の口座開設が必要となります。 - ''trade'' API仕様~ ZaifAPI ドキュメントページから抜粋~ http://techbureau-api-document.readthedocs.io/ja/latest/trade/2_individual/7_trade.html trade 取引注文を行います。 パラメータ パラメータ 必須 詳細 型 currency_pair Yes (例) btc_jpy str(例 btc_jpy) action Yes 注文の種類 bid もしくは ask price Yes 指値注文価格 numerical amount Yes 数量(例: 0.3) numerical limit No リミット注文価格 numerical comment No コメントの追加 str <省略> 戻り値 <省略> received 今回の注文で約定した取引量 float remains 今回の注文で約定せず、板に残った取引量 float order_id 今回の注文がすべて成立した場合は0、一部、もしくはすべて約定しなかった場合は板に残った注文のID。 int funds 残高 dict この記事では、パラメータのlimit, commentは使用しません。 * 現物取引注文(新規注文)のサンプルコード [#j60ac8cf] #ref(zaif_order.php.zip) <?php // API doc : http://techbureau-api-document.readthedocs.io/ja/latest/trade/2_individual/7_trade.html // zaif trade api url $zaif_api_url = "https://api.zaif.jp/tapi"; // api method name $method = "trade"; // Please set API_KEY and API_SECRET_KEY $API_KEY = ""; $API_SECRET_KEY = ""; // proxy settings $proxy = ""; $proxy_port = ""; // currency pairs $currency_pairs = array( "bch_btc" ,"bch_jpy" ,"bitcrystals_btc" ,"bitcrystals_jpy" ,"btc_jpy" ,"cicc_btc" ,"cicc_jpy" ,"eth_btc" ,"eth_jpy" ,"fscc_btc" ,"fscc_jpy" ,"jpyz_jpy" ,"mona_btc" ,"mona_jpy" ,"ncxc_btc" ,"ncxc_jpy" ,"pepecash_btc" ,"pepecash_jpy" ,"sjcx_btc" ,"sjcx_jpy" ,"xcp_btc" ,"xcp_jpy" ,"xem_btc" ,"xem_jpy" ,"zaif_btc" ,"zaif_jpy" ,"erc20.cms_jpy", "mosaic.cms_jpy" ); // check arguments if (!check_arguments($argc, $argv, $currency_pairs)) { usage(); die(1); } if($argv[1] == "list") { // show currency_pairs foreach($currency_pairs as $cur) { printf("%s" . PHP_EOL, $cur); } exit(0); } // check amount and price if (!is_numeric($argv[3])) { fputs(STDERR, "amount: " . $argv[3] . " is not numeric." . PHP_EOL); exit(1); } if (!is_numeric($argv[4])) { fputs(STDERR, "price: " . $argv[4] . " is not numeric." . PHP_EOL); exit(1); } // show order request printf("action : %s" . PHP_EOL, $argv[1]); printf("currency pair : %s" . PHP_EOL, $argv[2]); printf("amount * price : %f * %f = %f" . PHP_EOL, $argv[3], $argv[4], $argv[3] * $argv[4]); print("----------------------------------------" . PHP_EOL); // yes or no if (!yes_no()) { exit(0); } $nonce = time(); $body = http_build_query( array( "nonce"=>$nonce, "method"=>$method, "action"=>$argv[1], "currency_pair"=>$argv[2], "amount"=>$argv[3], "price"=>$argv[4] ) ); $signature = hash_hmac("sha512", $body, $API_SECRET_KEY); $headers = array( "Sign: {$signature}", "Key: {$API_KEY}" ); $curl = curl_init(); if ($curl == FALSE) { fputs(STDERR, "[ERR] curl_init(): " . curl_error($curl) . PHP_EOL); die(1); } // curl set options curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE); // 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, $zaif_api_url); curl_setopt($curl, CURLOPT_POST, TRUE); curl_setopt($curl, CURLOPT_POSTFIELDS, $body); 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); } // 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); } curl_close($curl); print_r($json_decode); exit(0); //------------------------------ // function //------------------------------ function check_arguments($argc, $argv, $currency_pair) { if (($argc != 2) and ($argc != 5)) { return FALSE; } $opts = $currency_pair; array_push($opts, "list", "bid", "ask"); if (!in_array($argv[1], $opts)) { return FALSE; } return TRUE; } function usage() { fputs(STDERR, "Usage: php order.php ACTION CURRENCY_PAIR AMOUNT PRICE" . PHP_EOL . "ACTION:" . PHP_EOL . " - list : show all currency pair code" . PHP_EOL . " currency pair code : show specified currency pair trades" . PHP_EOL . " - bid : buy action" . PHP_EOL . " - ask : sell action" . PHP_EOL . "CURRENCY_PAIR : Trade currency pair code" . PHP_EOL . " show currency pair : php order.php list" . PHP_EOL . "AMOUNT : order quantity" . PHP_EOL . "PRICE : order price" . PHP_EOL . PHP_EOL . "e.g. : php order.php list" . PHP_EOL . " show all currency pair code" . PHP_EOL . "e.g. : php order.php bid eth_jpy 0.1 50000" . PHP_EOL . " buy order, 0.1 amount and price 5000JPY" . PHP_EOL . PHP_EOL); } function yes_no() { while (TRUE) { print("OK? [yes/no] :"); $ok = trim(fgets(STDIN)); if(!strcasecmp($ok, "yes")) { $ok = TRUE; break; } elseif(!strcasecmp($ok, "no")) { print("Order canceled." . PHP_EOL); $ok = FALSE; break; } else { print("Please check the input." . PHP_EOL); } } return $ok; } #htmlinsert(zaif_wide_2.html) ** APIキー, APIシークレットキー [#v4b6b8cc] 上記サンプルコード内にある、以下の部分ですが、APIキーの設定が必要となります。 $API_KEY = "APIキーを設定してください"; $API_SECRET_KEY = "APIシークレットキーを設定してください。"; 以下の記事を参考にAPIキーを取得してください。 -[[Zaif APIキー生成手順>API/zaif/APIキー生成手順]] APIキーを生成すると以下のスクリーンショットのように2つのAPIキーが表示されます。~ 今回は、tradeするので、tradeにチェックを入れておく必要があります。 #ref(01.png) * 本サンプルコードの使い方 [#yab2c30a] オプションを渡さず本サンプルコードを実行すると使用方法が表示されます。 $ php zaif_order.php Usage: php zaif_order.php ACTION CURRENCY_PAIR AMOUNT PRICE ACTION: - list : show all currency pair code currency pair code : show specified currency pair trades - bid : buy action - ask : sell action CURRENCY_PAIR : Trade currency pair code show currency pair : php zaif_order.php list AMOUNT : order quantity PRICE : order price e.g. : php zaif_order.php list show all currency pair code e.g. : php zaif_order.php bid eth_jpy 0.1 50000 buy order, 0.1 amount and price 5000JPY - オプションに''list''のみ渡すと取引可能通貨ペア一覧が表示されます。~ ハードコードしてあるので、通貨ペアが増減した場合は修正が必要です。~ 最新の通貨ペアを取得したい場合は、「[[取引通貨一覧の取得(PHP)>API/zaif/取引通貨一覧の取得(PHP)]]」記事を参照ください。 $ php zaif_order.php list bch_btc bch_jpy bitcrystals_btc bitcrystals_jpy <snip> zaif_jpy erc20.cms_jpy mosaic.cms_jpy #br - 注文 以下の順番でオプション(パラメータ)を渡します。 + ACTION~ bid または ask を設定します。~ bidは買い注文、askは売り注文になります。 #br + CURRENCY_PAIR~ 取引注文する通貨ペアを指定します。 通貨ペア一覧は上記の通り、listを渡し実行すると通貨ペア一覧が表示されます。 #br + AMOUNT~ 数量を指定します。 #br +PRICE~ 金額を指定します。 #br - 注文発行の確認を表示~ yes/noが表示されるので、注文を実行する場合はyesを入力しEnterキーを押してください。~ 中止する場合は、noを入力しEnterキーを押してください。 * 実行結果 [#mca1237d] 以下に本サンプルコードを実行し、ETH/JPYの売り注文、買い注文をした時の出力です。~ ** bid 買い注文 [#id21fef7] $ php order.php bid eth_jpy 0.004 50000 action : bid currency pair : eth_jpy amount * price : 0.004000 * 50000.000000 = 200.000000 ---------------------------------------- OK? [yes/no] :yes Array ( [success] => 1 [return] => Array ( [received] => 0 [remains] => 0.004 [order_id] => 1111111 [funds] => Array ( [jpy] => 0.00018044 <省略> ) ) ) ZaifのWebページを確認すると買い注文がされているのが確認できます。~ #ref(03.png) ** ask 売り注文 [#xabb142a] $ php order.php ask eth_jpy 0.004 55000 action : ask currency pair : eth_jpy amount * price : 0.004000 * 55000.000000 = 220.000000 ---------------------------------------- OK? [yes/no] :yes Array ( [success] => 1 [return] => Array ( [received] => 0 [remains] => 0.004 [order_id] => 2222222 [funds] => Array ( [jpy] => 200.00018044 <省略> ) ) ) ZaifのWebページを確認すると売り注文がされているのが確認できます。~ #ref(02.png) * 注意点 [#b858e07a] 本サンプルコードを公開した時点では、以下のエラーが多発しました。~ ちょうど乱高下していた時なので注文が通りにくかったのでしょうね。~ この場合は、再度実行してみてください。 Array ( [success] => 0 [error] => trade temporarily unavailable. ) 以上、trade APIを使用し現物・新規注文をするサンプルコードおよび実行例でした。 #htmlinsert(zaif_wide_3.html)
テキスト整形のルールを表示する
添付ファイル:
03.png
282件
[
詳細
]
02.png
271件
[
詳細
]
01.png
270件
[
詳細
]
zaif_order.php.zip
262件
[
詳細
]