Type/to search

OKX&Binance Websocket高頻取引テンプレート (多銘柄)

Template
Created: 2022-12-27 15:37:42
Last modified: 3 years ago
12
Follow
656
Followers

実装機能:

  • 公開ストリーム購読、tradesおよび板情報合成
  • プライベートストリーム購読、ローカルの注文・ポジション・残高情報を管理
  • 取消注文タイムアウト状態の管理、OKXのamendOrdersによる注文変更をサポート
  • 複数銘柄に対応し、高頻度戦略が最低遅延で複数マーケットを同時操作可能
  • 関数 EventLoop(最新のホストプログラムが必要)を追加。この関数は複数のWebSocket接続時、任意のWebSocketデータ返却を待機でき、ポーリングを回避する
  • OKXおよびBinanceの先物、Binanceの現物・レバレッジ取引に対応。OKXの現物は未対応だが、興味があれば自身で変更可能
  • OKXのプライベートストリーム購読にはキーとパスワードが必要で、テンプレート内にパラメータとして記述済み
  • 切断時の自動再接続など基本的なネットワーク機能を実装
  • プライベートストリームにおける注文約定・取消コールバックのイベント対応
  • 両取引所の注文ロジックを統一。詳細はテンプレートのソースコードまたはサンプルを参照
  • 複数取引所のWebSocketインターフェース同時購読に対応
  • 注文の訂正・削除をバッチでタスクとして返却可能。取引タスクを自動処理

高頻度発注時、取引所からの注文返却が遅延することがある(privateチャネル)。その間にも相場が変化している可能性があるため、ローカルで注文状態を管理する必要がある。本戦略はこれを実現しており、
テンプレートは自動的にOKXかBinanceかを識別する。以下は簡単なサンプル。ソースコードを読むことを強く推奨。より深いカスタマイズが可能となる。

以下は簡単な例

function onTick(ctx, event) { if (event.depth) { Log("depth update", event) } if (event.trades) { Log("trades received", event) } if (event.balance
Source
JavaScript

/* jshint esversion: 6 */
// AccessKey and Phassphrase only need if OKX
$.NewWSS = function(e, onWSSLogin, onWSSTick, Debug, UseMargin, AccessKey, Passphrase) {
    function NewOKXWebSocketPrivate(ctx) {
        let self = {
            ws: null,
            isReadyDic: {},
            lastPing: 0,
            ctx: ctx,
            account: {
                orders: {},
Comment
All comments (10)

    好顶赞

    2 years ago

    Invalid request: request ID must be an unsigned integer报错不能跑了,

    3 years ago

    再试一下,可以了,币安订阅的ID是数字才可以导致的

    3 years ago

    Invalid request: request ID must be an unsigned integer ID格式好像有问题了

    3 years ago

    有没有显示出错行OK还是Binance ?

    3 years ago

    binance合约报错信息Invalid request: request ID must be an unsigned integer 没有出错行 img

    3 years ago

    Debug这个设置false和true分别代表什么意思

    3 years ago

    能不能简单说下EventLoop函数的执行逻辑,我看api文档立面没有相关介绍

    4 years ago

    晚些会加到文档里去

    4 years ago

    Zero总牛🍺

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