安装好go环境
# 下载依赖
go mod tidy
go mod download
# 设置自己的ak sk
# 设置自己的飞书告警链接
# 打包
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o app/CreateBuyOrderAPP CreateBuyOrderAPP.go
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o app/CreateSellOrderAPP CreateSellOrderAPP.go
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o app/CancelBuyOrderAPP CancelBuyOrderAPP.go
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o app/UpdateSellOrderAPP UpdateSellOrderAPP.go
# 运行二进制程序
均是实盘交易
func init() {
err := DB.AutoMigrate(&domain.GridSymbolConfig{})
if err != nil {
panic(err)
}
err = DB.AutoMigrate(&domain.GridTrade{})
if err != nil {
panic(err)
}
err = DB.AutoMigrate(&domain.TradeOrder{})
if err != nil {
panic(err)
}
}
ProcessGridTrades 方法里全部使用配置项symbolConfig 删除了参数 grid *domain.Grid
方法调用者中删除了newGrid()
step2: 调用 GetTrades 的地方直接使用了 ProcessGridTrades 删除了 GetTrades
step3: ProcessGridTrades 频繁调用 使用了sync.Once 保证只执行一次
关于代码修改:大致读完了4个app的流程并顺手改了些代码 其中有一些是运行逻辑问题 但大部分只是个人习惯...
改动比较大 不一定对 可能也有我理解不到位的地方 如果有问题还望指出
关于策略: 看了代码后对网格的理解更进了一步 大致的理解是:
在一定价格区间内 按照等百分比划定区间
价格触发区间下限的时候买入 若成功则挂一个区间上限价格的卖出单
优点:价格上下波动时有部分可观收益
缺点:遇到单边行情 损失会比较大
关于改进:
对于网格打算将基础货币由busd改为任意币种 比如做eth和btc间的
将增加多币种的动态平衡策略