gate_futures note
1、目前GateIO 只有永续合约 合约 ,在发明者量化交易平台上exchange.SetContractType函数设置合约时为swap,不设置默认为 swap 。
2、一张合约价值是 1美元。
3、结算货币为 BTC ,计价货币为 USD
4、一种合约下,只能有一个仓位,不能同时持有多空仓位。
5、根据 杠杆 有全仓/逐仓 模式,杠杆值设置 0 即为全仓模式
exchange.SetMarginLevel(0) // 设置杠杆接口会调用 交易所API,不设置杠杆,默认交易所网页上设置的杠杆值。
6、一些接口:
保证金变更接口,变更保证金,返回新的 合约持仓信息。 POST /futures/positions/{contract}/margin
修改杠杆接口 POST /futures/positions/{contract}/leverage
修改风险 限制 接口 POST /futures/positions/{contract}/risk_limit
如需直接调用交易所接口,使用 exchange.IO
例如:
var ret = exchange.IO("api", "POST", "/api/v4/futures/price_orders", 'initial={"contract":"ETH_USD","size":1,"price":"100","close":false,"tif":"gtc","text":"web"}&trigger={"strategy_type":0,"price_type":0,"price":"3000","rule":1,"expiration":86400}' )
详细exchange.IO的使用参看API 文档: https://www.fmz.com/api#IO
7、GATE IO 期货 API 只能查询到挂出的订单,取消的查询不到。网页下的单子撤销,在GET /futures/orders status=finished 可以查询到。
8、交易所接口返回的原始数据中订单状态 分为 open 和 finished , 只有 是 finished 状态的订单才有另外两个 属性, finish_as 、 finish_time
9、查询持仓接口返回的数据中没有当前持仓时,平仓挂单使持仓冻结的量。需要调用 获取挂单信息接口获取挂单数量,并且平仓数量可以超过持仓数量。 因此,调用 GetPosition 时,会调用查询持仓的接口 和 查询当前挂单的接口,这样才能计算出 FrozenAmount 的数值。 需注意该接口的调用频率。
10、发明者量化交易平台 默认 交易方向为 开多仓,即默认为 exchange.SetDirection(“buy”) 状态,下单方向优先根据 exchange.Buy / exchange.Sell 而定。 例如:
exchange.SetDirection("buy")
var id = exchange.Sell(-1, 1)
这样不会开多仓,这样会开空仓,或者平多仓。 原因是 GateIO 合约交易 ,设计类似于现货,所以实际调用时以 exchange.Sell / exchange.Buy 方向而定。 并且平仓数量可以超过 持仓数量,超过部分即为重新开出的反向仓位。
17732164739 orderId = exchange.IO("api", "POST","/api/v4/futures/btc/orders", { "contract": "BTC_USD", "price": price2, "size": 1, // 添加 size 参数 "amount": n, "direction": "short", "offset": "open", "lever_rate": 100, "order_type": "conditional", "trigger_price":price2, "order_price_type": "limit", "time_in_force": "gtc" });这个gate.io的条件委托代码对吗,我写的空单,实盘怎么是多单的普通委托呢,求梦总解惑
发明者量化-小小梦 这个要看下交易所文档上的描述。
17732164739 ret = exchange.IO("api", "POST", "/api/v4/futures/price_orders", 'initial={"contract":"ETH_USD","size":1,"price":"100","close":false,"tif":"gtc","text":"web"}&trigger={"strategy_type":0,"price_type":0,"price":"3000","rule":1,"expiration":86400}' )梦总,您这个条件委托的代码,为什么只能触发价格必须大于最新价格呀
发明者量化-小小梦 这个接口应该就是普通订单接口,例如价格触发订单是这个接口:POST /futures/{settle}/price_orders 具体可以查看交易所文档:https://www.gate.tv/docs/developers/apiv4/zh_CN/#%E5%88%9B%E5%BB%BA%E4%BB%B7%E6%A0%BC%E8%A7%A6%E5%8F%91%E8%AE%A2%E5%8D%95-2
17732164739 梦总好,这个不知道为什么是普通委托不是条件委托
发明者量化-小小梦 amount传负数,看了下GATE的文档,应该是通过这个负数指定做空的。