본문으로 건너뛰기
SDK 레퍼런스

TypeScript 타입

응답, 요청, 스트림 프레임의 타입입니다.

Decimal

type Decimal = string

터미널이 보내는 그대로의 10진수입니다: "67000.10"은 "67000.10"으로 유지됩니다. 절대 Number()로 변환하지 말고, 산술이 필요하면 10진수 라이브러리를 사용합니다.

Timestamp

type Timestamp = number

에포크 이후 UTC 밀리초이며, 정수입니다.

InstrumentAddress

type InstrumentAddress = string

종목 주소입니다: exchange:market:symbol, 거래소는 소문자입니다.

Side

type Side = "buy" | "sell"

체결 방향입니다.

Scope

type Scope = "market:read" | "connections:read" | "account:read" | "trading:write" | OpenString

v1에 알려진 토큰 권한입니다. v1 안에서 새 권한이 추가될 수 있습니다.

MarketTopic

type MarketTopic = "trades" | "ticker" | "mark_price" | "book.top" | "clusters"

시장 토픽입니다: 구독 시 instrument가 필수이며, connection_id는 공통 규칙에 따라 선택됩니다.

AccountTopic

type AccountTopic = "account.orders" | "account.positions" | "account.balances" | "account.fills"

계정 토픽입니다: 구독 시 connection_id가 필수이며, instrument는 사용하지 않습니다.

TerminalTopic

type TerminalTopic = "workspace" | "settings"

터미널 자체의 토픽입니다: 터미널마다 하나이며, 종목이나 연결 없이 구독합니다.

WorkspaceTopic

type WorkspaceTopic = "workspace"

Topic

type Topic = MarketTopic | AccountTopic | TerminalTopic

v1에 알려진 스트림 토픽입니다.

ErrorCode

type ErrorCode = | "unauthorized"
  | "forbidden"
  | "forbidden_scope"
  | "not_found"
  | "invalid_request"
  | "unsupported"
  | "not_active"
  | "rate_limited"
  | "not_tradable"
  | "unavailable"
  | OpenString

계약의 오류 코드입니다. v1 안에서 새 코드가 추가될 수 있습니다.

ConnectionState

type ConnectionState = "disabled" | "enabled" | "connecting" | "connected" | "failed"

연결의 status.state입니다.

OrderType

type OrderType = "limit" | "market"

주문 유형입니다: limit에는 가격이 필요하고, market은 받지 않습니다.

OrderStatus

type OrderStatus = "pending" | "open" | "partially_filled"

미체결 주문의 상태입니다.

TriggerType

type TriggerType = "stop_loss" | "take_profit" | "stop"

트리거 주문의 종류입니다.

TriggerRule

type TriggerRule = "price_above_or_equal" | "price_below_or_equal"

트리거가 발동하는 시점입니다.

TriggerStatus

type TriggerStatus = "open" | "finished" | "inactive" | "invalid"

트리거 주문의 상태입니다.

PositionSide

type PositionSide = "long" | "short"

포지션의 방향입니다.

TimeInForce

type TimeInForce = "gtc" | "ioc" | "fok" | "post_only"

넣은 주문의 유효 기간(time in force)이며, 없으면 거래소의 기본값입니다.

ErrorEnvelope

2xx가 아닌 모든 응답이 담는 오류 엔벨로프입니다.

필드타입설명
error{ code: ErrorCode; message: string; }

List

목록은 { data: [...] }로 감싸집니다.

필드타입설명
dataT[]

Limits

/v1/meta가 출력하는 제한입니다.

필드타입설명
ws_connections_per_tokennumber
subscriptions_per_connectionnumber
api_only_instrumentsnumber
exchange_subscriptions_per_secondnumber
commands_per_second선택number리스너당 초당 거래 명령 수입니다. Local API의 쓰기 단계보다 오래된 터미널에는 없습니다.
workspace_commands_per_second선택number리스너당 초당 워크스페이스 명령 수입니다. 창 단계 이전에는 없습니다.
settings_commands_per_second선택number리스너당 초당 설정 쓰기 수입니다. 설정 단계 이전에는 없습니다.

Meta

GET /v1/meta.

