Type/to search

WebSocket تیز رفتار ڈرائیور

Template
Created: 2024-10-24 18:11:09
Last modified: 7 months ago
12
Follow
658
Followers

ویب سوکیٹ پر مبنی ریئل ٹائم مارکیٹ ڈیٹا ایکسلریشن ٹیمپلیٹ لائبریری

تفصیل:

یہ حکمت عملی متعدد ایکسچینجز کے ریئل ٹائم ڈیٹا پروسیسنگ کو ملٹی تھریڈ ویب سوکیٹ کنکشن کے ذریعے بہتر بناتی ہے۔ FMZ کوانٹیٹیٹو ٹریڈنگ پلیٹ فارم میں ویب سوکیٹ کنکشن کا استعمال کرتے ہوئے ڈیپت آرڈر بک اور ٹریڈ ڈیٹا حاصل کیا جاتا ہے، جس سے مارکیٹ ڈیٹا حاصل کرنے میں تاخیر نمایاں طور پر کم ہوتی ہے اور ہائی فریکوئنسی ٹریڈنگ سسٹم کی کارکردگی بہتر ہوتی ہے۔

اہم خصوصیات:

  • متعدد ایکسچینجز کی حمایت: یہ حکمت عملی بائننس، OKX، Bybit، Bitget سمیت متعدد ایکسچینجز کے ویب سوکیٹ کنکشن کو سپورٹ کرتی ہے، جو روایتی REST API پولنگ کے مقابلے میں تیز اور زیادہ مستحکم ڈیٹا سٹریم فراہم کرتی ہے۔
  • قابل تخصیص سبسکرپشن: مخصوص مارکیٹ چینلز (جیسے ڈیپت، ٹریڈز وغیرہ) کو سبسکرائب کرنے اور موصولہ ڈیٹا کو مؤثر طریقے سے پروسیس کرنے کی اجازت دیتی ہے، جسے ٹریڈنگ حکمت عملی فوری طور پر استعمال کر سکتی ہے۔
  • اعلیٰ درجے کی غلطیوں کا انتظام: بلٹ ان ایرر ٹریکنگ اور ویب سوکیٹ دوبارہ کنیکٹ کرنے کا طریقہ کار ڈیٹا سٹریم کی قابل اعتمادی اور تسلسل کو یقینی بناتا ہے۔
  • CRC32 چیک سم: OKX جیسے ایکسچینجز کے لیے CRC32 چیک سم فنکشن شامل کیا گیا ہے تاکہ موصولہ آرڈر بک ڈیٹا کی سالمیت کو یقینی بنایا جا سکے۔

یہ ویب سوکیٹ پر مبنی حل روایتی API پولنگ کی جگہ لے لیتا ہے اور ان تاجروں کے لیے موزوں ہے جنہیں کم سے کم تاخیر اور مارکیٹ کے زیادہ سے زیادہ جوابی وقت کی ضرورت ہوتی ہے۔

استعمال کا طریقہ:

  1. ابتدائی ترتیب: $.setupWebsocket() کا استعمال کرتے ہوئے ہدف ایکسچینج کے لیے ویب سوکیٹ کنکشن شروع کریں۔
  2. سبسکرپشن: سسٹم آپ کی تجارت کے لیے منتخب کردہ مصنوعات کے لیے خود بخود متعلقہ چینلز (جیسے ڈیپت، ٹریڈز وغیرہ) سبسکرائب کرے گا۔
  3. ڈیٹا حاصل کرنا: GetDepth() اور GetTrades() فنکشنز کو کال کرکے، ویب سوکیٹ ریئل ٹائم ڈیٹا کا استعمال کرتے ہوئے مارکیٹ ڈیپت اور ٹریڈ ریکارڈز حاصل کریں۔
  4. غلطیوں کا انتظام: حکمت عملی میں کنکشن اور ڈیٹا کی غلطیوں کو ریکارڈ کرنے کا ایک ٹریکنگ میکانزم شامل ہے، اور کنکشن منقطع ہونے پر خود بخود دوبارہ رابطہ کرنے کی کوشش کرتا ہے۔

یہ سکرپٹ FMZ کوانٹیٹیو پلیٹ فارم پر چلانے کے لیے ڈیزائن کیا گیا ہے، جو متعدد ایکسچینجز کے لیے تیز، قابل اعتماد اور قابل توسیع مارکیٹ ڈیٹا تک رسائی فراہم کرتا ہے۔

javascript
function main() { $.setupWebsocket() while (true) { exchanges.map(e=>{ Log(e.GetName(), e.GetDepth()) Log(e.GetName(), e.GetTrades()) // support custom and auto subscribe Eg: e.GetDepth('ETH_USDT') }) EventLoop(100) // trigger by websocket or use Sleep control delay } }
Source
JavaScript
// @ts-check

$.setupWebsocket = function (main_exchanges) {
    let crc32 = function (r) {
        for (var a, o = [], c = 0; c < 256; c++) {
            a = c;
            for (var f = 0; f < 8; f++) a = 1 & a ? 3988292384 ^ a >>> 1 : a >>> 1;
            o[c] = a
        }
        for (var n = -1, t = 0; t < r.length; t++) n = n >>> 8 ^ o[255 & (n ^ r.charCodeAt(t))];
        return (-1 ^ n) >>> 0
    }
Comment
All comments (4)

    Warning: __Thread is deprecated. Please use threading.Thread instead.
    麻烦能否更新到threading.Thread的版本?

    7 months ago

    已更

    7 months ago

    大佬动作好快,能否加上获取K线的代码呢?感激不尽!

    7 months ago

    K线没有做websocket这个完全没必要最后一根闭合了才生效

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