Deribit交換用WebSocket APIの接続例

DeribitのWebSocket APIの接続例では、JavaScript言語を使用して、ポリシーがFMZ発明の定量化プラットフォームで実行されます。

送信元アドレス:https://www.fmz.com/strategy/147765

 

クライアントヌル= VARの
VARのderibitAcc = {} //グローバルオブジェクトを保存トークンを設けてもよい

(機能WS_GetAccountを){//通貨アカウントの資産情報を取得
    するvar MSG = { 
        "JSONRPC": "2.0"、
        "ID"を: 2515 
        "方法": "プライベート/ get_account_summary"、
        "paramsは":{ 
            "通貨": "ETH"、
            "拡張":真へ
        } 
    } 

    client.write(JSON.stringify(MSG))
    のvar RET = client.read( )
    ログ(RET、 "#FF0000の") 
} 

関数WS_GetToken(){//認証、およびトークンを取得
    するvar MSG = { 
        "JSONRPC": "2.0"、 
        "ID":9929を
        "メソッド": "パブリック/ AUTH"、
        "のparams":{ 
            "grant_type": "client_credentials"、
            "CLIENT_ID": "XXXXXXX"、//申请APIキーの时获取
            "client_secret": "XXXXXXXXXXXXXXXXXXXXXXXXXX" //申请APIキー时获取
        } 
    } 
    ながら(1){ 
        client.write(JSON.stringify(MSG))
        のvar RET = client.read()
        {試みる
            VAR jsonObj = JSON.parse(RET)
            (jsonObj)であれば{ 
                deribitAcc.accessToken = jsonObj。 result.access_token 
                deribitAcc.refToken = jsonObj.result。refresh_token 
                ブレーク
            } 
        }キャッチ(E){ 
            ログ( "エラー"、E)
        } 
    } 
    ログ( "更新accessToken deribitAcc、refToken:"、deribitAcc)
} 

関数WS_Depth(){// get_order_bookパブリックアクセスチャネルは、注文を得るために薄い深さデータ
    VaRのMSG {= 
        "JSONRPC": "2.0"、
        "ID":8772、
        "方法": "パブリック/ get_order_book"、
        "paramsは":{ 
            "INSTRUMENT_NAME": "BTC-永久"、//は、持続可能な契約がBTCを得る指定深度データ
            "深さ" :. 5 
        } 
    } 

    client.write(JSON.stringify(MSG))
    のvar RET =クライアント。read()は
    :ログ(RET "深さ")
} 

メイン関数(){
    クライアントは=ダイヤル( "WSS://www.deribit.com/ws/api/v2")
    WS_GetToken()

    WS_GetAccount()
    WS_Depth()

} 

関数のフォーカス喪失時(){ 
    ログ( "关闭WS连接")
    client.close()
}

  

おすすめ

転載: www.cnblogs.com/botvsing/p/10984090.html