1、减仓策略
2、减仓后减仓节点(60%)
This commit is contained in:
@ -13,6 +13,7 @@ import (
|
||||
models2 "go-admin/models"
|
||||
"go-admin/models/positiondto"
|
||||
"go-admin/pkg/utility"
|
||||
"go-admin/services/cacheservice"
|
||||
"go-admin/services/positionservice"
|
||||
"strconv"
|
||||
"strings"
|
||||
@ -165,13 +166,16 @@ func handleMainReduceFilled(db *gorm.DB, preOrder *DbModels.LinePreOrder) {
|
||||
return
|
||||
}
|
||||
|
||||
tradeSet, err := GetTradeSet(preOrder.Symbol, 0)
|
||||
tradeSet, err := cacheservice.GetTradeSet(global.EXCHANGE_BINANCE, preOrder.Symbol, 0)
|
||||
|
||||
if err != nil {
|
||||
logger.Errorf("handleMainReduceFilled 获取交易对设置失败,订单号:%s", preOrder.OrderSn)
|
||||
return
|
||||
}
|
||||
|
||||
//修改减仓单减仓策略状态
|
||||
ReduceCallBack(db, preOrder)
|
||||
|
||||
orderExt := models.LinePreOrderExt{}
|
||||
positionData := savePosition(db, preOrder)
|
||||
|
||||
@ -731,7 +735,7 @@ func updateOrderStatus(db *gorm.DB, preOrder *models.LinePreOrder, status int, r
|
||||
// fist 首次止盈止损
|
||||
func processTakeProfitAndStopLossOrders(db *gorm.DB, preOrder *models.LinePreOrder, positionData *positiondto.PositionDto, extOrderId int, fist bool) {
|
||||
orders := []models.LinePreOrder{}
|
||||
tradeSet, _ := GetTradeSet(preOrder.Symbol, 0)
|
||||
tradeSet, _ := cacheservice.GetTradeSet(global.EXCHANGE_BINANCE, preOrder.Symbol, 0)
|
||||
mainId := preOrder.Id
|
||||
|
||||
if preOrder.MainId > 0 {
|
||||
@ -869,7 +873,7 @@ func processSpotReduceOrder(preOrder DbModels.LinePreOrder) {
|
||||
|
||||
// 处理止盈订单
|
||||
func processTakeProfitOrder(db *gorm.DB, spotApi SpotRestApi, order models.LinePreOrder) {
|
||||
tradeSet, _ := GetTradeSet(order.Symbol, 0)
|
||||
tradeSet, _ := cacheservice.GetTradeSet(global.EXCHANGE_BINANCE, order.Symbol, 0)
|
||||
|
||||
if tradeSet.Coin == "" {
|
||||
logger.Error("获取交易对失败")
|
||||
@ -941,44 +945,6 @@ func processStopLossOrder(order models.LinePreOrder) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
func GetSystemSetting(db *gorm.DB) (models.LineSystemSetting, error) {
|
||||
key := fmt.Sprintf(rediskey.SystemSetting)
|
||||
val, _ := helper.DefaultRedis.GetString(key)
|
||||
setting := models.LineSystemSetting{}
|
||||
|
||||
if val != "" {
|
||||
sonic.UnmarshalString(val, &setting)
|
||||
}
|
||||
|
||||
if setting.Id > 0 {
|
||||
return setting, nil
|
||||
}
|
||||
|
||||
var err error
|
||||
setting, err = ResetSystemSetting(db)
|
||||
if err != nil {
|
||||
return setting, err
|
||||
}
|
||||
|
||||
return setting, nil
|
||||
}
|
||||
|
||||
func ResetSystemSetting(db *gorm.DB) (DbModels.LineSystemSetting, error) {
|
||||
setting := DbModels.LineSystemSetting{}
|
||||
if err := db.Model(&setting).First(&setting).Error; err != nil {
|
||||
return setting, err
|
||||
}
|
||||
|
||||
settVal, _ := sonic.MarshalString(&setting)
|
||||
|
||||
if settVal != "" {
|
||||
if err := helper.DefaultRedis.SetString(rediskey.SystemSetting, settVal); err != nil {
|
||||
logger.Error("redis添加系统设置失败", err)
|
||||
}
|
||||
}
|
||||
return DbModels.LineSystemSetting{}, nil
|
||||
}
|
||||
|
||||
// 循环取消订单
|
||||
func CancelOpenOrderByOrderSnLoop(apiInfo DbModels.LineApiUser, symbol string, orderSn string) error {
|
||||
spotApi := SpotRestApi{}
|
||||
|
||||
Reference in New Issue
Block a user