ビットフライヤーライトニングFXでAPIから新規注文を出すNode.jsコード

Node.js
スポンサーリンク
var request = require('request');
var crypto = require('crypto');
const ApiKey = '任意のAPIキー';
const ApiSecret = '任意のAPIシークレット';
const API_VERSION = '/v1/';
const PRODUCT_CODE = 'FX_BTC_JPY';
const GET = 'GET';
const POST = 'POST';
function call(method, path, body, callback){
var timestamp = Date.now().toString();
var text = timestamp + method + API_VERSION + path + body;
var sign = crypto.createHmac('sha256', ApiSecret).update(text).digest('hex');
var url = 'https://api.bitflyer.jp' + API_VERSION + '/' + path;
var options = {
url: url,
method: method,
body: body,
headers: {
'ACCESS-KEY': ApiKey,
'ACCESS-TIMESTAMP': timestamp,
'ACCESS-SIGN': sign,
'Content-Type': 'application/json'
}
};
request(options, callback);
}

function sendChildOrder(side, size, price) {
 var body = JSON.stringify({
    product_code: PRODUCT_CODE,
    child_order_type: 'LIMIT',
    side: side,
    size: size,
    price: price,
    minute_to_expire: 10000,
    time_in_force:'GTC',
  });
  call(POST, 'me/sendchildorder',body, function(err, response,     payload){
    console.log('-------注文結果-------')
    var response = JSON.parse(payload);
    console.log("注文ID :" + response.child_order_acceptance_id)
    console.log("数量 :" + size)
    console.log("指値価格 :" + price)
    console.log("売り買い :" + side)
    console.log('---------------------')
});
}
sendChildOrder(process.argv[2], process.argv[3], process.argv[4]);

注文を出す際は、以下の様に入力。

node コード名 BUY 0.01 300000

コード内のBUYをSELLに変更すると売り注文、

0.01を変更すると注文枚数、

300000を変更すると注文金額を変更、

child_order_typeをLIMITにすると指値注文、

MARKETにすると成行注文できます。

成功すると、以下のように出力されます。


コメント