GateIO 期货 使用汇总

Author: 小小梦, Created: 2019-04-28 13:17:00, Updated: 2019-04-28 13:38:09

GateIO 期货 使用汇总

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 方向而定。 并且平仓数量可以超过 持仓数量,超过部分即为重新开出的反向仓位。

需要更新托管者

需要更新托管者


More

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的文档,应该是通过这个负数指定做空的。