필드타입설명
api_versionstring이 계약에서는 "1"입니다.
app_versionstring
build_hashstring
build_envstring
featuresstring활성화된 빌드 피처이며, 하나의 문자열입니다.
scopesScope[]요청에 사용된 토큰에 부여된 권한입니다.
limitsLimits
topicsTopic[]터미널이 시장 데이터 수집부(tap) 없이 빌드되었으면 비어 있습니다.

Health

GET /v1/health.

필드타입설명
statusstring
uptime_msnumber
clientsnumber열려 있는 스트림 연결 수입니다.
streamsnumber허브가 보유한 페어 수입니다.
api_only_instrumentsnumberAPI만을 위해 열린 페어 수입니다.
dropped_eventsnumber허브가 시장 데이터 루프에서 받아들이지 않은 이벤트 수입니다.
dropped_framesnumber클라이언트 큐에 들어가지 못한 프레임 수입니다.
overflow_closesnumber코드 4008로 닫힌 클라이언트 수입니다.
stream_availableboolean빌드에 시장 데이터 수집부(tap)가 없으면 false입니다.

ConnectionEvent

연결 히스토리의 마지막 기록입니다.

필드타입설명
codestringSettings App이 보여 주는 것과 같은 피드의 코드입니다.
tsTimestamp

ConnectionStatus

토글과 히스토리 피드에서 도출한 연결 상태입니다.

필드타입설명
stateConnectionState
last_event선택ConnectionEvent이 세션에 연결의 히스토리 기록이 없으면 없습니다.

Connection

터미널 연결입니다. 비밀 정보는 담지 않습니다: 키도, 주소도, 마스크도 없습니다.

필드타입설명
idnumber
exchangestring종목 주소에서와 같이 소문자로 쓴 거래소 이름입니다.
marketstringspot, futures, …
labelstring
enabledboolean
read_onlyboolean자격 증명이 없는 연결이며, 터미널이 시장 데이터를 위해 만든 것입니다.
has_credentialsboolean
proxy_boundboolean
statusConnectionStatus

Instrument

거래소 카탈로그의 종목입니다.

필드타입설명
instrumentInstrumentAddress
exchangestring
marketstring
symbolstring
basestring
quotestring
statusstring거래소가 보고한 그대로입니다: active, inactive, …
tick_sizeDecimal | null거래소가 보고하지 않았으면 null입니다.
lot_sizeDecimal | null
min_sizeDecimal | null
contract_valueDecimal | null

InstrumentsPage

GET /v1/instruments의 한 페이지입니다.

필드타입설명
exchangestring
marketstring
dataInstrument[]
next_cursorstring | null다음 페이지를 요청할 때 cursor로 전달합니다. 마지막 페이지에서는 null입니다.

Candle

캔들입니다. ts는 봉의 시작 시각이고, volume은 기준 코인 단위입니다.

필드타입설명
tsTimestamp
openDecimal
highDecimal
lowDecimal
closeDecimal
volumeDecimal
quote_volumeDecimal
closedboolean

Candles

GET /v1/market/candles.

필드타입설명
instrumentInstrumentAddress
connection_idnumber
intervalstring
dataCandle[]

Interval

터미널이 아는 인터벌입니다. duration_ms는 명목값입니다(1M은 30일).

필드타입설명
idstring
duration_msnumber

Intervals

GET /v1/market/intervals.

필드타입설명
candlesInterval[]
clustersInterval[]

Trade

체결입니다. ts는 터미널을 통과한 시각입니다.

필드타입설명
idstring | null거래소 체결 id이며, v1에서는 항상 null입니다.
priceDecimal
qtyDecimal
sideSide
tsTimestamp
exchange_tsTimestamp

Trades

GET /v1/market/trades이며, 오래된 것부터 최신 순입니다.

필드타입설명
instrumentInstrumentAddress
connection_idnumber
dataTrade[]

Level

type Level = [price: Decimal, size: Decimal]

[price, size] 형태의 호가창 레벨입니다.

Ticker

24시간 티커입니다.

필드타입설명
priceDecimal
change_24h_pctDecimal | null
volume_24hDecimal
high_24hDecimal | null
low_24hDecimal | null
best_bidDecimal | null
best_askDecimal | null
tsTimestamp

MarkPrice

마크 가격이며, mark_price 이벤트의 data입니다.

필드타입설명
mark_priceDecimal
tsTimestamp

Snapshot

