代码拉取完成,页面将自动刷新
package market
import (
"fmt"
"gitee.com/quant1x/exchange"
"gitee.com/quant1x/gotdx/securities"
"gitee.com/quant1x/num"
)
func GetStockCodeList() []string {
var allCodes []string
// 上海
// sh600000-sh609999
{
var (
codeBegin = 600000
codeEnd = 609999
)
for i := codeBegin; i <= codeEnd; i++ {
fc := fmt.Sprintf("sh%d", i)
if IsNeedIgnore(fc) {
continue
}
allCodes = append(allCodes, fc)
}
}
// 科创板
// sh688000-sh688999
{
var (
codeBegin = 688000
codeEnd = 689999
)
for i := codeBegin; i <= codeEnd; i++ {
fc := fmt.Sprintf("sh%d", i)
if IsNeedIgnore(fc) {
continue
}
allCodes = append(allCodes, fc)
}
}
// 深圳证券交易所
// 深圳主板: sz000000-sz000999
{
var (
codeBegin = 0
codeEnd = 999
)
for i := codeBegin; i <= codeEnd; i++ {
fc := fmt.Sprintf("sz000%03d", i)
if IsNeedIgnore(fc) {
continue
}
allCodes = append(allCodes, fc)
}
}
// 中小板: sz001000-sz009999
{
var (
codeBegin = 1000
codeEnd = 9999
)
for i := codeBegin; i <= codeEnd; i++ {
fc := fmt.Sprintf("sz00%04d", i)
if IsNeedIgnore(fc) {
continue
}
allCodes = append(allCodes, fc)
}
}
// 创业板: sz300000-sz300999
{
var (
codeBegin = 300000
codeEnd = 309999
)
for i := codeBegin; i <= codeEnd; i++ {
fc := fmt.Sprintf("sz%06d", i)
if IsNeedIgnore(fc) {
continue
}
allCodes = append(allCodes, fc)
}
}
//allCodes = allCodes[0:0]
// 港股: hk00001-hk09999
//{
// var (
// codeBegin = 1
// codeEnd = 9999
// )
// for i := codeBegin; i <= codeEnd; i++ {
// fc := fmt.Sprintf("hk%05d", i)
// allCodes = append(allCodes, fc)
// }
//}
return allCodes
}
// GetCodeList 加载全部股票代码
func GetCodeList() []string {
allCodes := make([]string, 0)
// 添加指数代码
allCodes = append(allCodes, exchange.IndexList()...)
// 板块信息
blocks := securities.BlockList()
for _, v := range blocks {
allCodes = append(allCodes, v.Code)
}
stockCodes := GetStockCodeList()
allCodes = append(allCodes, stockCodes...)
return allCodes
}
// PriceLimit 计算涨停板和跌停板的价格
func PriceLimit(securityCode string, lastClose float64) (limitUp, limitDown float64) {
limitRate := exchange.MarketLimit(securityCode)
priceLimitUp := num.Decimal(lastClose * (1.000 + limitRate))
priceLimitDown := num.Decimal(lastClose * (1.000 - limitRate))
return priceLimitUp, priceLimitDown
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。