gateio / WebSocket-API

gateio WebSocket-API
56 stars 32 forks source link

现货order.update频道疑问 #10

Closed milabobo closed 4 years ago

milabobo commented 4 years ago

response:

id Integer orderid
market String market
user Integer user id
ctime Float ctime
mtime Float mtime
price String price
amount String amount
left String left
dealFee String deal fee
orderType Integer order type, 1: limit, 2: market
type Integer type, 1: sell, 2: buy
filledAmount String filled amount
filledTotal String filled total

这个mtime是什么时间,我猜是订单的修改时间,但是我在测试的时候,发现一个订单结束之后,这个时间和系统当前时间差的很大,有几十秒,也有的只有几百毫秒

revilwang commented 4 years ago

订单的最近一次成交或者取消时间,不知道您的比较逻辑是怎么做的?正常情况下,收到WebSocket的update推送,它的时间应该跟当前时间差距很小的

milabobo commented 4 years ago

@revilwang 我下了一个EOS_USDT的现货买单,订阅了order.update频道,第一次收到订阅的推送是

{
    "method": "order.update",
    "params": [
        1,
        {
            "id": 9949465265,
            "market": "EOS_USDT",
            "tif": 1,
            "user": "xxx",
            "ctime": 1584590592.063577,
            "mtime": 1584590592.063577,
            "price": "1.6",
            "amount": "5",
            "iceberg": "0",
            "left": "5",
            "deal_fee_rebate": "0",
            "deal_point_fee": "0",
            "gt_discount": "0",
            "gt_taker_fee": "0",
            "gt_maker_fee": "0",
            "deal_gt_fee": "0",
            "lastFilledAmount": "0",
            "lastFilledTotal": "0",
            "orderType": 1,
            "type": 2,
            "dealFee": "0",
            "filledAmount": "0",
            "filledTotal": "0"
        }
    ],
    "id": null
}

ps: user_id我替换掉了 params数组里面的第一个元素1表示这是一个新订单,过了一段时间,这个订单没有任何成交,我手动撤掉,这时收到ws的推送是

{
    "method": "order.update",
    "params": [
        3,
        {
            "id": 9949465265,
            "market": "EOS_USDT",
            "tif": 1,
            "user": "xxx",
            "ctime": 1584590592.063577,
            "mtime": 1584590592.063577,
            "price": "1.6",
            "amount": "5",
            "iceberg": "0",
            "left": "5",
            "deal_fee_rebate": "0",
            "deal_point_fee": "0",
            "gt_discount": "0",
            "gt_taker_fee": "0",
            "gt_maker_fee": "0",
            "deal_gt_fee": "0",
            "lastFilledAmount": "0",
            "lastFilledTotal": "0",
            "orderType": 1,
            "type": 2,
            "dealFee": "0",
            "filledAmount": "0",
            "filledTotal": "0"
        }
    ],
    "id": null
}

请看这条finish信息的ctimemtime,是一样的,都是订单的创立时间,mtime并没有表示是结束时间

revilwang commented 4 years ago

刚刚确认了下,mtime只有成交才更新,撤销时并没有修改这个时间,这个问题会在下个版本修复掉

milabobo commented 4 years ago

@revilwang 好的,谢谢,希望能尽快上线,我们需要监控收到信息的时间和我们本地时间的delay,做监控

revilwang commented 4 years ago

新版本已经上线,有问题可以在该issue里继续反馈

milabobo commented 4 years ago

@revilwang 从监控看,已经正常,谢谢!