1、订单增加策略模板

This commit is contained in:
2025-03-31 15:37:29 +08:00
parent 9ca1cd9a19
commit 0b95e32655
6 changed files with 145 additions and 35 deletions

View File

@ -204,6 +204,7 @@ func handleTickerMessage(msg []byte) {
}
key := fmt.Sprintf(global.TICKER_SPOT, global.EXCHANGE_BINANCE, symbolName)
lastPriceKey := fmt.Sprintf(rediskey.SpotTickerLastPrice, global.EXCHANGE_BINANCE, symbolName)
tcVal, _ := helper.DefaultRedis.GetString(key)
tradeSet := models.TradeSet{}
if err := sonic.UnmarshalString(tcVal, &tradeSet); err != nil {
@ -212,7 +213,19 @@ func handleTickerMessage(msg []byte) {
}
continue
}
tradeSet.LastPrice = utility.StringFloat64Cut(dataMap["c"].(string), int32(tradeSet.PriceDigit))
var utcTime int64
var lastPrice decimal.Decimal
if e, ok := dataMap["E"]; ok {
utcTime = utility.ToInt64(e)
}
if e, ok := dataMap["c"]; ok {
lastPrice = utility.StrToDecimal(e.(string)).Truncate(int32(tradeSet.PriceDigit))
}
tradeSet.LastPrice = lastPrice.String()
tradeSet.OpenPrice = utility.StrToFloatCut(dataMap["o"].(string), int32(tradeSet.PriceDigit))
tradeSet.HighPrice = utility.StringFloat64Cut(dataMap["h"].(string), int32(tradeSet.PriceDigit))
tradeSet.LowPrice = utility.StringFloat64Cut(dataMap["l"].(string), int32(tradeSet.PriceDigit))
@ -236,6 +249,17 @@ func handleTickerMessage(msg []byte) {
log.Error("redis保存交易对失败", tradeSet.Coin, tradeSet.Currency)
}
}
//行情存储时间
lastUtc := utcTime - 1000*60*60
if _, err := helper.DefaultRedis.RemoveBeforeScore(lastPriceKey, float64(lastUtc)); err != nil {
log.Errorf("移除 现货交易对:%s %d之前的最新成交价失败,err:%v", symbolName, lastUtc, err)
}
if err := helper.DefaultRedis.AddSortSet(lastPriceKey, float64(utcTime), lastPrice.String()); err != nil {
log.Errorf("添加 现货交易对:%s %d之前的最新成交价失败,err:%v", symbolName, lastUtc, err)
}
}
//判断触发现货下单