BitMex APIサンプルコード 第一回
まず使用言語はNode.jsです!Pythonの方が初心者にとっては使いやすい(ライブラリも多い)と思いますが、是非こっちも見て見てください!
第一回はシンプル注文をやろうと思います。評判が良ければ特殊注文なども書いていこうと思います。
コード自体はささっと書いたものなので汚いかもしれません。
まず下準備
コマンドを開いて作業フォルダいきモジュールをインストール。
cd bitmex
npm install request
そこにbitmex.jsを作り以下コードを貼り付け
var request = require('request');
var crypto = require('crypto');
var key = '自分のAPIキー';
var secret = 'シークレットキー';
//かこの時間だとエラーになるので余裕に足すと良い
var timestamp = parseInt(Date.now() / 1000 + 60);
//5555ドルで100枚買う
order_simple('Buy', 100, 5555);
//order_simple('Sell', 100, 9999);
function order_simple (_side, _size, _price) {
var path = '/api/v1/order';
var body = JSON.stringify({
symbol: 'XBTUSD',
side: _side,
orderQty: _size,
price: _price,
ordType: "Limit",
//clOrdID: "clOrdID"
});
var url = "https://www.bitmex.com" + path;
var mathod = "POST";
var text = mathod + path + timestamp + body;
var sign = crypto.createHmac('sha256', secret).update(text).digest('hex');
var options = {
url: url,
method: mathod,
body: body,
headers: {
'Content-Type': 'application/json',
'Accept': 'application/json',
'X-Requested-With': 'XMLHttpRequest',
'api-expires': timestamp,
'api-key': key,
'api-signature': sign,
}
};
//リクエスト開始
request(options, function (err, response, payload) {
if (!payload) {return;}
var getData = JSON.parse(payload);
if (getData.error) {
console.log("message:", getData.error.message);
console.log("name:", getData.error.name);
return
}
console.log("orderID:", getData.orderID);
console.log("clOrdID:", getData.clOrdID);
console.log("clOrdLinkID:", getData.clOrdLinkID);
console.log("account:", getData.account);
console.log("symbol:", getData.symbol);
console.log("side:", getData.side);
console.log("simpleOrderQty:", getData.simpleOrderQty);
console.log("orderQty:", getData.orderQty);
console.log("price:", getData.price);
console.log("displayQty:", getData.displayQty);
console.log("stopPx:", getData.stopPx);
console.log("pegOffsetValue:", getData.pegOffsetValue);
console.log("pegPriceType:", getData.pegPriceType);
console.log("currency:", getData.currency);
console.log("settlCurrency:", getData.osettlCurrency);
console.log("ordType:", getData.ordType);
console.log("timeInForce:", getData.timeInForce);
console.log("execInst:", getData.execInst);
console.log("contingencyType:", getData.contingencyType);
console.log("exDestination:", getData.exDestination);
console.log("ordStatus:", getData.ordStatus);
console.log("triggered:", getData.triggered);
console.log("workingIndicator:", getData.workingIndicator);
console.log("ordRejReason:", getData.ordRejReason);
console.log("simpleLeavesQty:", getData.simpleLeavesQty);
console.log("leavesQty:", getData.leavesQty);
console.log("simpleCumQty:", getData.simpleCumQty);
console.log("cumQty:", getData.cumQty);
console.log("avgPx:", getData.avgPx);
console.log("multiLegReportingType:", getData.multiLegReportingType);
console.log("text:", getData.text);
console.log("transactTime:", getData.transactTime);
console.log("timestamp:", getData.timestamp);
});
}
保存したら
node bitmex.js
で実行できます
眠い中書いてるので雑なところがありますが許してください!
こんなのできるよって人もいると思いますが、初回は基礎的なところだけで終わりにします!
ではみなさんおやすみなさい
この記事が気に入ったらサポートをしてみませんか?