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にすると成行注文できます。
成功すると、以下のように出力されます。
コメント