exchange/okex/def.go
2024-06-26 00:59:56 +08:00

291 lines
11 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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-SWAP1
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"`
}