Files
exchange_go/models/market.go

142 lines
4.4 KiB
Go
Raw Permalink Normal View History

2025-02-06 11:14:33 +08:00
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
}