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.

261 lines
8.6 KiB

package model
// 外汇废弃 代码列表
type ForexCodeList struct {
Description string `json:"description"`
DisplaySymbol string `json:"displaySymbol"`
Symbol string `json:"symbol"`
}
// https://polygon.io 外汇实时行情
type ForexJsonData struct {
Event string `json:"ev"` // 事件类型(实时数据)
Pair string `json:"pair"` // 货币对
Open float64 `json:"o"` // 开盘价
Close float64 `json:"c"` // 收盘价
High float64 `json:"h"` // 最高价
Low float64 `json:"l"` // 最低价
Volume int `json:"v"` // 交易量
Timestamp int64 `json:"s"` // 时间戳
}
// 链接是否成功:[{"ev":"status","status":"connected","message":"Connected Successfully"}]
type ReceiveForexLink struct {
Ev string `json:"ev"`
Status string `json:"status"`
Message string `json:"message"`
}
// 链接鉴权|发起订阅:{"action":"auth","params":"vG4tCD5emAFPkS4kWtXxJntMASyN4dnv"}
type SendAuthority struct {
Action string `json:"action"`
Params string `json:"params"`
}
// 外汇股票代码列表
type ForexCodeMap struct {
Code string `json:"code"` // 外汇代码
}
// ForexDataResponse 外汇代码列表
type ForexDataResponse struct {
Tickers []ForexData `json:"tickers"`
}
// StockData 代表外汇股票市场数据的结构
type ForexData struct {
Ticker string `json:"ticker"` // 股票或商品的标识符
TodaysChange float64 `json:"todaysChange"` // 今日价格变动
TodaysChangePerc float64 `json:"todaysChangePerc"` // 今日价格变动的百分比
Updated int64 `json:"updated"` // 更新时间的 Unix 时间戳(纳秒)
Day DayData `json:"day"` // 今日的市场数据
LastQuote QuoteData `json:"lastQuote"` // 最新的报价信息
Min MinData `json:"min"` // 最小价格记录
PrevDay DayData `json:"prevDay"` // 昨日的市场数据
}
// DayData 代表一天的市场数据
type DayData struct {
O float64 `json:"o"` // 开盘价
H float64 `json:"h"` // 最高价
L float64 `json:"l"` // 最低价
C float64 `json:"c"` // 当前/收盘价
V int `json:"v"` // 成交量
VW float64 `json:"vw"` // 加权平均价格
}
// QuoteData 代表最新报价信息
type QuoteData struct {
A float64 `json:"a"` // 卖价
B float64 `json:"b"` // 买价
T int64 `json:"t"` // 最新报价的时间戳(毫秒)
X int `json:"x"` // 交易所标识符
}
// MinData 代表最小价格记录
type MinData struct {
T int64 `json:"t"` // 时间戳
N int `json:"n"` // 记录数
O float64 `json:"o"` // 开盘价
H float64 `json:"h"` // 最高价
L float64 `json:"l"` // 最低价
C float64 `json:"c"` // 收盘价
V int `json:"v"` // 成交量
VW float64 `json:"vw"` // 加权平均价格
}
// 货币对的最后报价 {"ev":"C","p":"NZD/NOK","a":6.5496,"b":6.5472,"x":48,"t":1730194133000}
type ForexLastQuote struct {
Ev string `json:"ev"` // 事件类型
P string `json:"p"` // 交易对
A float64 `json:"a"` // 买价
X int `json:"x"` // 交易所标识符
B float64 `json:"b"` // 卖价
T int64 `json:"t"` // 时间
}
// 大宗成交数据
type ForexTrade struct {
Ev string `json:"ev"` // 事件类型
Code string `json:"code"` // 交易对
Seq string `json:"seq"` // ID
TickTime string `json:"tick_time"` // 时间戳
Price string `json:"price"` // 成交价
Volume string `json:"volume"` // 成交量
Turnover string `json:"turnover"` // 成交金额
TradeDirection int `json:"trade_direction"` // 成交方向
}
type ForexTradeList struct {
Ev string `bson:"ev"` // 事件类型
Code string `bson:"code"` // 交易对
Seq string `bson:"seq"` // ID
TickTime int64 `bson:"tick_time"` // 时间戳
Price string `bson:"price"` // 成交价
Volume string `bson:"volume"` // 成交量
Turnover string `bson:"turnover"` // 成交金额
TradeDirection int `bson:"trade_direction"` // 成交方向
}
type ConstructParametersPost struct {
Trace string `json:"trace"`
Data struct {
DataList []DataParameters `json:"data_list"`
} `json:"data"`
}
type DataParameters struct {
Code string `json:"code"`
KlineType int `json:"kline_type"`
KlineTimestampEnd int `json:"kline_timestamp_end"`
QueryKlineNum int `json:"query_kline_num"`
AdjustType int `json:"adjust_type"`
}
type KlinePostReturnStruct struct {
Ret int `json:"ret"`
Msg string `json:"msg"`
Trace string `json:"trace"`
Data struct {
KlineList []struct {
Code string `json:"code"`
KlineType int `json:"kline_type"`
KlineData []struct {
Timestamp string `json:"timestamp"`
OpenPrice string `json:"open_price"`
ClosePrice string `json:"close_price"`
HighPrice string `json:"high_price"`
LowPrice string `json:"low_price"`
Volume string `json:"volume"`
Turnover string `json:"turnover"`
} `json:"kline_data"`
} `json:"kline_list"`
} `json:"data"`
}
type ConstructParameters struct {
Trace string `json:"trace"`
Data struct {
Code string `json:"code"`
KlineType int `json:"kline_type"`
KlineTimestampEnd int `json:"kline_timestamp_end"`
QueryKlineNum int `json:"query_kline_num"`
AdjustType int `json:"adjust_type"`
} `json:"data"`
}
type DataList struct {
Code string `json:"code"`
KlineType int `json:"kline_type"`
KlineTimestampEnd int `json:"kline_timestamp_end"`
QueryKlineNum int `json:"query_kline_num"`
AdjustType int `json:"adjust_type"`
}
type KlineGetReturnStruct struct {
Ret int `json:"ret"`
Msg string `json:"msg"`
Trace string `json:"trace"`
Data struct {
Code string `json:"code"`
KlineType int `json:"kline_type"`
KlineList []KlineList `json:"kline_list"`
} `json:"data"`
}
type KlineList struct {
Timestamp string `json:"timestamp"`
OpenPrice string `json:"open_price"`
ClosePrice string `json:"close_price"`
HighPrice string `json:"high_price"`
LowPrice string `json:"low_price"`
Volume string `json:"volume"`
Turnover string `json:"turnover"`
}
type OrderBookOrTradeTick struct {
Trace string `json:"trace"`
Data struct {
SymbolList []SymbolList `json:"symbol_list"`
} `json:"data"`
}
type SymbolList struct {
Code string `json:"code"`
}
type DepthReturnStruct struct {
Msg string `json:"msg"`
Trace string `json:"trace"`
Data struct {
TickList []struct {
Code string `json:"code"`
Seq string `json:"seq"`
TickTime string `json:"tick_time"`
Bids []struct {
Price string `json:"price"`
Volume string `json:"volume"`
} `json:"bids"`
Asks []struct {
Price string `json:"price"`
Volume string `json:"volume"`
} `json:"asks"`
} `json:"tick_list"`
} `json:"data"`
}
type TradeReturnStruct struct {
Msg string `json:"msg"`
Trace string `json:"trace"`
Data struct {
TickList []struct {
Code string `json:"code"`
Seq string `json:"seq"`
TickTime string `json:"tick_time"`
Price string `json:"price"`
Volume string `json:"volume"`
Turnover string `json:"turnover"`
} `json:"tick_list"`
} `json:"data"`
}
// 贵金属和能源交易对
var Check_Code = map[string]string{
"GOLD": "XAUUSD", // 现货黄金/伦敦金(XAUUSD)
"Silver": "XAGUSD", // 现货白银/伦敦银(XAGUSD)
"Aluminum": "XALUSD", // 铝(XALUSD)
"COPPER": "XCUUSD", // 铜(XCUUSD)
"Palladium": "XPDUSD", // 钯(XPDUSD)
"Platinum": "XPTUSD", // 铂金(XPTUSD)
"Nickel": "XNIUSD", // 镍(XNIUSD)
"Lead": "XPBUSD", // 铅(XPBUSD)
"Zinc": "XZNUSD", // 锌(XZNUSD)
"UKOIL": "UKOUSD", // 英国原油(UKOUSD)
"USOIL": "USOUSD", // 美国原油(USOUSD)
"NGAS": "XNGUSD", // 天然气(XNGUSD)
}
var Check_Symbol = map[string]string{
"XAUUSD": "GOLD", // 现货黄金/伦敦金(XAUUSD)
"XAGUSD": "Silver", // 现货白银/伦敦银(XAGUSD)
"XALUSD": "Aluminum", // 铝(XALUSD)
"XCUUSD": "COPPER", // 铜(XCUUSD)
"XPDUSD": "Palladium", // 钯(XPDUSD)
"XPTUSD": "Platinum", // 铂金(XPTUSD)
"XNIUSD": "Nickel", // 镍(XNIUSD)
"XPBUSD": "Lead", // 铅(XPBUSD)
"XZNUSD": "Zinc", // 锌(XZNUSD)
"UKOUSD": "UKOIL", // 英国原油(UKOUSD)
"USOUSD": "USOIL", // 美国原油(USOUSD)
"XNGUSD": "NGAS", // 天然气(XNGUSD)
}