Type/to search
0
Follow
0
Followers
AEX ایکسچینج WSS ایشو
Help
Created 2020-03-20 20:51:12  
 25
 1670

AEX میں نے تمام دستاویزی طریقوں کی کوشش کی لیکن WSS سے ڈیٹا حاصل نہیں کیا جا سکا۔ ڈیٹا خالی تھا۔ JSON کے ذریعے اس کی تلافی کی جا سکتی ہے۔ میں بنیادی طور پر نیا ہوں، ایک دن سے تھکا ہوا ہوں۔ میں چاہتا ہوں کہ کوئی ماہر مجھے بتائے۔ بہت شکریہ!
AEX ایکسچینج WSS دستاویزات
https://github.com/aextech/websocket-api-doc/blob/master/README.md

Related Recommendations
Comment
All comments (25)

    看教程要仔细,例子有很多,另外应该需要海外托管者

    6 years ago

    img

    6 years ago

    测试了一下可以

    function main() { var client = Dial("wss://api.aex.zone/ws/v1"); client.write('{"cmd": {"type": 2},"type": 1,"pairs": [{ "market": "cnc", "coin": "btc" }]}') while (true) { var msg = client.read() var data = JSON.parse(msg) //把json字符串解析为可引用的object Log(data) // 处理data数据 } }
    6 years ago

    无法提取bids数组中的对象 var bids = data.bids[0] 报错 TypeError: cannot read property 0 of undefined at main (FILE:9)
    exchange.GetDepth(); 获取的深度数据都可以

    6 years ago

    先判断if('bids' in data),刚开始可能会返回其他数据,进阶教程里这种例子很多

    6 years ago

    function main() {
    var client = Dial("wss://api.aex.zone/ws/v1|reconnect=true");
    client.write('{"cmd": {"type": 2},"type": 1,"pairs": [{ "market": "cnc", "coin": "eth" }]}')
    while (true) {
    var msg = client.read();
    var data = JSON.parse(msg)
    var type = data.cmd.type
    if (type === 1) {
    var CNCBuy = data.bids[0].price
    var CNCBuyamount = data.bids[0].amount
    var CNCSell = data.asks[0].price
    var CNCSellamount = data.asks[0].amount
    }
    Log(CNCBuy)
    /无法跨域调用变量 而且如果关注多个交易对 还需要判断其它条件才能筛选数据 涉及到后续的交易逻辑判断 需要跨域的变量就更多了 更复杂了 搞了一天了 好累啊/
    }
    }

    6 years ago

    没那么复杂,在main函数之前设置个全局变量 data = {btc:{buy:0,buyamout:0},eth:{buy:0,buyamout:0}}类似的结构

    6 years ago

    程序偶尔会出错提示:SyntaxError: invalid json (at offset 1) at main (FILE:27) 并中断
    根据错误提示应该是 client.read() 获取的data数据出错了 JSON无法处理 我这样写容错可以吗?
    var data = JSON.parse(msg)
    if (!data) {
    data = JSON.parse(msg)
    }

    6 years ago

    可以试试,也可以用try catch 把错误的消息打出来看看

    6 years ago

    try {
    data = JSON.parse(msg)
    }
    catch (err) {
    Log(err.message)
    }
    是这样的吗?

    6 years ago

    可以

    6 years ago

    哈哈 我明白了 是在判断语句后 把获取的data数据赋值给全局变量data对应的对象是吧?

    6 years ago

    抱歉没看懂 设置这个全局变量 data 是干什么用的? data变量的结构对应的是什么?

    6 years ago

    储存数据的,可以理解为字典结构(实际是object)

    6 years ago

    用你说的方法搞定了 把我以前REST API的策略改成了 WSS API了 正在跑 就看是否稳定了 真的非常感谢您 您真的太有耐心了 您教会了我很多 再次感谢!

    6 years ago

    看了论坛进阶教程了吗,有介绍如何连接

    6 years ago

    我又根据教程和文档试了 其它的发送命令的都可以 但是获取获取深度数据不需要发送命令 不知道怎么弄

    6 years ago

    是不是要先关注交易对

    6 years ago

    原来是这样啊 帮了我大忙 非常感谢(鞠躬)AEX官方的文档写的是真的垃圾 说的不明不白的

    6 years ago

    看了 用Dial 其它的交易所可以链接也可以获取返回数据 AEX可以链接但是返回数据是空的 也无法用JSON处理 我不知道问题出在哪里

    6 years ago

    你发送请求了吗

    6 years ago

    发送请求的都可以 但是深度数据不需要发送数据 文档上说的链接上后就会返回深度数据

    6 years ago

    检查一下是不是没有更新,都Log出来

    6 years ago

    Log出来的要不是空白 要不就是{} 没有深度数据 文档上也没说数据是压缩的啊
    function main() {
    var client = Dial("wss://api.aex.zone/ws/v1")
    var msg = client.read()
    //var data = JSON.parse(msg)
    Log(client)
    Log(msg)
    //Log(data)
    }
    client 为空白 msg 为{} 用JSON.parse处理就出错

    6 years ago

    Log出来的要不是空白 要不就是{} 没有深度数据 文档上也没说数据是压缩的啊

    6 years ago
  • 1
Forums
PINE Language
Get the app
iPhone Download
© 2015 - ∞ INVENTOR PTE LTD (SG)