Skip to content

Commit

Permalink
fix: update code
Browse files Browse the repository at this point in the history
  • Loading branch information
HaoZhengZhao committed Nov 24, 2024
1 parent b90a277 commit 8bd5bb9
Show file tree
Hide file tree
Showing 21 changed files with 161 additions and 103 deletions.
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
### Change Log

## v0.0.51
- 优化后台逻辑
- 更新数据库

## v0.0.50
- 合约列表页面增加对 usdc 的支持
- 增加现货和币本位的数据库设计
Expand Down
8 changes: 8 additions & 0 deletions controllers/index.go
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,8 @@ func (ctrl *IndexController) GetServiceConfig() {
var tradeFutureTest = systemConfig.FutureTest
var tradeFutureTestNoticeLimitMin = systemConfig.FutureTestNoticeLimitMin
var tradeFutureEnable = systemConfig.FutureEnable
var tradeSpotEnable = systemConfig.SpotEnable
var tradeDeliveryEnable = systemConfig.DeliveryEnable
var tradeStrategyTrade = systemConfig.FutureStrategyTrade
var tradeStrategyCoin = systemConfig.FutureStrategyCoin
var tradeNewEnable = systemConfig.FutureNewEnable
Expand All @@ -48,6 +50,10 @@ func (ctrl *IndexController) GetServiceConfig() {
"data": map[string]interface{} {
"debug": debug,

"wsFuturesEnable": systemConfig.WsFuturesEnable,
"wsSpotEnable": systemConfig.WsSpotEnable,
"wsDeliveryEnable": systemConfig.WsDeliveryEnable,

"coinExcludeSymbols": coinExcludeSymbols,
"coinMaxCount": coinMaxCount,
"coinOrderType": coinOrderType,
Expand All @@ -57,6 +63,8 @@ func (ctrl *IndexController) GetServiceConfig() {
"tradeFutureTest": tradeFutureTest,
"tradeFutureTestNoticeLimitMin": tradeFutureTestNoticeLimitMin,
"tradeFutureEnable": tradeFutureEnable,
"tradeSpotEnable": tradeSpotEnable,
"tradeDeliveryEnable": tradeDeliveryEnable,
"tradeStrategyTrade": tradeStrategyTrade,
"tradeStrategyCoin": tradeStrategyCoin,
"tradeNewEnable": tradeNewEnable,
Expand Down
Binary file modified db/coin.db
Binary file not shown.
30 changes: 26 additions & 4 deletions feature/api/binance/delivery.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,9 @@ package binance

import (
"context"
"go_binance_futures/models"
"go_binance_futures/utils"
"time"

"github.com/adshao/go-binance/v2/delivery"
"github.com/beego/beego/v2/adapter/logs"
Expand Down Expand Up @@ -31,12 +33,25 @@ func GetDeliveryExchangeInfo()(res *delivery.ExchangeInfo, err error) {
return res, err
}

func UpdateDeliveryCoinByWs() {
var flagWsDelivery = 0
func UpdateDeliveryCoinByWs(systemConfig models.Config) {
if (systemConfig.WsDeliveryEnable == 1) {
if (flagWsDelivery == 0) {
logs.Info("delivery ws start")
flagWsDelivery = 1
}
} else {
if (flagWsDelivery == 1) {
logs.Info("delivery ws stop")
flagWsDelivery = 0
}
return
}

// binance.BaseWsMainURL = "wss://testnet.binance.vision/ws"
// logs.Info("start delivery ws")
var lock = false
var o = orm.NewOrm()
doneC, _, err := delivery.WsAllMarketTickerServe(func(event delivery.WsAllMarketTickerEvent) {
_, stopC, err := delivery.WsAllMarketTickerServe(func(event delivery.WsAllMarketTickerEvent) {
if !lock {
lock = true
for _, ticker := range event {
Expand All @@ -63,9 +78,16 @@ func UpdateDeliveryCoinByWs() {
lock = false
logs.Error("delivery ws run error:", err.Error())
})
go func() {
for {
if flagWsDelivery == 0 {
stopC <- struct{}{}
}
time.Sleep(1 * time.Second)
}
}()
if err != nil {
logs.Error("delivery ws start error:", err.Error())
return
}
<-doneC
}
30 changes: 26 additions & 4 deletions feature/api/binance/index.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,10 @@ package binance

import (
"context"
"go_binance_futures/models"
"sort"
"strconv"
"time"

"github.com/adshao/go-binance/v2/delivery"
"github.com/adshao/go-binance/v2/futures"
Expand Down Expand Up @@ -470,11 +472,24 @@ func GetFundingRateHistory(params FundingRateParams) (res []*futures.FundingRate
}

// websocket 订阅全市场最新价格变化,只有币价格变化才会推送(24小时变化)
func UpdateCoinByWs() {
var flagWsFutures = 0
func UpdateCoinByWs(systemConfig models.Config) {
if (systemConfig.WsFuturesEnable == 1) {
if (flagWsFutures == 0) {
logs.Info("futures ws start")
flagWsFutures = 1
}
} else {
if (flagWsFutures == 1) {
logs.Info("futures ws stop")
flagWsFutures = 0
}
return
}

var lock = false
var o = orm.NewOrm()
doneC, _, err := futures.WsAllMarketTickerServe(func(event futures.WsAllMarketTickerEvent) {
// logs.Info("futures ws run")
_, stopC, err := futures.WsAllMarketTickerServe(func(event futures.WsAllMarketTickerEvent) {
if !lock {
lock = true
for _, ticker := range event {
Expand All @@ -499,10 +514,17 @@ func UpdateCoinByWs() {
}, func(err error) {
logs.Error("futures ws run error:", err)
})
go func() {
for {
if flagWsFutures == 0 {
stopC <- struct{}{}
}
time.Sleep(1 * time.Second)
}
}()
if err != nil {
logs.Error("futures ws start error:", err)
return
}
<-doneC
}

10 changes: 2 additions & 8 deletions feature/feature.go
Original file line number Diff line number Diff line change
Expand Up @@ -22,12 +22,7 @@ import (
var pusher = notify.GetNotifyChannel()

var flagFutures = 0
func StartTrade() {
systemConfig, err := utils.GetSystemConfig()
if err != nil {
logs.Error("GetSystemConfig:", err)
return
}
func StartTrade(systemConfig models.Config) {
if (systemConfig.FutureEnable == 1) {
if (flagFutures == 0) {
logs.Info("futures trade bot start")
Expand Down Expand Up @@ -708,8 +703,7 @@ func UpdateSymbolTradeInfo(symbols *models.Symbols) {
}

// 更新所有币种的资金费率信息
func UpdateSymbolsFundingRates() {
systemConfig, _ := utils.GetSystemConfig()
func UpdateSymbolsFundingRates(systemConfig models.Config) {
if (systemConfig.ListenFundingRateEnable == 0) {
return
}
Expand Down
15 changes: 2 additions & 13 deletions feature/feature_listen.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@ import (
"go_binance_futures/models"
"go_binance_futures/notify"
"go_binance_futures/technology"
"go_binance_futures/utils"
"strconv"
"time"

Expand All @@ -18,12 +17,7 @@ import (
)

var flagFuturesListen = 0
func ListenCoin() {
systemConfig, err := utils.GetSystemConfig()
if err != nil {
logs.Error("GetSystemConfig:", err)
return
}
func ListenCoin(systemConfig models.Config) {
if (systemConfig.ListenCoinEnable == 1) {
if (flagFuturesListen == 0) {
logs.Info("futures listen bot start")
Expand Down Expand Up @@ -261,12 +255,7 @@ func klineKcListen(coin models.ListenSymbols) {

// 监控资金费率
var flagListenFundingRate = 0
func ListenCoinFundingRate() {
systemConfig, err := utils.GetSystemConfig()
if err != nil {
logs.Error("GetSystemConfig:", err)
return
}
func ListenCoinFundingRate(systemConfig models.Config) {
if (systemConfig.ListenFundingRateEnable == 1) {
if (flagListenFundingRate == 0) {
logs.Info("listen funding rate bot start")
Expand Down
7 changes: 1 addition & 6 deletions feature/feature_notice.go
Original file line number Diff line number Diff line change
Expand Up @@ -14,12 +14,7 @@ import (
)

var flagFuturesNotice = 0
func NoticeAndAutoOrder() {
systemConfig, err := utils.GetSystemConfig()
if err != nil {
logs.Error("GetSystemConfig:", err)
return
}
func NoticeAndAutoOrder(systemConfig models.Config) {
if (systemConfig.NoticeCoinEnable == 1) {
if (flagFuturesNotice == 0) {
logs.Info("futures notice bot start")
Expand Down
7 changes: 1 addition & 6 deletions feature/feature_rush.go
Original file line number Diff line number Diff line change
Expand Up @@ -15,12 +15,7 @@ import (
)

var flagFuturesRush = 0
func TryRush() {
systemConfig, err := utils.GetSystemConfig()
if err != nil {
logs.Error("GetSystemConfig:", err)
return
}
func TryRush(systemConfig models.Config) {
if (systemConfig.FutureNewEnable == 1) {
if (flagFuturesRush == 0) {
logs.Info("futures rush bot start")
Expand Down
22 changes: 6 additions & 16 deletions feature/feature_test_strategy.go
Original file line number Diff line number Diff line change
Expand Up @@ -22,19 +22,14 @@ import (
var coinNoticeLastTimeMap = make(map[string]int64) // limit 通知一次
var FuturesTestNotice = 0
var offsetId = 0
func NoticeAllSymbolByStrategy() {
systemConfig, err := utils.GetSystemConfig()
if err != nil {
logs.Error("GetSystemConfig:", err.Error())
return
}
func NoticeAllSymbolByStrategy(systemConfig models.Config) {
if (systemConfig.FutureTest == 1) {
if (FuturesTestNotice == 0) {
logs.Info("futures all symbol notice_strategy bot start")
FuturesTestNotice = 1
}
} else {
if (flagFuturesNotice == 1) {
if (FuturesTestNotice == 1) {
logs.Info("futures all symbol notice_strategy bot end")
FuturesTestNotice = 0
}
Expand All @@ -48,7 +43,7 @@ func NoticeAllSymbolByStrategy() {

logs.Info("offsetId: ", offsetId)
var coins []*models.Symbols
coins, err = getSymbols(offsetId) // 按照顺序 10 个币
coins, err := getSymbols(offsetId) // 按照顺序 10 个币
if err != nil {
logs.Error("NoticeAllSymbolByStrategy:", err.Error())
return
Expand Down Expand Up @@ -141,27 +136,22 @@ func NoticeAllSymbolByStrategy() {
}

// 检查测试中的币当前是否应该平仓
func CheckTestResults() {
systemConfig, err := utils.GetSystemConfig()
if err != nil {
logs.Error("GetSystemConfig:", err.Error())
return
}
func CheckTestResults(systemConfig models.Config) {
if (systemConfig.FutureTest == 1) {
if (FuturesTestNotice == 0) {
logs.Info("futures all symbol notice_strategy bot start")
FuturesTestNotice = 1
}
} else {
if (flagFuturesNotice == 1) {
if (FuturesTestNotice == 1) {
logs.Info("futures all symbol notice_strategy bot end")
FuturesTestNotice = 0
}
return
}

var results []*models.TestStrategyResults
_, err = orm.NewOrm().QueryTable("test_strategy_results").Filter("close_price", "0").All(&results)
_, err := orm.NewOrm().QueryTable("test_strategy_results").Filter("close_price", "0").All(&results)
if err != nil {
logs.Error("get test_strategy_results error:", err.Error())
return
Expand Down
Loading

0 comments on commit 8bd5bb9

Please sign in to comment.