Golang实现的Bitfinex API机器人:如何添加Flags
Golang实现的Bitfinex API机器人:如何添加Flags 你好,我从未在 Go 语言中做过任何事情。想学习这门语言,但需要在短时间内让这个项目运行起来。 github 项目 bitfinex api 文档
在 GitHub 上,你可以看到一个文件 cascadebot.go,我需要在其中实现一个关于 Flag 的信息,即 HIDDEN(信息来自 bitfinex api 文档的链接)。我之前使用 API 只是为了在 PHP 中获取信息,从未发送过任何东西,对于 Go 语言我完全没有经验。如果我理解正确,对于 HIDDEN=1,Flags 的值应该是 int64。但我不太确定具体如何以及在代码的哪个位置写入这个值。
请问有人能帮我解决这个问题吗?非常感谢。
更多关于Golang实现的Bitfinex API机器人:如何添加Flags的实战教程也可以访问 https://www.itying.com/category-94-b0.html
哪个请求需要这个标志?
更多关于Golang实现的Bitfinex API机器人:如何添加Flags的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html
我最终从头开始,以 JavaScript/Node.js 的方式完成了它。这个机器人已经存在多年,使用的是没有 flags 选项的旧 API 版本。
在 cascadebot.go 文件中,你需要修改 submitFundingOffer 函数中的 FundingOffer 结构体初始化部分。根据 Bitfinex API 文档,flags 字段用于设置订单类型,其中 HIDDEN=1 表示隐藏订单。
以下是具体的代码修改示例:
// 在 submitFundingOffer 函数中找到创建 FundingOffer 的地方
offer := bitfinex.FundingOffer{
Type: "LIMIT",
Symbol: symbol,
Amount: amount,
Rate: rate,
Period: int(period),
Flags: 1, // 添加这一行,设置 HIDDEN 标志
}
如果你需要同时设置多个标志,可以使用位运算组合。例如同时设置 HIDDEN 和 POSTONLY:
offer := bitfinex.FundingOffer{
Type: "LIMIT",
Symbol: symbol,
Amount: amount,
Rate: rate,
Period: int(period),
Flags: 1 | 4096, // HIDDEN=1, POSTONLY=4096
}
如果你需要动态控制这个标志,可以添加一个配置参数:
// 在配置结构体中添加
type Config struct {
// ... 其他配置
HiddenOrder bool `json:"hidden_order"`
}
// 在 submitFundingOffer 函数中
flags := int64(0)
if config.HiddenOrder {
flags |= 1
}
offer := bitfinex.FundingOffer{
Type: "LIMIT",
Symbol: symbol,
Amount: amount,
Rate: rate,
Period: int(period),
Flags: flags,
}
注意:Bitfinex API 的 flags 字段是 int64 类型,不同的标志对应不同的位值。HIDDEN 标志的值为 1。