GET /v1/market/snapshot: 허브가 페어에 대해 아는 최신 정보입니다.

필드타입설명
instrumentInstrumentAddress
connection_idnumber
tsTimestamp
best_bidLevel | null허브의 호가창에서 가져오며, 호가창 스냅샷이 도착할 때까지 null입니다.
best_askLevel | null
last_tradeTrade | null
mark_priceDecimal | null
tickerTicker | null

BookTop

호가창 상단입니다: 매수 호가는 최우선 가격부터 아래로, 매도 호가는 최우선 가격부터 위로.

필드타입설명
tsTimestamp
depthnumber
bidsLevel[]
asksLevel[]

Orderbook

interface Orderbook extends BookTop

GET /v1/market/orderbook.

필드타입설명
instrumentInstrumentAddress
connection_idnumber

ClusterLevel

클러스터 버킷의 가격 레벨 하나입니다.

필드타입설명
priceDecimal
volumeDecimal
buy_volumeDecimal
sell_volumeDecimal
buy_tradesnumber
sell_tradesnumber

ClusterBucket

클러스터 버킷입니다. levels는 가장 낮은 가격부터 가장 높은 가격 순입니다.

필드타입설명
intervalstring
tsTimestamp버킷 시작 시각입니다.
end_tsTimestamp
volumeDecimal
buy_volumeDecimal
sell_volumeDecimal
tradesnumber
vwapDecimal | null체결이 없는 버킷은 null입니다.
min_priceDecimal | null
max_priceDecimal | null
completedboolean
last_trade_tsTimestamp체결 시각이 없는 히스토리 버킷은 0입니다.
levelsClusterLevel[]

Clusters

GET /v1/market/clusters이며, 오래된 것부터 최신 순으로 최대 10개의 버킷입니다.

필드타입설명
instrumentInstrumentAddress
connection_idnumber
intervalstring터미널에서 해당 종목에 선택된 인터벌입니다.
tsTimestamp
dataClusterBucket[]

Order

연결의 미체결 주문입니다.

필드타입설명
keystring | null터미널의 주문 키(t-…)이며, 알려질 때까지 null입니다.
exchange_idstring | null거래소의 주문 id이며, 알려질 때까지 null입니다.
instrumentInstrumentAddress
sideSide
typeOrderType
priceDecimal
sizeDecimal기준 코인 단위입니다.
filledDecimal
remainingDecimal
notionalDecimal | null트레이더가 입력한 호가 통화 금액이며, 거래소 스냅샷에서 온 주문은 null입니다.
statusOrderStatus
created_tsTimestamp

TriggerOrder

연결의 트리거 주문(스톱로스, 테이크프로핏, 스톱)입니다.

필드타입설명
idstring
instrumentInstrumentAddress
typeTriggerType
trigger_priceDecimal
ruleTriggerRule
sizeDecimal | null
notionalDecimal | null
statusTriggerStatus
order_typestring | null트리거가 발동할 때 넣는 주문이며, 알 수 없으면 null입니다.
client_idstring | null
created_tsTimestamp | null

AccountOrders

GET /v1/account/orders: 한 연결의 미체결 주문과 트리거 주문입니다.

필드타입설명
connection_idnumber
dataOrder[]
triggersTriggerOrder[]

Position

열린 포지션입니다.

필드타입설명
instrumentInstrumentAddress
sidePositionSide
sizeDecimal기준 코인 단위이며, MOEX에서는 랏(lot) 단위입니다.
lot_sizeDecimal1랏(lot)에 해당하는 기준 코인 수량입니다.
entry_priceDecimal
notionalDecimal호가 통화 단위입니다.
unrealized_pnlDecimal터미널이 계산한 값입니다.
mark_priceDecimal | null터미널의 마크 가격입니다: 롱이면 최우선 매수 호가, 숏이면 최우선 매도 호가이며, 첫 호가창 틱까지는 null입니다.

AccountPositions

GET /v1/account/positions.

필드타입설명
connection_idnumber
dataPosition[]

Balance

한 통화의 최신 잔고이며, 거래소가 보고한 그대로입니다.

필드타입설명
currencystring
totalDecimal
availableDecimal | null거래소가 보고하지 않으면 null입니다.
lockedDecimal | null
tsTimestamp거래소 시각이 있으면 거래소 시각, 없으면 수신 시각입니다.

