Deribit交易所 websocket API 连接范例

Deribit websocket API 连接范例,使用JavaScript语言,策略运行在FMZ发明者量化平台。

源码地址:https://www.fmz.com/strategy/147765

var client = null
var deribitAcc = {}                               // 可以设置个全局对象保存 token 

function WS_GetAccount() {                        // 获取账户 某个币种 的资产信息
    var msg = {
        "jsonrpc": "2.0",
        "id": 2515,
        "method": "private/get_account_summary",
        "params": {
            "currency": "ETH",
            "extended": true
        }
    }

    client.write(JSON.stringify(msg))
    var ret = client.read()
    Log(ret, "#FF0000")
}

function WS_GetToken() {                          // 认证 ,并且获取 token
    var msg = {
        "jsonrpc": "2.0",
        "id": 9929,
        "method": "public/auth",
        "params": {
            "grant_type": "client_credentials",
            "client_id": "XXXXXXX",                             // 申请 API KEY 时获取
            "client_secret": "XXXXXXXXXXXXXXXXXXXXXXXXXX"       // 申请 API KEY 时获取
        }
    }
    while (1) {
        client.write(JSON.stringify(msg))
        var ret = client.read()
        try {
            var jsonObj = JSON.parse(ret)
            if (jsonObj) {
                deribitAcc.accessToken = jsonObj.result.access_token
                deribitAcc.refToken = jsonObj.result.refresh_token
                break
            }
        } catch (e) {
            Log("error:", e)
        }
    }
    Log("更新 deribitAcc accessToken , refToken:", deribitAcc)
}

function WS_Depth() {                                     // 访问 get_order_book 公共 频道,获取 订单薄深度数据
    var msg = {
        "jsonrpc": "2.0",
        "id": 8772,
        "method": "public/get_order_book",
        "params": {
            "instrument_name": "BTC-PERPETUAL",           // 指定,获取 BTC 永续合约的深度数据
            "depth": 5
        }
    }

    client.write(JSON.stringify(msg))
    var ret = client.read()
    Log("depth : ", ret)
}

function main() {
    client = Dial("wss://www.deribit.com/ws/api/v2")
    WS_GetToken()

    WS_GetAccount()
    WS_Depth()

}

function onexit() {
    Log("关闭 ws 连接")
    client.close()
}

  

原文地址:https://www.cnblogs.com/botvsing/p/10984090.html

时间: 2024-10-15 18:01:01

Deribit交易所 websocket API 连接范例的相关文章

WebSocket API HTML5规范翻译(部分)

1.介绍 为了让Web应用能够和服务器进程之间保持双向通信,这里介绍WebSocket接口. 2.一致性要求(略) 3.术语(略) 4.WebSocket接口 (代码略) WebSocket(url, protocols)构造函数可以传入1-2个参数.第一个参宿指定要连接的URL.第二个参数如果声明,可以是一个字符串或者是一个字符串数组.如果是一个字符串,它就相当于一个仅包含那一个字符串的数组.如果第二个参数省略,它就相当于一个空数组[也就是说不论第二个参数传入的是什么,都会当作一个字符串数组处

WebSocket API简介

WebSocket是html5新增加的一种通信协议,目前流行的浏览器都支持这个协议,例如Chrome,Safari,Firefox,Opera,IE等等,对该协议支持最早的应该是chrome,从chrome12就已经开始支持,随着协议草案的不断变化,各个浏览器对协议的实现也在不停的更新.该协议还是草案,没有成为标准,不过成为标准应该只是时间问题了,从WebSocket草案的提出到现在已经有十几个版本了,目前最新的是版本17,所对应的协议版本号为13,目前对该协议支持最完善的浏览器应该是chrom

WebSocket 介绍(二)-WebSocket API

这一章介绍如何用WebSocket API来控制协议和创建应用,运用http://websocket.org 提供的现有WebSocket服务器,我们可以收发消息.创建一些简单的WebSocket应用.一步一步的学习使用WebSocket API,最后我们会讨论浏览器的支持度和连通性.这一章的重点是WebSocket 协议在Web客户端的应用,在稍后的章节会介绍WebSocket协议以及其使用环境. 综述: 正如第一章提到的,WebSocket包含网络协议和API,让你能够在客户端和服务端创建W

HTML5 中websocket长连接的具体实现方法

HTML5中通过调用与数据通信相关的Web Socket API,实现从服务器中推送信息到客户端. Socket又称为套接字,是基于W3C标准开发在一个TCP接口中进行双向通信的技术.通常情况下,Socket用于描述IP地址和端口,是通信过程中的一个字符句柄.当服务器端又多个应用服务绑定一个Socket时,通过通信中的字符句柄,实现不同端口对应不同应用服务功能.目前,大部分浏览器都支持HTML5中Socket API的运行. WebSocket连接服务器和客户端,这个链接是一个实时的长连接,服务

HTML5实战与剖析之使用HTML5 WebSocket API

通过引入一个简洁的接口(见下面的清单),开发者可以替代技术,如长轮询和"永远帧,因此进一步降低延迟. 后台代码 [Constructor(in DOMString url, optional in DOMString protocol)] [构造函数(DOMString url,可选DOMString协议)] interface WebSocket { //readonly attribute DOMString URL; //只读的属性DOMString URL; // ready state

Jetty开发指导:Jetty Websocket API

Jetty WebSocket API使用 Jetty提供了功能更强的WebSocket API,使用一个公共的核心API供WebSockets的服务端和client使用. 他是一个基于WebSocket消息的事件驱动的API. WebSocket事件 每一个WebSocket都能接收多种事件: On Connect Event 表示WebSocket升级成功,WebSocket如今打开. 你将收到一个org.eclipse.jetty.websocket.api.Session对象,相应这个O

WebSocket API

这一章介绍如何用WebSocket API来控制协议和创建应用,运用http://websocket.org 提供的现有WebSocket服务器,我们可以收发消息.创建一些简单的WebSocket应用.一步一步的学习使用WebSocket API,最后我们会讨论浏览器的支持度和连通性.这一章的重点是WebSocket 协议在Web客户端的应用,在稍后的章节会介绍WebSocket协议以及其使用环境. 综述: 正如第一章提到的,WebSocket包含网络协议和API,让你能够在客户端和服务端创建W

WebSocket API Reference

订阅 KLine 数据 market.$symbol.kline.$period 成功建立和 WebSocket API 的连接之后,向 Server 发送如下格式的数据来订阅数据: { "sub": "market.$symbol.kline.$period", "id": "id generate by client" } 参数名称 是否必须 类型 描述 默认值 取值范围 symbol true string 交易对  

使用四种框架分别实现百万websocket常连接的服务器

著名的 C10K 问题提出的时候, 正是 2001 年.这篇文章可以说是高性能服务器开发的一个标志性文档,它讨论的就是单机为1万个连接提供服务这个问题,当时因为硬件和软件的**,单机1万还是一个非常值得挑战的目标.但是时光荏苒,随着硬件和软件的飞速发展,单机1万的目标已经变成了最简单不过的事情.现在用任何一种主流语言都能提供单机1万的并发处理的能力.所以现在目标早已提高了100倍,变成C1000k,也就是一台服务器为100万连接提供服务.在2010年,2011年已经看到一些实现C1000K的文章