URL: wss://ws.kraken.com (v1) 또는 wss://ws.kraken.com/v2 (v2, 권장)
구성 요소는 이제 Version 속성(기본값: 2)을 통해 WebSocket API v2를 지원합니다. 레거시 v1 엔드포인트를 사용하려면 Kraken.Version := 1을 설정하십시오.
소켓이 열리면 subscribe 요청 메시지를 보내 공개 채널을 구독할 수 있습니다.
ADA/CAD, ADA/ETH, ADA/EUR, ADA/USD, ADA/XBT, ATOM/CAD, ATOM/ETH, ATOM/EUR, ATOM/USD, ATOM/XBT, BCH/EUR, BCH/USD, BCH/XBT, DASH/EUR, DASH/USD, DASH/XBT, EOS/ETH, EOS/EUR, EOS/USD, EOS/XBT, GNO/ETH, GNO/EUR, GNO/USD, GNO/XBT, QTUM/CAD, QTUM/ETH, QTUM/EUR, QTUM/USD, QTUM/XBT, USDT/USD, ETC/ETH, ETC/XBT, ETC/EUR, ETC/USD, ETH/XBT, ETH/CAD, ETH/EUR, ETH/GBP, ETH/JPY, ETH/USD, LTC/XBT, LTC/EUR, LTC/USD, MLN/ETH, MLN/XBT, REP/ETH, REP/XBT, REP/EUR, REP/USD, STR/EUR, STR/USD, XBT/CAD, XBT/EUR, XBT/GBP, XBT/JPY, XBT/USD, BTC/CAD, BTC/EUR, BTC/GBP, BTC/JPY, BTC/USD, XDG/XBT, XLM/XBT, DOGE/XBT, STR/XBT, XLM/EUR, XLM/USD, XMR/XBT, XMR/EUR, XMR/USD, XRP/XBT, XRP/CAD, XRP/EUR, XRP/JPY, XRP/USD, ZEC/XBT, ZEC/EUR, ZEC/JPY, ZEC/USD, XTZ/CAD, XTZ/ETH, XTZ/EUR, XTZ/USD, XTZ/XBT
클라이언트는 서버에 ping을 보내 연결이 살아 있는지 확인할 수 있으며, 서버는 pong으로 응답합니다.
이것은 서버에서 시작되는 WebSockets 표준의 기본 ping과 달리 애플리케이션 수준 ping입니다
Ticker 정보에는 지정된 통화 쌍에 대한 최우선 매도 및 최우선 매수 가격, 24시간 거래량, 마지막 거래 가격, 거래량 가중 평균 가격 등이 포함됩니다. ticker 메시지는 거래 또는 일련의 거래가 발생할 때마다 게시됩니다.
SubscribeTicker 메서드를 호출하여 ticker를 구독하십시오:
SubscribeTicker(['XBT/USD']);
구독이 성공하면 OnKrakenSubscribed 이벤트가 호출됩니다:
procedure OnKrakenSubscribed(Sender: TObject;ChannelId: Integer; Pair, Subscription, ChannelName: string;
ReqID:Integer);
begin
DoLog('#subscribed: ' + Subscription + ' ' + Pair + ' ' + ChannelName);
end;
UnSubscribeTicker 메서드를 호출하여 구독 해제:
UnSubscribeTicker(['XBT/USD']);
구독 취소가 성공하면, OnKrakenUnSubscribed 이벤트가 호출됩니다:
procedure OnKrakenUnSubscribed(Sender: TObject; ChannelId: Integer; Pair, Subscription: string;
ReqID: Integer);
begin
DoLog('#unsubscribed: ' + Subscription + ' ' + Pair);
end;
구독 / 구독 취소를 시도하는 동안 오류가 있으면 OnKrakenSubscriptionError 이벤트가 호출됩니다.
procedure OnKrakenSubscriptionError(Sender: TObject; ErrorMessage, Pair, Subscription: string;
ReqID: Integer);
begin
DoLog('#subscription error: ' + ErrorMessage);
end;
Ticker 업데이트는 OnKrakenData 이벤트에서 알림됩니다.
[
0,
{
"a": [
"5525.40000",
1,
"1.000"
],
"b": [
"5525.10000",
1,
"1.000"
],
"c": [
"5525.10000",
"0.00398963"
],
"v": [
"2634.11501494",
"3591.17907851"
],
"p": [
"5631.44067",
"5653.78939"
],
"t": [
11493,
16267
],
"l": [
"5505.00000",
"5505.00000"
],
"h": [
"5783.00000",
"5783.00000"
],
"o": [
"5760.70000",
"5763.40000"
]
},
"ticker",
"XBT/USD"
]
OHLC를 구독한 경우, (endtime에 관계없이) 마지막 유효 캔들의 스냅샷이 전송된 후 진행 중인 캔들에 대한 업데이트가 이어집니다. 예를 들어, 1분 캔들을 구독하고 5분 동안 거래가 없었다면, 5분 전의 마지막 1분 캔들 스냅샷이 게시됩니다. endtime을 사용하여 그것이 오래된 캔들인지 확인할 수 있습니다.
SubscribeOHLC 메서드를 호출하여 OHLC를 구독하십시오. pair와 interval을 전달해야 합니다.
SubscribeOHLC(['XBT/USD'], kin1min);
구독이 성공하면 OnKrakenSubscribed 이벤트가 호출됩니다.
procedure OnKrakenSubscribed(Sender: TObject;ChannelId: Integer; Pair, Subscription, ChannelName: string;
ReqID:Integer);
begin
DoLog('#subscribed: ' + Subscription + ' ' + Pair + ' ' + ChannelName);
end;
UnSubscribeOHLC 메서드를 호출하여 구독을 해제합니다.
UnSubscribeOHLC(['XBT/USD'], kin1min);
구독 취소가 성공하면, OnKrakenUnSubscribed 이벤트가 호출됩니다:
procedure OnKrakenUnSubscribed(Sender: TObject; ChannelId: Integer; Pair, Subscription: string;
ReqID: Integer);
begin
DoLog('#unsubscribed: ' + Subscription + ' ' + Pair);
end;
구독 / 구독 취소를 시도하는 동안 오류가 있으면 OnKrakenSubscriptionError 이벤트가 호출됩니다.
procedure OnKrakenSubscriptionError(Sender: TObject; ErrorMessage, Pair, Subscription: string;
ReqID: Integer);
begin
DoLog('#subscription error: ' + ErrorMessage);
end;
OHLC 업데이트는 OnKrakenData 이벤트에서 알림됩니다.
[
42,
[
"1542057314.748456",
"1542057360.435743",
"3586.70000",
"3586.70000",
"3586.60000",
"3586.60000",
"3586.68894",
"0.03373000",
2
],
"ohlc-5",
"XBT/USD"
]
통화 쌍에 대한 거래 피드입니다.
SubscribeTrade 메서드를 호출하여 Trade feed를 구독합니다.
SubscribeTrade(['XBT/USD']);
구독이 성공하면 OnKrakenSubscribed 이벤트가 호출됩니다.
procedure OnKrakenSubscribed(Sender: TObject;ChannelId: Integer; Pair, Subscription, ChannelName:
string; ReqID:Integer);
begin
DoLog('#subscribed: ' + Subscription + ' ' + Pair + ' ' + ChannelName);
end;
UnSubscribeTrade 메서드를 호출하여 UnSubscribe:
UnSubscribeTrade(['XBT/USD']);
구독 취소가 성공하면, OnKrakenUnSubscribed 이벤트가 호출됩니다:
procedure OnrakenUnSubscribed(Sender: TObject; ChannelId: Integer; Pair, Subscription: string;
ReqID: Integer);
begin
DoLog('#unsubscribed: ' + Subscription + ' ' + Pair);
end;
구독 / 구독 취소를 시도하는 동안 오류가 있으면 OnKrakenSubscriptionError 이벤트가 호출됩니다.
procedure OnKrakenSubscriptionError(Sender: TObject; ErrorMessage, Pair, Subscription: string;
ReqID: Integer);
begin
DoLog('#subscription error: ' + ErrorMessage);
end;
거래 업데이트는 OnKrakenData 이벤트에서 알림이 전달됩니다.
[
0,
[
[
"5541.20000",
"0.15850568",
"1534614057.321597",
"s",
"l",
""
],
[
"6060.00000",
"0.02455000",
"1534614057.324998",
"b",
"l",
""
]
],
"trade",
"XBT/USD"
]
주문서 레벨입니다. 구독 시 지정된 깊이로 스냅샷이 게시되며, 스냅샷에 이어 레벨 업데이트가 게시됩니다.
SubscribeBook 메서드를 호출하여 Book을 구독하십시오. pair와 depth를 전달해야 합니다.
SubscribeBook(['XBT/USD'], kde10);
구독이 성공하면 OnKrakenSubscribed 이벤트가 호출됩니다.
procedure OnKrakenSubscribed(Sender: TObject;ChannelId: Integer; Pair, Subscription, ChannelName: string;
ReqID:Integer);
begin
DoLog('#subscribed: ' + Subscription + ' ' + Pair + ' ' + ChannelName);
end;
UnSubscribeBook 메서드를 호출하여 구독 해제:
UnSubscribeBook(['XBT/USD'], kde10);
구독 취소가 성공하면, OnKrakenUnSubscribed 이벤트가 호출됩니다:
procedure OnKrakenUnSubscribed(Sender: TObject; ChannelId: Integer; Pair, Subscription: string;
ReqID: Integer);
begin
DoLog('#unsubscribed: ' + Subscription + ' ' + Pair);
end;
구독 / 구독 취소를 시도하는 동안 오류가 있으면 OnKrakenSubscriptionError 이벤트가 호출됩니다.
procedure OnKrakenSubscriptionError(Sender: TObject; ErrorMessage, Pair, Subscription: string; ReqID: Integer);
begin
DoLog('#subscription error: ' + ErrorMessage);
end;
Book 업데이트는 OnKrakenData 이벤트에서 알림이 표시됩니다.
[
0,
{
"as": [
[
"5541.30000",
"2.50700000",
"1534614248.123678"
],
[
"5541.80000",
"0.33000000",
"1534614098.345543"
],
[
"5542.70000",
"0.64700000",
"1534614244.654432"
]
],
"bs": [
[
"5541.20000",
"1.52900000",
"1534614248.765567"
],
[
"5539.90000",
"0.30000000",
"1534614241.769870"
],
[
"5539.50000",
"5.00000000",
"1534613831.243486"
]
]
},
"book-100",
"XBT/USD"
]
구독한 asset 쌍에 대한 최고 bid 및 ask 가격을 표시하는 Spread 피드입니다. Bid 거래량과 ask 거래량도 메시지의 일부입니다.
SubscribeSpread 메서드를 호출하여 Spread 피드를 구독합니다.
SubscribeSpread(['XBT/USD']);
구독이 성공하면 OnKrakenSubscribed 이벤트가 호출됩니다.
procedure OnKrakenSubscribed(Sender: TObject;ChannelId: Integer; Pair, Subscription, ChannelName: string;
ReqID:Integer);
begin
DoLog('#subscribed: ' + Subscription + ' ' + Pair + ' ' + ChannelName);
end;
UnSubscribeSpread 메서드를 호출하여 구독 취소:
UnSubscribeSpread(['XBT/USD']);
구독 취소가 성공하면, OnKrakenUnSubscribed 이벤트가 호출됩니다:
procedure OnrakenUnSubscribed(Sender: TObject; ChannelId: Integer; Pair, Subscription: string;
ReqID: Integer);
begin
DoLog('#unsubscribed: ' + Subscription + ' ' + Pair);
end;
구독 / 구독 취소를 시도하는 동안 오류가 있으면 OnKrakenSubscriptionError 이벤트가 호출됩니다.
procedure OnKrakenSubscriptionError(Sender: TObject; ErrorMessage, Pair, Subscription: string;
ReqID: Integer);
begin
DoLog('#subscription error: ' + ErrorMessage);
end;
Spread 업데이트는 OnKrakenData 이벤트에서 알림됩니다.
[
0,
[
"5698.40000",
"5700.00000",
"1542057299.545897",
"1.01234567",
"0.98765432"
],
"spread",
"XBT/USD"
]
한 가지 메서드로 모든 채널을 구독/구독 해제할 수 있습니다.
SubscribeAll(['XBT/USD']);
UnSubscribeAll(['XBT/USD']);
모든 채널이 구독된 경우 OHLC 간격 값은 1입니다.
OnConnect: websocket 클라이언트가 서버에 연결될 때입니다.
OnKrakenConnect: 성공적인 websocket 연결 후 그리고 서버가 시스템 상태를 보낼 때 호출됩니다.
OnKrakenSystemStatus: 시스템 상태가 변경될 때 호출됩니다.
OnKrakenSubscribed: 채널 구독이 성공한 후 호출됩니다.
OnKrakenUnSubscribed: 채널에서 구독 취소에 성공한 후 호출됩니다.
OnKrakenSubscriptionError: 구독/구독 취소를 시도하는 중 오류가 있을 경우 호출됩니다.
OnKrakenData: 채널 구독에 업데이트가 있을 때마다 호출됩니다.