Files
exchange_go/models/market.go
2025-02-06 11:14:33 +08:00

142 lines
4.4 KiB
Go
Raw Permalink 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 models
import "time"
// Ticker24 24小时统计
type Ticker24 struct {
ChangePercent string `json:"change"` //24小时价格变动百分比
LastPrice string `json:"last"` //最新价格
OpenPrice string `json:"open"` //24小时开盘价格
HighPrice string `json:"high"` //24小时最高价
LowPrice string `json:"low"` //24小时最低价
Volume string `json:"volume"` //24小时成数量
QuoteVolume string `json:"quote"` //24小时成交金额
Symbol string `json:"-"`
E int64 `json:"-"` //推送时间
}
type Kline struct {
Pair string
Timestamp int64
Open string
Close string
High string
Low string
Vol string
QuoteVolume string //成交金额
}
type DepthRecord struct {
Price float64
Amount float64
}
type DepthRecords []DepthRecord
func (dr DepthRecords) Len() int {
return len(dr)
}
func (dr DepthRecords) Swap(i, j int) {
dr[i], dr[j] = dr[j], dr[i]
}
func (dr DepthRecords) Less(i, j int) bool {
return dr[i].Price < dr[j].Price
}
type Depth struct {
ContractType string //for future
Pair string
UTime time.Time
AskList DepthRecords // Descending order 卖盘,[price(挂单价), vol(此价格挂单张数)], 按price升序
BidList DepthRecords // Descending order 买盘,[price(挂单价), vol(此价格挂单张数)], 按price降序
}
// DepthBin 币安深度
type DepthBin struct {
Symbol string `json:"s"`
Bids [][]string `json:"bids"`
Asks [][]string `json:"asks"`
}
type UFuturesDepthBin struct {
Symbol string `json:"s"`
Bids [][]string `json:"b"`
Asks [][]string `json:"a"`
}
// NewDealPush 最近成交记录
type NewDealPush struct {
Price float64 `json:"price"` //成交价格
Num float64 `json:"num"` //成交数量
Type int `json:"type"` //1买2卖
DealId int64 `json:"dealid"` //交易id
CreateTime int64 `json:"createtime"` //交易时间
//Symbol string `json:"symbol"`
//ExchangeId int `json:"exchangeid"`
}
// ForceOrder 强平订单exc_forceorder
type ForceOrder struct {
ExchangeID int `db:"exchangeid"`
Symbol string `db:"symbol"`
Side string `db:"side"` //请买卖方向 SELL, BUY
Ordertype string `db:"ordertype"` //订单类型 LIMIT, MARKET, STOP, TAKE_PROFIT, STOP_MARKET, TAKE_PROFIT_MARKET, TRAILING_STOP_MARKET
TimeInForce string `db:"timeinforce"` //有效方式,GTC 1,IOC 2,FOK 3,GTX 4
Price float64 `db:"price"` //价格
Num float64 `db:"num"` //数量
AvgPrice float64 `db:"avgprice"` //平均价格
State string `db:"state"` //订单状态
CreateTime time.Time `db:"createtime"`
}
type FiveItem struct {
Buy [][]string `json:"buy"`
Sell [][]string `json:"sell"`
BuyNum float64 `json:"buynum"`
SellNum float64 `json:"sellnum"`
}
// AlertSet vts_alertset
type AlertSet struct {
Id int `db:"id"`
UserId int `db:"userid"`
CoinId int `db:"coinid"`
CurrencyId int `db:"currencyid"`
AlertType int `db:"alerttype"` //预警类型1价格涨到2价格跌到3涨幅达到4跌幅达到5-24小时涨幅6-24小时跌幅
Frequency int `db:"frequency"` //提醒频率:1仅提醒一次2每日提醒一次3持续提醒(每当价格达到该值,则提醒一次)
State int `db:"state"` //设置状态1正常2停止(比如频率是只提醒一次提醒一次完就修改为2)
AlwaysState int `db:"alwaysstate"` //持续提醒状态:1已提醒0可提醒
AlertValue float64 `db:"alertvalue"` //提醒值
SendTime time.Time `db:"sendtime"` //发送时间,每日提醒+持续提醒需要
}
type PriceMarket struct {
Price float64 //最新价格
Rate24h float64 //24小时涨幅
Symbol string //交易对
}
// AlertLog vts_alertlog提醒记录
type AlertLog struct {
Id int `db:"id"`
UserId int `db:"userid"`
AlertId int `db:"alertid"`
AlertValue float64 `db:"alertvalue"`
Coin string `db:"coin"`
Currency string `db:"currency"`
Msg string `db:"msg"`
CreateTime time.Time `db:"createtime"`
}
type AlertMq struct {
UserId int
AlertId int
AlertValue string
Symbol string //格式:BTC/USDT
Msg string
CreateTime int64
}