291 lines
11 KiB
Go
291 lines
11 KiB
Go
package okex
|
||
|
||
type OKEXConfig struct {
|
||
Name string
|
||
ApiKey string
|
||
SecretKey string
|
||
Passphrase string
|
||
TdMode string
|
||
IsTest bool
|
||
}
|
||
|
||
type AlgoOrder struct {
|
||
ActualPx string `json:"actualPx"`
|
||
ActualSide string `json:"actualSide"`
|
||
ActualSz string `json:"actualSz"`
|
||
AlgoID string `json:"algoId"`
|
||
CTime string `json:"cTime"`
|
||
Ccy string `json:"ccy"`
|
||
InstID string `json:"instId"`
|
||
InstType string `json:"instType"`
|
||
Lever string `json:"lever"`
|
||
NotionalUsd string `json:"notionalUsd"`
|
||
OrdID string `json:"ordId"`
|
||
OrdPx string `json:"ordPx"`
|
||
OrdType string `json:"ordType"`
|
||
PosSide string `json:"posSide"`
|
||
ReduceOnly string `json:"reduceOnly"`
|
||
Side string `json:"side"`
|
||
SlOrdPx string `json:"slOrdPx"`
|
||
SlTriggerPx string `json:"slTriggerPx"`
|
||
State string `json:"state"`
|
||
Sz string `json:"sz"`
|
||
TdMode string `json:"tdMode"`
|
||
TgtCcy string `json:"tgtCcy"`
|
||
TpOrdPx string `json:"tpOrdPx"`
|
||
TpTriggerPx string `json:"tpTriggerPx"`
|
||
TriggerPx string `json:"triggerPx"`
|
||
TriggerTime string `json:"triggerTime"`
|
||
}
|
||
|
||
type OrderNormal struct {
|
||
AccFillSz string `json:"accFillSz"`
|
||
AmendResult string `json:"amendResult"`
|
||
AvgPx string `json:"avgPx"`
|
||
CTime string `json:"cTime"`
|
||
Category string `json:"category"`
|
||
Ccy string `json:"ccy"`
|
||
ClOrdID string `json:"clOrdId"`
|
||
Code string `json:"code"`
|
||
ExecType string `json:"execType"`
|
||
Fee string `json:"fee"`
|
||
FeeCcy string `json:"feeCcy"`
|
||
FillFee string `json:"fillFee"`
|
||
FillFeeCcy string `json:"fillFeeCcy"`
|
||
FillNotionalUsd string `json:"fillNotionalUsd"`
|
||
FillPx string `json:"fillPx"`
|
||
FillSz string `json:"fillSz"`
|
||
FillTime string `json:"fillTime"`
|
||
InstID string `json:"instId"`
|
||
InstType string `json:"instType"`
|
||
Lever string `json:"lever"`
|
||
Msg string `json:"msg"`
|
||
NotionalUsd string `json:"notionalUsd"`
|
||
OrdID string `json:"ordId"`
|
||
OrdType string `json:"ordType"`
|
||
Pnl string `json:"pnl"`
|
||
PosSide string `json:"posSide"`
|
||
Px string `json:"px"`
|
||
Rebate string `json:"rebate"`
|
||
RebateCcy string `json:"rebateCcy"`
|
||
ReduceOnly string `json:"reduceOnly"`
|
||
ReqID string `json:"reqId"`
|
||
Side string `json:"side"`
|
||
SlOrdPx string `json:"slOrdPx"`
|
||
SlTriggerPx string `json:"slTriggerPx"`
|
||
SlTriggerPxType string `json:"slTriggerPxType"`
|
||
Source string `json:"source"`
|
||
State string `json:"state"`
|
||
Sz string `json:"sz"`
|
||
Tag string `json:"tag"`
|
||
TdMode string `json:"tdMode"`
|
||
TgtCcy string `json:"tgtCcy"`
|
||
TpOrdPx string `json:"tpOrdPx"`
|
||
TpTriggerPx string `json:"tpTriggerPx"`
|
||
TpTriggerPxType string `json:"tpTriggerPxType"`
|
||
TradeID string `json:"tradeId"`
|
||
UTime string `json:"uTime"`
|
||
}
|
||
|
||
type CandleResp struct {
|
||
Code string `json:"code"`
|
||
Msg string `json:"msg"`
|
||
Data [][9]string `json:"data"`
|
||
}
|
||
|
||
type OKEXOrder struct {
|
||
Code string `json:"code"`
|
||
Msg string `json:"msg"`
|
||
Data []struct {
|
||
ClOrdID string `json:"clOrdId"`
|
||
OrdID string `json:"ordId"`
|
||
Tag string `json:"tag"`
|
||
SCode string `json:"sCode"`
|
||
SMsg string `json:"sMsg"`
|
||
} `json:"data"`
|
||
}
|
||
|
||
type OKEXAlgoOrder struct {
|
||
Code string `json:"code"`
|
||
Msg string `json:"msg"`
|
||
Data []struct {
|
||
AlgoID string `json:"algoId"`
|
||
SCode string `json:"sCode"`
|
||
SMsg string `json:"sMsg"`
|
||
} `json:"data"`
|
||
}
|
||
|
||
type InstrumentResp struct {
|
||
Code string `json:"code"`
|
||
Msg string `json:"msg"`
|
||
Data []Instrument `json:"data"`
|
||
}
|
||
|
||
type Instrument struct {
|
||
InstType string `json:"instType"` // 产品类型
|
||
InstID string `json:"instId"` // 产品id, 如 BTC-USD-SWAP
|
||
Uly string `json:"uly"` // 标的指数,如 BTC-USD,仅适用于交割/永续/期权
|
||
Category string `json:"category"` // 手续费档位,每个交易产品属于哪个档位手续费
|
||
BaseCcy string `json:"baseCcy"` // 交易货币币种,如 BTC-USDT 中的 BTC ,仅适用于币币
|
||
QuoteCcy string `json:"quoteCcy"` // 计价货币币种,如 BTC-USDT 中的USDT ,仅适用于币币
|
||
SettleCcy string `json:"settleCcy"` // 盈亏结算和保证金币种,如 BTC 仅适用于交割/永续/期权
|
||
CtVal string `json:"ctVal"` // 合约面值,仅适用于交割/永续/期权
|
||
CtMult string `json:"ctMult"` // 合约乘数,仅适用于交割/永续/期权
|
||
CtValCcy string `json:"ctValCcy"` // 合约面值计价币种,仅适用于交割/永续/期权
|
||
OptType string `json:"optType"` // 期权类型,C或P 仅适用于期权
|
||
Stk string `json:"stk"` // 行权价格,仅适用于期权
|
||
ListTime string `json:"listTime"` // 上线日期 Unix时间戳的毫秒数格式,如 1597026383085
|
||
ExpTime string `json:"expTime"` // 交割/行权日期,仅适用于交割 和 期权 Unix时间戳的毫秒数格式,如 1597026383085
|
||
Lever string `json:"lever"` // 该instId支持的最大杠杆倍数,不适用于币币、期权
|
||
TickSz string `json:"tickSz"` // 下单价格精度,如 0.0001
|
||
LotSz string `json:"lotSz"` // 下单数量精度,如 BTC-USDT-SWAP:1
|
||
MinSz string `json:"minSz"` // 最小下单数量
|
||
CtType string `json:"ctType"` // linear:正向合约 inverse:反向合约 仅适用于交割/永续
|
||
Alias string `json:"alias"` // 合约日期别名 this_week:本周 next_week:次周 quarter:季度 next_quarter:次季度 仅适用于交割
|
||
State string `json:"state"` // 产品状态 live:交易中 suspend:暂停中 preopen:预上线settlement:资金费结算
|
||
}
|
||
|
||
type AccountConfig struct {
|
||
Code string `json:"code"`
|
||
Data []struct {
|
||
AcctLv string `json:"acctLv"`
|
||
AutoLoan bool `json:"autoLoan"`
|
||
CtIsoMode string `json:"ctIsoMode"`
|
||
GreeksType string `json:"greeksType"`
|
||
Level string `json:"level"`
|
||
LevelTmp string `json:"levelTmp"`
|
||
MgnIsoMode string `json:"mgnIsoMode"`
|
||
PosMode string `json:"posMode"`
|
||
SpotOffsetType string `json:"spotOffsetType"`
|
||
UID string `json:"uid"`
|
||
Label string `json:"label"`
|
||
RoleType string `json:"roleType"`
|
||
TraderInsts []any `json:"traderInsts"`
|
||
OpAuth string `json:"opAuth"`
|
||
IP string `json:"ip"`
|
||
} `json:"data"`
|
||
Msg string `json:"msg"`
|
||
}
|
||
|
||
type AccountPosition struct {
|
||
Adl string `json:"adl"`
|
||
AvailPos string `json:"availPos"`
|
||
AvgPx string `json:"avgPx"`
|
||
CTime string `json:"cTime"`
|
||
Ccy string `json:"ccy"`
|
||
DeltaBS string `json:"deltaBS"`
|
||
DeltaPA string `json:"deltaPA"`
|
||
GammaBS string `json:"gammaBS"`
|
||
GammaPA string `json:"gammaPA"`
|
||
Imr string `json:"imr"`
|
||
InstID string `json:"instId"`
|
||
InstType string `json:"instType"`
|
||
Interest string `json:"interest"`
|
||
Last string `json:"last"`
|
||
UsdPx string `json:"usdPx"`
|
||
Lever string `json:"lever"`
|
||
Liab string `json:"liab"`
|
||
LiabCcy string `json:"liabCcy"`
|
||
LiqPx string `json:"liqPx"`
|
||
MarkPx string `json:"markPx"`
|
||
Margin string `json:"margin"`
|
||
MgnMode string `json:"mgnMode"`
|
||
MgnRatio string `json:"mgnRatio"`
|
||
Mmr string `json:"mmr"`
|
||
NotionalUsd string `json:"notionalUsd"`
|
||
OptVal string `json:"optVal"`
|
||
PTime string `json:"pTime"`
|
||
Pos string `json:"pos"`
|
||
PosCcy string `json:"posCcy"`
|
||
PosID string `json:"posId"`
|
||
PosSide string `json:"posSide"`
|
||
SpotInUseAmt string `json:"spotInUseAmt"`
|
||
SpotInUseCcy string `json:"spotInUseCcy"`
|
||
ThetaBS string `json:"thetaBS"`
|
||
ThetaPA string `json:"thetaPA"`
|
||
TradeID string `json:"tradeId"`
|
||
BizRefID string `json:"bizRefId"`
|
||
BizRefType string `json:"bizRefType"`
|
||
QuoteBal string `json:"quoteBal"`
|
||
BaseBal string `json:"baseBal"`
|
||
BaseBorrowed string `json:"baseBorrowed"`
|
||
BaseInterest string `json:"baseInterest"`
|
||
QuoteBorrowed string `json:"quoteBorrowed"`
|
||
QuoteInterest string `json:"quoteInterest"`
|
||
UTime string `json:"uTime"`
|
||
Upl string `json:"upl"`
|
||
UplRatio string `json:"uplRatio"`
|
||
VegaBS string `json:"vegaBS"`
|
||
VegaPA string `json:"vegaPA"`
|
||
CloseOrderAlgo []struct {
|
||
AlgoID string `json:"algoId"`
|
||
SlTriggerPx string `json:"slTriggerPx"`
|
||
SlTriggerPxType string `json:"slTriggerPxType"`
|
||
TpTriggerPx string `json:"tpTriggerPx"`
|
||
TpTriggerPxType string `json:"tpTriggerPxType"`
|
||
CloseFraction string `json:"closeFraction"`
|
||
} `json:"closeOrderAlgo"`
|
||
}
|
||
|
||
type AccountPositionResp struct {
|
||
Code string `json:"code"`
|
||
Msg string `json:"msg"`
|
||
Data []AccountPosition `json:"data"`
|
||
}
|
||
|
||
type AccountBalance struct {
|
||
AdjEq string `json:"adjEq"`
|
||
Details []struct {
|
||
AvailBal string `json:"availBal"`
|
||
AvailEq string `json:"availEq"`
|
||
CashBal string `json:"cashBal"`
|
||
Ccy string `json:"ccy"`
|
||
CrossLiab string `json:"crossLiab"`
|
||
DisEq string `json:"disEq"`
|
||
Eq string `json:"eq"`
|
||
EqUsd string `json:"eqUsd"`
|
||
FrozenBal string `json:"frozenBal"`
|
||
Interest string `json:"interest"`
|
||
IsoEq string `json:"isoEq"`
|
||
IsoLiab string `json:"isoLiab"`
|
||
IsoUpl string `json:"isoUpl"`
|
||
Liab string `json:"liab"`
|
||
MaxLoan string `json:"maxLoan"`
|
||
MgnRatio string `json:"mgnRatio"`
|
||
NotionalLever string `json:"notionalLever"`
|
||
OrdFrozen string `json:"ordFrozen"`
|
||
Twap string `json:"twap"`
|
||
UTime string `json:"uTime"`
|
||
Upl string `json:"upl"`
|
||
UplLiab string `json:"uplLiab"`
|
||
StgyEq string `json:"stgyEq"`
|
||
SpotInUseAmt string `json:"spotInUseAmt"`
|
||
} `json:"details"`
|
||
Imr string `json:"imr"`
|
||
IsoEq string `json:"isoEq"`
|
||
MgnRatio string `json:"mgnRatio"`
|
||
Mmr string `json:"mmr"`
|
||
NotionalUsd string `json:"notionalUsd"`
|
||
OrdFroz string `json:"ordFroz"`
|
||
TotalEq string `json:"totalEq"`
|
||
UTime string `json:"uTime"`
|
||
}
|
||
|
||
type AccountBalanceResp struct {
|
||
Code string `json:"code"`
|
||
Data []AccountBalance `json:"data"`
|
||
Msg string `json:"msg"`
|
||
}
|
||
|
||
type CancelNormalResp struct {
|
||
Code string `json:"code"`
|
||
Msg string `json:"msg"`
|
||
Data []OrderNormal `json:"data"`
|
||
}
|
||
|
||
type CancelAlgoResp struct {
|
||
Code string `json:"code"`
|
||
Msg string `json:"msg"`
|
||
Data []AlgoOrder `json:"data"`
|
||
}
|