AccountBalances

GET /v1/account/balances: API를 켠 뒤 변동이 있었던 통화입니다.

필드타입설명
connection_idnumber
dataBalance[]

Fill

연결 자신의 주문에 대한 체결 내역입니다.

필드타입설명
trade_idstring
order_idstring
instrumentInstrumentAddress
sideSide
priceDecimal
qtyDecimal
feeDecimal
fee_currencystring
position_sidePositionSide | null헤지 모드가 있는 거래소에서는 long / short, 그 외에는 null입니다.
tsTimestamp

AccountFills

GET /v1/account/fills이며, 오래된 것부터 최신 순입니다.

필드타입설명
connection_idnumber
dataFill[]

PlaceOrderRequest

와이어로 전송되는 그대로의 POST /v1/orders 본문입니다.

필드타입설명
connection_idnumber
instrumentInstrumentAddress
sideSide
typeOrderType
price선택Decimallimit에는 필수이고, market에는 없습니다.
size선택Decimal기준 코인 단위의 수량이며, size와 notional 중 정확히 하나만 전달합니다.
notional선택Decimal호가 통화 금액이며, size와 notional 중 정확히 하나만 전달합니다.
reduce_only선택boolean
post_only선택boolean
time_in_force선택TimeInForce
client_key선택string멱등성 키입니다: 같은 키로 반복하면 이전 응답을 반환합니다.

InstrumentCommandRequest

POST /v1/orders/cancel-all, POST /v1/orders/trigger/cancel-all, POST /v1/positions/close의 본문입니다.

필드타입설명
connection_idnumber
instrumentInstrumentAddress

PlaceTriggerRequest

POST /v1/orders/trigger의 본문입니다. stop_loss와 take_profit은 열린 포지션에 걸립니다(방향, 수량, 규칙을 포지션에서 가져옵니다). stop은 자체 side, notional과 선택적 rule을 가집니다.

필드타입설명
connection_idnumber
instrumentInstrumentAddress
kindTriggerType
trigger_priceDecimal
side선택Sidestop 전용입니다.
notional선택Decimalstop 전용입니다: 호가 통화 금액입니다.
rule선택TriggerRulestop 전용입니다. 없으면 매수는 시장 가격 위, 매도는 시장 가격 아래를 뜻합니다.
client_key선택string멱등성 키이며, POST /v1/orders에서와 같습니다.

AmendTriggerRequest

PATCH /v1/orders/trigger/{id}의 본문입니다: 새 트리거 가격입니다.

필드타입설명
connection_idnumber
instrumentInstrumentAddress
kindTriggerType
trigger_priceDecimal
side선택Sidestop 전용입니다.
rule선택TriggerRulestop 전용입니다.

LeverageMode

type LeverageMode = "manual" | "max" | "smart"

종목에 대한 터미널의 레버리지 모드이며, 거래소의 것이 아닙니다.

MarginMode

type MarginMode = "cross" | "isolated"

선물 종목의 마진 모드입니다.

Leverage

GET /v1/account/leverage: 선물 종목 하나의 레버리지와 마진 모드이며, 터미널의 캐시에서 가져옵니다. 터미널이 아직 다루지 않은 종목은 409 not_active로 응답합니다.

필드타입설명
connection_idnumber
instrumentInstrumentAddress
leveragenumber
max_leveragenumber
modeLeverageMode
margin_modeMarginMode

SetLeverageRequest

POST /v1/account/leverage의 본문입니다: leverage와 mode 중 정확히 하나만 전달합니다.

필드타입설명
connection_idnumber
instrumentInstrumentAddress
leverage선택number1 이상의 정수입니다.
mode선택"max" | "smart"

SetMarginModeRequest

POST /v1/account/margin-mode의 본문입니다.

필드타입설명
connection_idnumber
instrumentInstrumentAddress
margin_modeMarginMode

Accepted

모든 거래 명령의 응답입니다: 거래소가 아니라 터미널이 접수했다는 뜻입니다. 거래소의 확인, 체결 또는 거부는 스트림의 account.orders나 GET /v1/account/orders로 도착합니다.

필드타입설명
acceptedboolean
operation_idstring터미널의 작업 로그 파일에 기록되는 작업입니다.
keystring | null주문(t-…) 또는 트리거(sl_…, tp_…, stop_…)가 account.orders에 나타나는 터미널의 키입니다. 취소, 수정, 레버리지에서는 null입니다.
connection_idnumber
instrumentInstrumentAddress

