You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

180 lines
7.2 KiB

package stock
import (
"github.com/shopspring/decimal"
)
type RealTimeMessage struct {
S string `json:"s,omitempty"` // ticker code
P decimal.Decimal `json:"p,omitempty"` // price
C []decimal.Decimal `json:"c,omitempty"` // conditions, see trade conditions glossary for more information
V int64 `json:"v,omitempty"` // volume, representing the number of shares traded at the corresponding time stamp
Dp bool `json:"dp,omitempty"` // dark pool true/false
Ms string `json:"ms,omitempty"` // market status, indicating the current state of the market for the stock ( “open”, “closed”, “extended hours”)
T int64 `json:"t,omitempty"` // timestamp in milliseconds
}
type EodTimeMessage struct {
Date string `json:"date,omitempty"`
Open decimal.Decimal `json:"open,omitempty"`
High decimal.Decimal `json:"s,omitempty"`
Low decimal.Decimal `json:"high,omitempty"`
Close decimal.Decimal `json:"close,omitempty"`
AdjustedClose decimal.Decimal `json:"adjusted_close,omitempty"`
Volume decimal.Decimal `json:"volume,omitempty"`
}
type UsDateClose struct {
Status string `json:"status,omitempty"`
From string `json:"from,omitempty"`
Symbol string `json:"symbol,omitempty"`
Open decimal.Decimal `json:"open,omitempty"`
High decimal.Decimal `json:"high,omitempty"`
Low decimal.Decimal `json:"low,omitempty"`
Close decimal.Decimal `json:"close,omitempty"`
Volume interface{} `json:"volume,omitempty"`
AfterHours decimal.Decimal `json:"afterHours,omitempty"`
PreMarket decimal.Decimal `json:"preMarket,omitempty"`
}
// list message
type Finance struct {
Result []Result `json:"result"`
Error interface{} `json:"error"`
}
type Result struct {
Count decimal.Decimal `json:"count"`
JobTimestamp decimal.Decimal `json:"jobTimestamp"`
StartInterval decimal.Decimal `json:"startInterval"`
Quotes []QuotesModel `json:"quotes"`
}
type QuotesModel struct {
Language string `json:"language"`
Region string `json:"region"`
QuoteType string `json:"quoteType"`
TypeDisp string `json:"typeDisp"`
QuoteSourceName string `json:"quoteSourceName"`
Triggerable bool `json:"triggerable"`
CustomPriceAlertConfidence string `json:"customPriceAlertConfidence"`
TrendingScore decimal.Decimal `json:"trendingScore"`
RegularMarketChange decimal.Decimal `json:"regularMarketChange"`
RegularMarketChangePercent decimal.Decimal `json:"regularMarketChangePercent"`
RegularMarketTime decimal.Decimal `json:"regularMarketTime"`
RegularMarketPrice decimal.Decimal `json:"regularMarketPrice"`
RegularMarketPreviousClose decimal.Decimal `json:"regularMarketPreviousClose"`
Exchange string `json:"exchange"`
Market string `json:"market"`
FullExchangeName string `json:"fullExchangeName"`
ShortName string `json:"shortName"`
SourceInterval decimal.Decimal `json:"sourceInterval"`
ExchangeDataDelayedBy decimal.Decimal `json:"exchangeDataDelayedBy"`
ExchangeTimezoneName string `json:"exchangeTimezoneName"`
ExchangeTimezoneShortName string `json:"exchangeTimezoneShortName"`
QmtOffSetMilliseconds decimal.Decimal `json:"gmtOffSetMilliseconds"`
EsgPopulated bool `json:"esgPopulated"`
Tradeable bool `json:"tradeable"`
CryptoTradeable bool `json:"cryptoTradeable"`
MarketState string `json:"marketState"`
FirstTradeDateMilliseconds decimal.Decimal `json:"firstTradeDateMilliseconds"`
Symbol string `json:"symbol"`
}
type EodData struct {
Date string `json:"date" form:"date"` // 日期
Open float64 `json:"open" form:"open"` // 开盘价格
High float64 `json:"high" form:"high"` // 最高价格
Low float64 `json:"low" form:"low"` // 最低价格
Close float64 `json:"close" form:"close"` // 闭盘价格
AdjustedClose float64 `json:"adjusted_close" form:"adjusted_close"`
Volume int64 `json:"volume" form:"volume"` // 交易量
}
type PHPData struct {
Name string `json:"name" redis:"name"`
Code string `json:"code" redis:"code"`
LogoLink string `json:"logo_link" redis:"logo_link"`
KeepDecimal string `json:"keep_decimal" redis:"keep_decimal"`
FaceValue int `json:"face_value" redis:"face_value"`
MinPry int `json:"min_pry" redis:"min_pry"`
MaxPry int `json:"max_pry" redis:"max_pry"`
Status int `json:"status" redis:"status"`
}
type PHPRes struct {
Data PHPList `json:"data"`
Code string `json:"code"`
}
type PHPList struct {
List []PHPData `json:"list"`
Code string `json:"code"`
}
type MarketTrade struct {
OrderNumber string `json:"order_number" ` //交易数量
DealPrice string `json:"deal_price"` //成交金额
OrderTime int64 `json:"order_time"` //订单时间
TradeType int `json:"trade_type"` //交易类型:1买入, 2卖出
IsHuobi bool `json:"is_huobi"` //是否火币
TradeTurnover decimal.Decimal `json:"trade_turnover"`
ID int64 `json:"id"`
}
type PHPMarketTradeList struct {
List []MarketTrade `json:"data"`
Code string `json:"code"`
}
type IntraDayData struct {
Timestamp int64 `json:"timestamp"` // 时间格式
Gmtoffset int64 `json:"gmtoffset"` //
Datetime string `json:"datetime"` // 日期
Open float64 `json:"open"` // 开盘价格
High float64 `json:"high"` // 最高价格
Low float64 `json:"low"` // 最低价格
Close float64 `json:"close"` // 闭盘价格
Volume int64 `json:"volume"` // 交易量
}
type Symbol struct {
Code string `json:"code"`
Name string `json:"name"`
Country string `json:"country"`
Exchange string `json:"exchange"`
Currency string `json:"currency"`
Type string `json:"type"`
}
type PreviousCloseResponse struct {
Adjusted bool `json:"adjusted"`
QueryCount int `json:"queryCount"`
Results []PreviousCloseRes `json:"results"`
ResultsCount int `json:"resultsCount"`
Status string `json:"status"`
Ticker string `json:"ticker"`
}
type PreviousCloseRes struct {
Ts string `json:"T,omitempty"`
C decimal.Decimal `json:"c,omitempty"`
H decimal.Decimal `json:"h"`
L decimal.Decimal `json:"l"`
O decimal.Decimal `json:"o"`
T int64 `json:"t"`
V decimal.Decimal `json:"v,omitempty"`
VW decimal.Decimal `json:"vw"`
N int64 `json:"n"`
PC decimal.Decimal `json:"pc"`
Error string `json:"error"`
DP decimal.Decimal `json:"dp"`
}
type TypeTradesRes struct {
Tape int `json:"tape"`
}
type TypeTradesResponse struct {
Results []TypeTradesRes `json:"results"`
}