API Kraken | WebSockets Private API

Connection

URL: wss://ws-auth.kraken.com (v1) veya wss://ws-auth.kraken.com/v2 (v2, önerilen)

Bileşen artık Version özelliği aracılığıyla WebSocket API v2'yi destekler (varsayılan: 2).

 

Soket açıldığında, kimliği doğrulanmış bir abone olma isteği mesajı göndererek özel veri kanallarına abone olabilirsiniz.

 

Authentication

API istemcisi, WebSockets Private uç noktalarına bağlanmak için "GetWebSocketsToken" REST API uç noktası aracılığıyla bir kimlik doğrulama "token" istemelidir. Token, oluşturulduktan sonraki 15 dakika içinde kullanılmalıdır. Bir WebSockets API private mesajına (openOrders veya ownTrades) bağlantı sürdürüldükten sonra token'ın süresi dolmaz.

Bir Websockets Token almak için, Kraken Options Bileşeninde bir API Key ve API Secret ayarlanmalıdır, api anahtarı, hesabınızda Kraken tarafından sağlanır

  
Kraken.ApiKey := 'api key';
Kraken.ApiSecret := 'api secret';

Yöntemler

OwnTrades

Kendi işlemlerinizin (trade) bir listesini alın; ilk abonelikte, en son 50 işlemin bir listesini alırsınız

  
SubscribeOwnTrades();

Daha sonra, UnSubscribeOwnTrades yöntemini çağırarak OwnTrades'ten abonelikten çıkabilirsiniz

  
UnSubscribeOwnTrades();

Sunucudan yanıt örneği


[
  [
    {
      "TDLH43-DVQXD-2KHVYY": {
        "cost": "1000000.00000",
        "fee": "600.00000",
        "margin": "0.00000",
        "ordertxid": "TDLH43-DVQXD-2KHVYY",
        "ordertype": "limit",
        "pair": "XBT/EUR",
        "postxid": "OGTT3Y-C6I3P-XRI6HX",
        "price": "100000.00000",
        "time": "1560520332.914664",
        "type": "buy",
        "vol": "1000000000.00000000"
      }
    }
  ],
  "ownTrades"
]

Açık Emirler

Kimlik doğrulamalı kullanıcı API anahtarına ait tüm açık emirleri göstermek için feed. İlk anlık görüntü (snapshot) tüm açık emirlerin listesini sağlar ve ardından açık emir listesindeki tüm güncellemeler gönderilir. 'closed' gibi durum değişikliği güncellemeleri için, orderid ve status alanları yükte bulunur

  
SubscribeOpenOrders();

Daha sonra, UnSubscribeOpenOrders yöntemini çağırarak OpenOrders'tan aboneliğinizi iptal edebilirsiniz

  
UnSubscribeOpenOrders();

Sunucudan yanıt örneği


[
  [
    {
      "OGTT3Y-C6I3P-XRI6HX": {
        "cost": "0.00000",
        "descr": {
          "close": "",
          "leverage": "0:1",
          "order": "sell 0.00001000 XBT/EUR @ limit 9.00000 with 0:1 leverage",
          "ordertype": "limit",
          "pair": "XBT/EUR",
          "price": "9.00000",
          "price2": "0.00000",
          "type": "sell"
        },
        "expiretm": "0.000000",
        "fee": "0.00000",
        "limitprice": "9.00000",
        "misc": "",
        "oflags": "fcib",
        "opentm": "0.000000",
        "price": "9.00000",
        "refid": "OKIVMP-5GVZN-Z2D2UA",
        "starttm": "0.000000",
        "status": "open",
        "stopprice": "0.000000",
        "userref": 0,
        "vol": "0.00001000",
        "vol_exec": "0.00000000"
      }
    }
  ],
  "openOrders"
]

Emir Ekle

Kraken'a yeni bir Emir gönderin

  
oKrakenOrder := TsgcWSKrakenOrder.Create;
oKrakenOrder.Pair := 'XBT/USD';
oKrakenOrder._Type := kosBuy;
oKrakenOrder.OrderType := kotMarket;
oKrakenOrder.Volume := 1;
AddOrder(oKrakenOrder);

Sipariş parametrelerinin listesi


pair = asset pair
type = type of order (buy/sell)
ordertype = order type:
    market
    limit (price = limit price)
    stop-loss (price = stop loss price)
    take-profit (price = take profit price)
    stop-loss-profit (price = stop loss price, price2 = take profit price)
    stop-loss-profit-limit (price = stop loss price, price2 = take profit price)
    stop-loss-limit (price = stop loss trigger price, price2 = triggered limit price)
    take-profit-limit (price = take profit trigger price, price2 = triggered limit price)
    trailing-stop (price = trailing stop offset)
    trailing-stop-limit (price = trailing stop offset, price2 = triggered limit offset)
    stop-loss-and-limit (price = stop loss price, price2 = limit price)
    settle-position
price = price (optional.  dependent upon ordertype)
price2 = secondary price (optional.  dependent upon ordertype)
volume = order volume in lots
leverage = amount of leverage desired (optional.  default = none)
oflags = comma delimited list of order flags (optional):
    viqc = volume in quote currency (not available for leveraged orders)
    fcib = prefer fee in base currency
    fciq = prefer fee in quote currency
    nompp = no market price protection
    post = post only order (available when ordertype = limit)
starttm = scheduled start time (optional):
    0 = now (default)
    +<n> = schedule start time <n> seconds from now
    <n> = unix timestamp of start time
expiretm = expiration time (optional):
    0 = no expiration (default)
    +<n> = expire <n> seconds from now
    <n> = unix timestamp of expiration time
userref = user reference id.  32-bit signed number.  (optional)
validate = validate inputs only.  do not submit order (optional)
optional closing order to add to system when order gets filled:
    close[ordertype] = order type
    close[price] = price
    close[price2] = secondary price

Sunucudan yanıt örneği


{
  "descr": "buy 0.01770000 XBTUSD @ limit 4000",
  "event": "addOrderStatus",
  "status": "ok",
  "txid": "ONPNXH-KMKMU-F4MR5V"
}

Emri İptal Et

Emri iptal et

  
CancelOrder('Order Id');

Sunucudan yanıt örneği


{
  "event": "cancelOrderStatus",
  "status": "ok"
}