CellPosition

탭 그리드의 셀입니다: 열은 왼쪽에서 오른쪽, 행은 위에서 아래, 셀은 행 안에서의 위치입니다.

필드타입설명
columnnumber
rownumber
cellnumber

Stack

탭 안의 스택 — 체결 테이프와 클러스터가 있는 호가창 — 입니다. widget_id는 터미널의 이번 실행에서 전역이며, 스택이 empty인 동안 instrument와 connection_id는 null이고, 스택 그룹 안에 숨겨진 스택은 position이 null입니다.

필드타입설명
widget_idnumber
instrumentInstrumentAddress | null
connection_idnumber | null
emptyboolean
frozenboolean
positionCellPosition | null

Chart

탭 안의 차트입니다. owner_widget_id는 차트가 따르는 스택이며, 독립된 차트는 null입니다.

필드타입설명
widget_idnumber
instrumentInstrumentAddress | null
connection_idnumber | null
intervalstring캔들 인터벌 코드(1m, 5m, …)입니다.
owner_widget_idnumber | null
positionCellPosition | null

Tab

창의 탭입니다: id는 창마다 1부터 번호가 매겨지며, 창마다 정확히 하나의 탭이 active입니다.

필드타입설명
idnumber
namestring
activeboolean
stacksStack[]
chartsChart[]

WindowGeometry

화면의 논리 픽셀 단위로 나타낸 창의 위치와 크기입니다.

필드타입설명
xnumber
ynumber
widthnumber
heightnumber
maximizedboolean

Window

터미널 창입니다. main은 API로 닫을 수 없으며, chart_window는 분리된 차트입니다.

필드타입설명
idnumber
mainboolean
chart_windowboolean
focusedboolean
geometryWindowGeometry
monitorstring | nullOS의 모니터 이름 또는 null입니다.
tabsTab[]

WorkspaceSnapshot

GET /v1/workspace와 workspace 이벤트의 data입니다: 모든 창이 id 오름차순으로 나열됩니다.

필드타입설명
windowsWindow[]

Workspace

GET /v1/workspace. id는 터미널의 이번 실행에서만 쓰이는 내부 번호입니다.

필드타입설명
dataWorkspaceSnapshot

WorkspaceWindow

GET /v1/workspace/windows/{id}.

필드타입설명
dataWindow

OpenTarget

type OpenTarget = "new_tab" | "new_window"

워크스페이스에서 연 것이 놓이는 위치입니다.

OpenStackRequest

POST /v1/workspace/stacks의 본문입니다.

필드타입설명
instrumentInstrumentAddress
connection_id선택number
chart선택boolean스택 위에 여는 같은 종목의 차트입니다.
target선택OpenTargetnew_tab(기본값) 또는 new_window입니다.
window_id선택number새 탭을 열 창이며, 생략하면 포커스된 창입니다.
activate선택booleanfalse는 탭을 백그라운드에서 엽니다. 새 창은 항상 포커스를 가져갑니다.

OpenMultiviewRequest

POST /v1/workspace/multiview의 본문입니다.

필드타입설명
basestring코인(BTC) 또는 페어(BTC/USDT)입니다.
target선택OpenTarget생략하면 멀티뷰의 «열기» 설정이 결정합니다.
window_id선택number
activate선택boolean

TabItemRequest

POST /v1/workspace/tabs와 …/tabs/{tab}/stacks의 열 하나입니다: 스택과, chart가 있으면 그 위의 차트입니다.

필드타입설명
instrumentInstrumentAddress
connection_id선택number
chart선택boolean

OpenTabRequest

POST /v1/workspace/tabs의 본문입니다: 항목마다 열 하나이며, 1개에서 50개까지입니다.

필드타입설명
itemsTabItemRequest[]
name선택string최대 64자이며, 생략하면 터미널이 종목 이름을 따라 탭 이름을 짓습니다.
target선택OpenTarget
window_id선택number
activate선택boolean

AddStacksRequest

POST /v1/workspace/windows/{id}/tabs/{tab}/stacks의 본문입니다.

필드타입설명
itemsTabItemRequest[]

StackInstrumentRequest

