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

で実行できます

眠い中書いてるので雑なところがありますが許してください!

こんなのできるよって人もいると思いますが、初回は基礎的なところだけで終わりにします!

ではみなさんおやすみなさい

この記事が気に入ったらサポートをしてみませんか?