BitMEX ایکسچینج API نوٹ

مصنف:گھاس, تخلیق: 2019-04-04 11:40:52, تازہ کاری: 2024-02-05 20:09:52

BitMEX ایکسچینج API استعمال کی شرائط (BitMEX exchange API note)

img

ایف ایم زیڈ پلیٹ فارم API Doc ہمارے ساتھ ٹیلیگرام گروپ میں شامل ہوں

www.fmz.com(پہلے BotVs تھے) ایک مقداری حکمت عملی ٹریڈنگ پلیٹ فارم ہے جہاں آپ آسانی سے مقداری حکمت عملی سیکھ سکتے ہیں، لکھ سکتے ہیں، اشتراک کرسکتے ہیں اور تجارت کرسکتے ہیں.

  • ہمارے پلیٹ فارم کے بہت سے فوائد ہیں:

    • کراس پلیٹ فارم، تمام بڑے تجارتی تبادلے کی حمایت، ہماری پلیٹ فارم پر لکھا حکمت عملی تمام بڑے تبادلے کے لئے موزوں ہے.
    • 2، شروع کرنے کے لئے آسان، مخصوص API دستاویزات اور کلاسیکی ٹیمپلیٹ کی حکمت عملی صارفین کو شروع کرنے میں مدد ملتی ہے.
    • 3، اس میں ایک مؤثر مشابہت بیک ٹسٹنگ سسٹم ہے۔
    • 4٬ای میلز بھیجنے، اپنے فون پر پیغامات بھیجنے کی حمایت کریں.
    • 5، ویب پر مبنی کنٹرول میکانزم، آپ کے فون کے ذریعے حاصل کیا جا سکتا ہے.
    • 6٬ مکمل پائیتھون\C++\جاوا اسکرپٹ پروگرامنگ کی حمایت
    • اسپاٹ اور فیوچر ٹریڈنگ کی حمایت کریں گے اور مستقبل میں مزید تبادلے کی حمایت کریں گے۔
    • 8٬ لاگت انتہائی کم ہے۔ 0.125 RMB فی گھنٹہ، موجودہ شرح تبادلہ پر مبنی: USDCNY 6.9303، جس کا مطلب ہے 0.01804 ڈالر فی گھنٹہ۔
    • ہماری ویب سائٹ پر کوئی API-KEY یا پاس ورڈ محفوظ نہیں ہیں۔ ایف ایم زیڈ چار سال سے زیادہ عرصے سے بغیر کسی حفاظتی مسائل کے چل رہا ہے۔

FMZ (BOTVS) اب BitMEX پر تمام معاہدوں کی حمایت کرتا ہے!

  • ٹیسٹ کوڈ:

var initAccount = null;
var nowAccount = null;
function main() {
    LogReset(1);
    Log("This is BitMEX test bot");
    Log("Fee:", exchange.GetFee());
    Log("Initial account:", initAccount = _C(exchange.GetAccount));    
    var info = exchange.SetContractType("XBTUSD");   // BitMEX : XBTUSD , OK : this_week
    Log("XBTUSD info:", info);   
    Log("Use GetTicker to get ticker information:", _C(exchange.GetTicker)) 
    Sleep(1000 * 10);   
    // make an order
    exchange.SetDirection("sell");                         // set order direction
    var orderId = exchange.Sell(-1, 1);                    // sell at market price。
    Sleep(6000);
    // log positions
    var positions = null;
    Log(positions = _C(exchange.GetPosition));
    Log("Account before changing leverage:", _C(exchange.GetAccount));
    // change leverage
    Log("Change leverage", _C(exchange.SetMarginLevel, positions[0].MarginLevel * 2));
    Log("Account after changing leverage:", _C(exchange.GetAccount));  
    // test GetOrder 
    if (orderId) {
        Log(_C(exchange.GetOrder, orderId));
    } 
    Sleep(1000 * 10);
    Log(_C(exchange.GetPosition));
    // set direction to close
    exchange.SetDirection("closesell");
    var go_buy = exchange.Go("Buy", -1, 1);
    var orderId2 = go_buy.wait();
    Log(_C(exchange.GetOrder, orderId2));
    Log("Current account:", nowAccount = _C(exchange.GetAccount));
    Log(_C(exchange.GetPosition));
    LogProfit(nowAccount.Stocks - initAccount.Stocks, " initAccount:", initAccount, " nowAccount:", nowAccount);
    Sleep(1000 * 10);
    var ticker = _C(exchange.GetTicker);
    exchange.SetDirection("buy");
    exchange.Buy(ticker.Last - 50, 1);
    exchange.SetDirection("sell");
    exchange.Sell(ticker.Last + 50, 1);
    // GetOrders
    Log("Test GetOrders:", _C(exchange.GetOrders));
    var e = exchange;
    while (true) {
        var orders = _C(e.GetOrders);
        if (orders.length === 0) {
            break;
        }
        Sleep(500);
        for (var j = 0; j < orders.length; j++) {
           e.CancelOrder(orders[j].Id);
            if (j < (orders.length - 1)) {
                Sleep(500);
            }
        }
    }
    Log("Cancel order, test GetOrders again:", _C(exchange.GetOrders));
}
  • BitMEX پر اپنے اکاؤنٹ کی معلومات چیک کریں.

    img

    روبوٹ کی طرف سے معلومات کو لاگ، جو کہ BitMEX پر کے ساتھ ایک ہی ہے.

    img

  • لاگ پوزیشنز after changing leverage, the leverage has been changed (بعد میں لیوریج تبدیل کرنے کے بعد، لیوریج تبدیل کر دیا گیا ہے)

    img

  • Use Go function to cover your positions at the same time. (گو فنکشن کو بیک وقت متعدد تھریڈز کی پوزیشنوں کو ڈھونڈنے کے لئے استعمال کریں)

      exchange.SetDirection("closesell");
      var go_buy = exchange.Go("Buy", -1, 1);
      var orderId2 = go_buy.wait();
      Log(_C(exchange.GetOrder, orderId2));
      Log("当前账户:", nowAccount = _C(exchange.GetAccount));
      Log(_C(exchange.GetPosition));
      LogProfit(nowAccount.Stocks - initAccount.Stocks, " initAccount:", initAccount, " nowAccount:", nowAccount);
    

    img

  • چلو کوشش کریں پوسٹ آرڈرز اور اسے منسوخ کریں.

    var ticker = _C(exchange.GetTicker);
    exchange.SetDirection("buy");
    exchange.Buy(ticker.Last - 50, 1);
    exchange.SetDirection("sell");
    exchange.Sell(ticker.Last + 50, 1);  
    // GetOrders
    Log("Test GetOrders:", _C(exchange.GetOrders));
    var e = exchange;
    while (true) {
        var orders = _C(e.GetOrders);
        if (orders.length === 0) {
            break;
        }
        Sleep(500);
        for (var j = 0; j < orders.length; j++) {
            e.CancelOrder(orders[j].Id);
            if (j < (orders.length - 1)) {
                Sleep(500);
            }
        }
    }
    Log("orders have been canceled. Now check orders again, order array is empty. GetOrders:", _C(exchange.GetOrders));
    

    img

    The pending orders information. (پیینڈنگ آرڈرز کی معلومات حاصل کی گئی)

 [{"Id":4,"Amount":1,"Price":1679.6,"DealAmount":0,"AvgPrice":0,"Status":0,"Type":1,"ContractType":"XBTUSD"},
 {"Id":3,"Amount":1,"Price":1579.6,"DealAmount":0,"AvgPrice":0,"Status":0,"Type":0,"ContractType":"XBTUSD"}]
  • نوٹ:

    • 1، BitMEX only supoort K-line periods of 1m، 5m، 1h، 1d.

      تازہ ترین مینیجرز کا استعمال کرتے ہوئے ، بنیادی طور پر K لائنوں کو خود بخود جمع کیا جاسکتا ہے ، اور کچھ K لائنوں کے دورانیے کے اعداد و شمار جو BITMEX کی حمایت نہیں کرتے ہیں ، کو بھی جمع کیا جاسکتا ہے ، لہذا جب آپ K لائنوں کے دورانیے کو ترتیب دیتے ہیں تو یہ محدود نہیں ہوتا ہے۔1分钟、5分钟、1小时、1天یہ سائیکل، تمام سائیکل قائم کیے جا سکتے ہیں۔

      img

    • 2٬Test holding long and short positions at the same time. ((ایک ہی وقت میں کئی پوزیشنوں کو تھامنے کا ٹیسٹ، خالی پوزیشنیں)

      LogReset(1);
      var info = exchange.SetContractType("XBTUSD");
      exchange.SetDirection("sell");
      var orderId = exchange.Sell(-1, 1);
      Log(_C(exchange.GetPosition));
      Sleep(1000*6);
      exchange.SetDirection("buy");
      var orderId2 = exchange.Buy(-1, 1);
      Log(_C(exchange.GetPosition));
      exchange.SetDirection("closesell");
      var orderId3 = exchange.Buy(-1, 1);
      Log(_C(exchange.GetPosition));
      

      img

    • 3، The leverage can be changed while holding position. (بعد میں لیوریج ایڈجسٹ کیا جا سکتا ہے۔)

    • 4٬سپورٹexchange.IOfunction for more API. (ایکسچینج.IO افعال کی حمایت کرتا ہے)

      img

      // exchange.IO example
      exchange.SetContractType("XBTUSD");
      Log(exchange.IO("api", "POST", "position/leverage", "symbol=XBTUSD&leverage=4"));
      Log(exchange.IO("api", "GET", "user"));
      

      position/leverage API کی خام معلومات

      {"homeNotional":0,
      "sessionMargin":0,
      "bankruptPrice":null,
      "initMarginReq":0.25,
      "execBuyQty":2,
      "execComm":184,
      "unrealisedCost":0,
      "commission":0.00075,
      "leverage":4,
      "posLoss":0,
      "posMargin":0,
      "posMaint":0,
      "liquidationPrice":null,
      "maintMarginReq":0.005,
      "grossExecCost":0,
      "execCost":7,
      "currentTimestamp":"2017-05-08T10:51:20.576Z",
      "markValue":0,
      "unrealisedGrossPnl":0,
      "taxBase":7720,
      "unrealisedPnlPcnt":0,
      "prevUnrealisedPnl":0,
      "openOrderSellCost":0,
      "deleveragePercentile":null,
      "openingComm":31588,
      "openOrderBuyCost":0,
      "posCross":0,
      "taxableMargin":0,
      "simpleCost":0,
      "underlying":"XBT",
      "quoteCurrency":"USD",
      "execBuyCost":122613,
      "execSellCost":122620,
      "execQty":0,
      "realisedCost":-7720,
      "unrealisedPnl":0,
      "openingQty":0,
      "openOrderBuyQty":0,
      "initMargin":0,
      "unrealisedTax":0,
      "simpleQty":0,
      "avgCostPrice":null,
      "rebalancedPnl":24052,
      "openingTimestamp":"2017-05-08T10:00:00.000Z",
      "unrealisedRoePcnt":0,
      "posCost":0,
      "posInit":0,
      "posComm":0,
      "realisedTax":0,
      "indicativeTax":0,
      "breakEvenPrice":null,
      "isOpen":false,
      "riskValue":0,
      "posState":"",
      "varMargin":0,
      "realisedGrossPnl":7720,
      "timestamp":"2017-05-08T10:51:20.576Z",
      "account":25992,
      "foreignNotional":0,
      "openOrderSellPremium":0,
      "simpleValue":0,
      "lastValue":0,
      "riskLimit":20000000000,
      "openOrderSellQty":0,
      "grossOpenPremium":0,
      "marginCallPrice":null,
      "prevClosePrice":1562.74,
      "openOrderBuyPremium":0,
      "currentQty":0,
      "currentCost":-7720,
      "currentComm":31772,
      "markPrice":null,
      "posCost2":0,
      "realisedPnl":-24052,
      "prevRealisedPnl":-95,
      "execSellQty":2,
      "shortBankrupt":0,
      "simplePnl":0,
      "simplePnlPcnt":0,
      "lastPrice":null,
      "posAllowance":0,
      "targetExcessMargin":0,
      "indicativeTaxRate":0,
      "grossOpenCost":0,
      "maintMargin":0,
      "crossMargin":false,
      "openingCost":-7727,
      "longBankrupt":0,
      "avgEntryPrice":null,
      "symbol":"XBTUSD",
      "currency":"XBt"}
      

مزید