PATCH /v1/workspace/stacks/{widget_id}의 본문입니다.

필드타입설명
instrumentInstrumentAddress
connection_id선택number

WorkspaceOutcome

워크스페이스 명령에 대해 창이 한 일입니다. 열기의 경우: 창, 새 탭, 그리고 열 순서대로의 stacks와 charts입니다. 닫기와 활성화의 경우: 해당 id이며, 나머지는 null이거나 비어 있습니다.

필드타입설명
window_idnumber | null
tab_idnumber | null
stacksnumber[]
chartsnumber[]

SettingRow

터미널 설정 테이블의 행 하나이며, 저장된 그대로입니다. scope는 global 또는 order_book이고, scope_id는 default, 종목 주소, 또는 핫키의 경우 null이며, connection_id는 소유한 연결 또는 null입니다. value는 디코딩된 JSON이며 숫자는 쓰인 그대로입니다. writable은 PATCH /v1/settings가 그 키를 받는지를 알려 줍니다. settings 스트림 프레임에는 이 플래그가 없습니다.

필드타입설명
scopestring
scope_idstring | null
connection_idnumber | null
categorystring
keystring
valueunknown
writable선택boolean

Settings

GET /v1/settings: 저장된 그대로의 행이며, 기본값 단계는 채우지 않습니다.

필드타입설명
dataSettingRow[]

ResolvedFrom

type ResolvedFrom = "instrument" | "connection" | "app_instrument" | "global" | OpenString

스택 설정을 가져온 단계입니다.

OrderbookSetting

스택 설정 하나와 그 값을 가져온 단계입니다.

필드타입설명
valueunknown
resolved_fromResolvedFrom
writableboolean

OrderbookSettings

GET /v1/settings/orderbook: 종목의 스택이 보는 그대로의 data[category][key]입니다.

필드타입설명
connection_idnumber
instrumentInstrumentAddress
dataRecord<string, Record<string, OrderbookSetting>>

SettingChange

PATCH /v1/settings의 변경 하나입니다. instrument는 페어의 행(scope order_book)을 가리키고, scope: "order_book"에 종목 없이 connection_id만 있으면 연결의 기본값을, 둘 다 없으면 전역 기본값을 가리킵니다. 전역 설정은 연결을 받지 않습니다.

필드타입설명
scope선택"global" | "order_book"
instrument선택InstrumentAddress
connection_id선택number
categorystring
keystring
valueunknown

UpdateSettingsRequest

PATCH /v1/settings의 본문입니다.

필드타입설명
changesSettingChange[]

SettingsApplied

PATCH /v1/settings: 적용된 변경 수입니다(전부 적용되거나, 호출이 거부됩니다).

필드타입설명
appliednumber

BookTopParams

book.top 구독의 매개변수이며, 다른 토픽은 받지 않습니다. 와이어 이름을 씁니다.

필드타입설명
depth선택number1–200, 기본값은 50입니다.
interval_ms선택number컨플레이션 간격이며, 최소 50, 기본값은 100입니다.

SubscribeRequest

와이어로 전송되는 그대로의 subscribe 요청입니다.

필드타입설명
type"subscribe"
request_idstring
topicTopic
instrument선택InstrumentAddress시장 토픽에는 필수이며, account.*에서는 생략합니다.
connection_id선택number시장 토픽에서는 공통 규칙에 따라 선택되며, account.*에는 필수입니다.
params선택BookTopParams

UnsubscribeRequest

와이어로 전송되는 그대로의 unsubscribe 요청입니다.

필드타입설명
type"unsubscribe"
request_idstring
substring

SubscribedFrame

subscribe에 대한 서버 응답입니다.

필드타입설명
type"subscribed"
request_id선택string
substring구독 id이며, "{stream}:{topic}"("{connection}:account.<topic>", "workspace") 형태입니다. unsubscribe에 전달합니다.
connection_id선택number시장 토픽과 계정 토픽에 대해 선택된 연결이며, workspace에는 없습니다.

UnsubscribedFrame

unsubscribe에 대한 서버 응답입니다.

필드타입설명
type"unsubscribed"
request_id선택string
substring

ErrorFrame

error 프레임입니다: request_id가 있으면 요청에 대한 응답이고, sub는 있고 request_id가 없으면 서버가 그 구독을 제거했다는 뜻입니다.

필드타입설명
type"error"
request_id선택string
sub선택string
codeErrorCode
messagestring

EventFrame

클라이언트가 토픽으로 태그하기 전, 도착한 그대로의 event 프레임입니다.

필드타입설명
type"event"
substring
seqnumber구독 내 이벤트 번호이며, trades에서는 1씩 증가합니다.
tsTimestamp
dataT

Gap

gap 프레임입니다: trades 구독의 from_seq..to_seq 이벤트가 손실되었습니다.

필드타입설명
type"gap"
substring
from_seqnumber
to_seqnumber
reasonstring

SubscriptionError

서버가 구독을 제거했습니다(sub는 있고 request_id가 없는 error 프레임).

필드타입설명
type"error"
substring
codeErrorCode
messagestring

Subscribed

interface Subscribed extends SubscribedFrame

subscribe가 완료하며 반환하는 값입니다: subscribed 프레임에 요청한 내용을 더한 것입니다.

필드타입설명
topicTopic
instrument선택InstrumentAddressaccount.* 구독에는 없습니다.

OrdersUpdate

account.orders 이벤트의 data입니다: 변경 후 한 종목의 주문과 트리거입니다.

필드타입설명
instrumentInstrumentAddress
ordersOrder[]
triggersTriggerOrder[]

PositionUpdate

account.positions 이벤트의 data입니다. 청산은 position: null로 도착합니다.

필드타입설명
instrumentInstrumentAddress
positionPosition | null

TradesEvent

interface TradesEvent extends EventFrame<Trade[]>

클라이언트가 토픽으로 태그할 수 있는 모든 이벤트입니다. topic은 sub에서 읽습니다(첫 콜론 뒤의 부분).

필드타입설명
topic"trades"

TickerEvent

interface TickerEvent extends EventFrame<Ticker>
필드타입설명
topic"ticker"

MarkPriceEvent

interface MarkPriceEvent extends EventFrame<MarkPrice>
필드타입설명
topic"mark_price"

BookTopEvent

interface BookTopEvent extends EventFrame<BookTop>
필드타입설명
topic"book.top"

ClustersEvent

interface ClustersEvent extends EventFrame<ClusterBucket>
필드타입설명
topic"clusters"

AccountOrdersEvent

interface AccountOrdersEvent extends EventFrame<OrdersUpdate>
필드타입설명
topic"account.orders"

AccountPositionsEvent

interface AccountPositionsEvent extends EventFrame<PositionUpdate>
필드타입설명
topic"account.positions"

AccountBalancesEvent

interface AccountBalancesEvent extends EventFrame<Balance>
필드타입설명
topic"account.balances"

AccountFillsEvent

interface AccountFillsEvent extends EventFrame<Fill>
필드타입설명
topic"account.fills"

WorkspaceEvent

interface WorkspaceEvent extends EventFrame<WorkspaceSnapshot>

workspace 이벤트의 data입니다: 전체 레이아웃이며, 첫 프레임은 현재 스냅샷입니다.

필드타입설명
topic"workspace"

SettingsEvent

interface SettingsEvent extends EventFrame<SettingRow>

settings 이벤트의 data입니다: 기록된 행 하나이며, writable은 없습니다.

필드타입설명
topic"settings"

UnknownTopicEvent

interface UnknownTopicEvent extends EventFrame<unknown>

이 클라이언트 버전이 모르는 토픽의 이벤트입니다(계약은 v1 안에서 토픽을 추가할 수 있습니다). topic은 undefined이며, 원래 토픽 이름은 sub에서 콜론 뒤의 부분입니다.

필드타입설명
topicundefined

Event

type Event = | TradesEvent
  | TickerEvent
  | MarkPriceEvent
  | BookTopEvent
  | ClustersEvent
  | AccountOrdersEvent
  | AccountPositionsEvent
  | AccountBalancesEvent
  | AccountFillsEvent
  | WorkspaceEvent
  | SettingsEvent
  | UnknownTopicEvent

topic으로 구별되는 이벤트 프레임입니다.

StreamFrame

type StreamFrame = Event | Gap | SubscriptionError

Stream을 순회할 때 나오는 것이며, 도착 순서대로입니다.

@spectre-trade/terminal 코드의 커밋 2d1c324에서 생성되었습니다.

이 페이지의 내용