وسائل لوڈ ہو رہے ہیں... لوڈنگ...

ڈی ای ایکس ایکسچینج کی مقدار سازی کی مشقیں ((2) -- Hyperliquid استعمال کرنے کا رہنما

مصنف:ایجاد کاروں کی مقدار - خواب, تخلیق: 2025-01-15 13:43:15, تازہ کاری: 2025-01-15 17:08:49

[TOC]

DEX交易所量化实践(2)– Hyperliquid 使用指南

پیش گوئی

حالیہ دنوں میں، ایف ایم زیڈ پلیٹ فارم نے ہائپر لیکوڈ ڈی ای ایکس کے اعلی کارکردگی والے غیر جانبدار تبادلے کی حمایت میں اضافہ کیا ہے، جس سے صارفین کو غیر جانبدار تجارت میں حصہ لینے کے لئے مزید اختیارات فراہم کیے گئے ہیں۔ فی الحال، ایف ایم زیڈ پلیٹ فارم کے مینیجر کی خصوصیات کو مکمل طور پر اپ ڈیٹ کیا گیا ہے، جو ہائپر لیکوڈ کے فوری اور مستقل معاہدے کی تجارت کی حمایت کرتا ہے اور ڈی ای ایکس کے تمام API کی خصوصیات کو ڈھکتا ہے۔

Hyperliquid پلیٹ فارم کا تعارف

Hyperliquid ایک اعلی کارکردگی والا L1 بلاکچین ہے جو شروع سے ہی بہتر بنایا گیا ہے ، جس کا وژن ایک مکمل طور پر منسلک اوپن فنانشل سسٹم کی تعمیر ہے۔ صارفین کو موثر مقامی اجزاء کے ساتھ تعامل کرکے آزادانہ طور پر ایپلی کیشنز بنانے کی اجازت دیتا ہے ، جبکہ اختتامی صارف کے تجربے کو ہموار بناتا ہے۔

Hyperliquid L1 کی کارکردگی ایک غیر مجاز مالیاتی ایپلی کیشنز ماحولیاتی نظام کی حمایت کرنے کے لئے کافی ہے۔ تمام احکامات، واپسی، لین دین اور تصفیہ مکمل طور پر شفاف طریقے سے چین پر مکمل ہوتے ہیں، بلاک تاخیر 1 سیکنڈ سے کم ہے۔ فی الحال، چین فی سیکنڈ 100،000 احکامات تک کی پروسیسنگ کی صلاحیت کی حمایت کرتا ہے۔

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

ہم امید کرتے ہیں کہ اس گائیڈ سے آپ کو FMZ پلیٹ فارم پر Hyperliquid DEX کے ساتھ تیزی سے منظم اور مقداری تجارت کرنے میں مدد ملے گی اور اس سے زیادہ تجارت کے مواقع تلاش کرنے میں مدد ملے گی۔

عملی مواد

REST پروٹوکول - کام کرنے والے انٹرفیس کی مشقیں۔ - ٹرانزیکشن انٹرفیس کی مشقیں (آرڈر کرنا ، منسوخ کرنا) ؛ - ٹرانزیکشن سے متعلق پوچھ گچھ کی مشقیں (اکاؤنٹ ، آرڈر) ۔ - دیگر افعال ((نقد ، معاہدہ کی منتقلی ، خزانہ تک رسائی ، اثاثوں کو بٹوے میں منتقل کرنا وغیرہ) ]]

ویب ساکٹ پروٹوکول - تبادلہ خیال کی معلومات کی رکنیت کی مشق (ریسٹ انٹرفیس میں کوئی تجارت انٹرفیس نہیں ہے ، ویب سوکٹ انٹرفیس کے ساتھ مکمل)


ہائپر سیال

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

ایف ایم زیڈ پلیٹ فارم کے ایکسچینج شامل کرنے کے صفحے پر ، ہائپر لیکویڈ فوری ، فیوچر ایکسچینج اشیاء کو تشکیل دیا جاسکتا ہے۔

https://www.fmz.com/m/platforms/add

DEX交易所量化实践(2)– Hyperliquid 使用指南

  • ماحولیاتی تقسیم ہائپر لیکویڈ کے پاس ایک ٹیسٹنگ ماحول بھی ہے جیسا کہ زیادہ تر ایکسچینجز کے ساتھ ہوتا ہے۔

    • ایپلی کیشن کا پتہ:

    https://app.hyperliquid.xyz

    اس کے علاوہ ، ہم نے اس ویب سائٹ کو ایک بار پھر استعمال کیا ہے ، اور اس کے بارے میں مزید معلومات حاصل کرنے کی کوشش کر رہے ہیں۔ REST پروٹوکول API انٹرفیس کے لئے متعلقہ نوڈس ایڈریس:https://api.hyperliquid.xyz◄ اس کے علاوہ، یہ بھی مختلف ہے کہ کس طرح دستخط کرنے کے بارے میں معلومات:source == "a"chainId = 42161

    • ٹیسٹ نیٹ کا اے پی پی ایڈریس:

    https://app.hyperliquid-testnet.xyz

    ٹیسٹنگ نیٹ ورک اکثر بند ہوجاتا ہے ، لیکن صرف ٹیسٹنگ انٹرفیس کے طور پر استعمال ہوتا ہے ، جو DEX پر تجارتی افعال سے واقف ہے۔ REST پروٹوکول API انٹرفیس کے لئے متعلقہ نوڈس ایڈریس:https://api.hyperliquid-testnet.xyz◄ اس کے علاوہ، یہ بھی مختلف ہے کہ کس طرح دستخط کرنے کے بارے میں معلومات:source == "b"chainId = 421614

بٹوے کا رابطہ، لاگ ان اور ترتیب

جیسا کہ زیادہ تر ڈی ای ایکس ایکسچینجز میں والیٹ سے منسلک ہوتا ہے ، والیٹ اے پی پی کا استعمال کرتے ہوئے دو جہتی کوڈ کو ہائپر لیکویڈ سے جوڑنا ممکن ہے (والٹ کو آربٹرم میں تبدیل کرنا ، اسکین لاگ ان ، ٹیسٹنگ نیٹ ورک ، ہوم نیٹ ورک) ۔

  • بٹوے Hyperliquid سے جڑے ہوئے ہیں

DEX交易所量化实践(2)– Hyperliquid 使用指南

  • ٹیسٹ نیٹ ٹونٹی (USDC اثاثوں کی جانچ پڑتال میں چھلانگ)

اگر آپ پہلے ٹیسٹ نیٹ سے واقف ہونے کے خواہشمند ہیں تو ، آپ اپنے بٹوے کو Hyperliquid سے مربوط کرنے کے بعد ، براہ راست Hyperliquid کے صفحے پر نل تلاش کرسکتے ہیں۔

DEX交易所量化实践(2)– Hyperliquid 使用指南

ٹیسٹنگ اثاثے حاصل کرنے کے بعد ، ٹیسٹنگ کے لئے یو ایس ڈی سی حاصل کرنے کے بعد ، آپ Hyperliquid میں "ڈپازٹ" کے بٹن پر کلک کرکے جمع کر سکتے ہیں۔ (آربیٹرم ٹیسٹنگ نیٹ ، بہتر ہے تھوڑا سا ETH) ۔

  • مرکزی نیٹ ورک نے امریکی ڈالر کے اثاثوں میں دھماکہ کیا

اس کے بعد ، آپ کو اپنے اکاؤنٹ میں ای ٹی ایچ کی رقم جمع کروانے کی ضرورت ہوگی۔

  • ایجنٹ والیٹ کی تشکیل

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

Hyperliquid کے API صفحے پر مطلوبہ ایجنٹ والیٹ ایڈریس اور اس کے مطابق نجی کلید بنائی جاسکتی ہے۔

DEX交易所量化实践(2)– Hyperliquid 使用指南

DEX交易所量化实践(2)– Hyperliquid 使用指南

  • اس کے علاوہ ، ہم نے ایک اور ایجنٹ کو بھی شامل کیا ہے جو اس کے بارے میں سوچ رہا ہے۔

  • 2، پتے اور نجی چابیاں پیدا کریں۔

  • 3، ہائپر لیکویڈ سے منسلک والیٹ کا استعمال کرتے ہوئے ایجنٹ والیٹ کو اجازت دینا۔

  • ایف ایم زیڈ پر ایجنٹ والیٹ ایڈریس، پرائیویٹ کلید کو ترتیب دیں

اس کے بعد یہ معلومات ایف ایم زیڈ پلیٹ فارم پر تشکیل دی جاسکتی ہیں۔

https://www.fmz.com/m/platforms/add

  • Wallet Address: Hyperliquid سے منسلک والیٹ ایڈریس (نوٹ، یہ ایک ایجنٹ والیٹ ایڈریس نہیں ہے) ۔
  • Wallet PrivateKey: Hyperliquid سے منسلک والیٹ کی نجی کلید ((ضروری نہیں ، صرف اس وقت ضروری ہے جب API جیسے ٹرانسفر کو کال کرنے کی ضرورت ہو ، خالی چھوڑ دیا جاسکتا ہے)) ۔
  • خفیہ کلید: ایجنٹ والیٹ کی نجی کلید ((پہلے مرحلے میں ایجنٹ والیٹ تیار کرنے کے بعد ، اجازت نامہ کے بعد ظاہر ہونے والی نجی کلید) ؛

ایف ایم زیڈ پر ہائپر لیکویڈ پریکٹس

ایکسپورٹ کی شے کی تشکیل کے لئے معلومات کی ضرورت ہے:

  • Wallet Address صارف کی ٹرانزیکشن وغیرہ کے لئے معلومات کی تلاش کے لئے استعمال کیا جاتا ہے
  • Wallet PrivateKey ٹرانسفر، تقسیم وغیرہ کے لئے استعمال کیا جاتا ہے
  • خفیہ کلید۔ لین دین سے متعلقہ کارروائیوں کے لیے۔

ایک بار جب ہم اپنی مرضی کے مطابق تشکیل دے چکے ہیں تو ہم اسے ایف ایم زیڈ پلیٹ فارم پر آزما سکتے ہیں ، اور ہم براہ راست ایف ایم زیڈ پلیٹ فارم کے "ڈیبگنگ ٹول" کا استعمال کرتے ہوئے اسے آزما سکتے ہیں۔

https://www.fmz.com/m/debug

اگر آپ Hyperliquid Exchange کا استعمال کر رہے ہیں جس میں ٹیسٹ نیٹ ورک کی معلومات کی تشکیل کی گئی ہے تو ، اس کا استعمال کرتے وقت کچھ سوئچ آپریشن کرنے کی ضرورت ہوگی ، جیسے:

function main() {
    // REST协议API地址切换到测试网
    exchange.SetBase("https://api.hyperliquid-testnet.xyz")

    // source : a 主网 , b 测试网
    exchange.IO("source", "b")

    return exchange.GetAccount()
}

ہائپر لیکویڈ ڈی ای ایکس ایکسچینج میں موجودہ اور مستقبل کی اقسام سے متعلق اے پی آئی انٹرفیس تقریبا ایک جیسی ہے ، صرف معمولی تفصیلات میں فرق ہے۔ہوم نیٹ ورک کی ترتیباورٹیسٹ نیٹ کی ترتیب کی معلوماتکےہائپر لیکوڈ فیوچراس کے علاوہ ، یہ بھی کہا جاتا ہے کہ یہ ایک بہت بڑا مسئلہ ہے۔

اقسام کی معلومات

function main() {
    var markets = exchange.GetMarkets()
    if (!markets) {
        throw "get markets error"
    }

    var tbl = {
        type: "table", 
        title: "test markets", 
        cols: [
            "key", "Symbol", "BaseAsset", "QuoteAsset", "TickSize", "AmountSize", "PricePrecision", "AmountPrecision", "MinQty", 
            "MaxQty", "MinNotional", "MaxNotional", "CtVal", "CtValCcy"
        ], 
        rows: []
    }
    
    for (var symbol in markets) {
        var market = markets[symbol]
        tbl.rows.push([
            symbol, market.Symbol, market.BaseAsset, market.QuoteAsset, market.TickSize, market.AmountSize, 
            market.PricePrecision, market.AmountPrecision, market.MinQty, market.MaxQty, market.MinNotional, market.MaxNotional, market.CtVal, market.CtValCcy
        ])
    }
    LogStatus("`" + JSON.stringify(tbl) +  "`")
}

DEX交易所量化实践(2)– Hyperliquid 使用指南

آرڈر کی کمی

function main() {
    var depth = exchange.GetDepth("ETH_USD.swap")
    var asks = depth.Asks
    var bids = depth.Bids

    Log("买3", bids[2])
    Log("买2", bids[1])
    Log("买1", bids[0])

    Log("卖1", asks[0])
    Log("卖2", asks[1])
    Log("卖3", asks[2])
}

DEX交易所量化实践(2)– Hyperliquid 使用指南

اکاؤنٹ کے اثاثے

function main() {
    var account = exchange.GetAccount()
    return account
}

DEX交易所量化实践(2)– Hyperliquid 使用指南

فہرست، انوائس

function main() {
    var symbols = ["ETH_USD.swap", "XRP_USD.swap", "HYPE_USD.swap"]
    var arrDir = ["market_buy", "sell", "buy"]
    var markets = exchange.GetMarkets()

    var ids = []
    for (var i in symbols) {
        var symbol = symbols[i]
        var side = arrDir[i]

        var ticker = exchange.GetTicker(symbol)
        var info = markets[symbol]

        exchange.SetPrecision(info.PricePrecision, info.AmountPrecision)
        
        // USDC
        var qty = 15
        var price = null 
        var amount = null 
        if (side == "market_buy") {
            price = -1
            side = "buy"
            amount = qty / ticker.Last
        } else {
            price = side == "buy" ? ticker.Last * 0.9 : ticker.Last * 1.1
            amount = qty / price
        }        

        var id = exchange.CreateOrder(symbol, side, price, amount)
        ids.push(id)
    }

    var tbl = {type: "table", title: "test", cols: ["Symbol", "Id", "Price", "Amount", "DealAmount", "AvgPrice", "Status", "Type", "Offset", "ContractType"], rows: []}
    for (var id of ids) {
        var order = exchange.GetOrder(id)
        tbl.rows.push([order.Symbol, order.Id, order.Price, order.Amount, order.DealAmount, order.AvgPrice, order.Status, order.Type, order.Offset, order.ContractType])
        Sleep(500)
    }

    LogStatus("`" + JSON.stringify(tbl) +  "`")
}

DEX交易所量化实践(2)– Hyperliquid 使用指南

تمام احکامات منسوخ

function main() {
    var orders = exchange.GetOrders("USD.swap")
    for (var order of orders) {
        exchange.CancelOrder(order.Id, order)
        Sleep(1000)
    }

    var tbl = {type: "table", title: "test", cols: ["Symbol", "Id", "Price", "Amount", "DealAmount", "AvgPrice", "Status", "Type", "Offset", "ContractType"], rows: []}
    for (var order of orders) {
        tbl.rows.push([order.Symbol, order.Id, order.Price, order.Amount, order.DealAmount, order.AvgPrice, order.Status, order.Type, order.Offset, order.ContractType])
    }
    LogStatus("`" + JSON.stringify(tbl) +  "`")
}

DEX交易所量化实践(2)– Hyperliquid 使用指南

لیور تبدیل کریں، مکمل پوزیشن / پوزیشن تبدیل کریں

function main() {
    // 设置当前为全仓
    exchange.IO("cross", true)

    // 设置杠杆
    exchange.SetMarginLevel("ETH_USD.swap", 10)

    return exchange.GetRawJSON()
}

DEX交易所量化实践(2)– Hyperliquid 使用指南

exchange.GetRawJSON (()) لیور سیٹ کرنے کی درخواست کا جواب واپس کرتا ہے:

{status:ok,response:{type:default}}

دیگر رابطے

چونکہ ایکسچینج کے انٹرفیس پیرامیٹرز زیادہ پیچیدہ ہیں اور یو آر ایل انکوڈنگ کا استعمال نہیں کیا جاسکتا ہے ، لہذا اس کا استعمال کیا جارہا ہے۔exchange.IOجب فنکشن کو بلایا جاتا ہے تو ، آپ صرف JSON سٹرنگ کو بطور پیرامیٹر منتقل کرسکتے ہیں۔ ذیل میں مختلف انٹرفیس کالز کی مثالیں ہیں۔

hyperliquid حوالہ جات:https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/exchange-endpoint#place-an-order

شیڈول منسوخ کریں

var params = {"type": "scheduleCancel", "time": new Date().getTime()}
return exchange.IO("api", "POST", "/exchange", null, JSON.stringify(params))

{status:err,response:جب تک کافی حجم کی تجارت نہیں کی جاتی تب تک شیڈول منسوخ کرنے کا وقت مقرر نہیں کیا جاسکتا۔ ضرورت:1000000۔ تجارت:174.57424.”}

اس فنکشن کی کچھ حدود ہیں: اکاؤنٹ کو ٹرانزیکشن لیول تک پہنچنے کے بعد ہی اس فنکشن کا استعمال کیا جا سکتا ہے۔

ٹوپی آرڈر

TWAP آرڈر بنائیں۔

function main() {
    var params = {
        "type": "twapOrder",
        "twap": {
            "a": 0,
            "b": true,
            "s": "1",
            "r": false,
            "m": 10,
            "t": false
        }
    }

    // SOL_USDT.swap , 订单量 : 1  , twapOrder 订单有头寸要求,最少100美元价值
    // a : 0 , 即 SOL_USDT.swap 这个品种
    return exchange.IO("api", "POST", "/exchange", null, JSON.stringify(params))
}

twapمنسوخ کریں

ٹویا اے پی کے احکامات منسوخ کیے گئے ہیں۔

function main() {
    var params = {
        "type": "twapCancel",
        "a": 0,
        "t": 3805
    }

    return exchange.IO("api", "POST", "/exchange", null, JSON.stringify(params))
}

منظوری ایجنٹ

ایک بار پھر ، ایک بار پھر ، ایک بار پھر ، ایک بار پھر ، ایک بار پھر ، ایک بار پھر ، ایک بار پھر۔

function main() {
    var params = {
        "type": "approveAgent",
        "hyperliquidChain": "Testnet",
        "signatureChainId": "0x66eee",
        "agentAddress": "0xAAAA",
        "agentName": "test02",
        "nonce": new Date().getTime()
    }

    return exchange.IO("api", "POST", "/exchange", null, JSON.stringify(params))
}

اجازت نامہ کامیابی کے ساتھ واپس آگیا:

{status:ok,response:{type:default}}

  • اے پی آئی ایجنٹ والیٹ بنائیں ، 0xAAAA کو جنریٹ کردہ والیٹ ایڈریس (صرف مثال کے طور پر) کے طور پر استعمال کریں ، اور اس کی تخلیق کے وقت اس کی نجی کلید کو محفوظ کریں۔
  • test02 API ایجنٹ والیٹ کا نام ہے، اور پیدا کردہ اس سیکرٹ کلید کا جوڑا hyperliquid APP کے صفحے پر دکھایا جائے گاhttps://app.hyperliquid-testnet.xyz/APIمڈل۔

vaultٹرانسفر کریں

اس کے علاوہ، اس نے اپنے پیسے کے ساتھ اپنے پیسے کا تبادلہ کیا.

function main() {
    var params = {
        "type": "vaultTransfer",
        "vaultAddress": "0xAAA",
        "isDeposit": true,
        "usd": 5000000
    }
    
    return exchange.IO("api", "POST", "/exchange", null, JSON.stringify(params))
}
  • usd: 5000000 کا مطلب ہے 5 USDC۔
  • 0xAAA: خزانے کا پتہ۔
  • isDeposit: true، رسائی کو کنٹرول کریں۔

واپس لیں3

اس کے علاوہ ، یہ بھی کہا جاتا ہے کہ یہ ایک بہت ہی اہم مسئلہ ہے۔

function main() {
    var params = {
        "type": "withdraw3",
        "hyperliquidChain": "Testnet",
        "signatureChainId": "0x66eee",
        "amount": "5",
        "time": new Date().getTime(),
        "destination": "0xAAA"
    }
    
    return exchange.IO("api", "POST", "/exchange", null, JSON.stringify(params))
}
  • ٹائکن نے اپنے موجودہ بٹوے کا پتہ دیا: 0xAAA.

usdClassTransfer

اثاثوں کو فوری / فیوچر (مستقل معاہدے) کے درمیان تقسیم کرنا۔

function main() {
    var params = {
        "type": "usdClassTransfer",
        "hyperliquidChain": "Testnet",
        "signatureChainId": "0x66eee",
        "amount": "5",
        "toPerp": false,
        "nonce": new Date().getTime()
    }

    return exchange.IO("api", "POST", "/exchange", null, JSON.stringify(params))
}
  • پیرامیٹر toPerp کے طور پر مقرر کیا گیا ہےfalseمستقبل -> جگہ کا اشارہ کرتا ہے۔
  • پیرامیٹر toPerp کے طور پر مقرر کیا گیا ہےtrueاسپاٹ -> فیوچر کی طرف اشارہ کرتا ہے۔

ویب ساکٹ انٹرفیس استعمال کریں

ڈبلیو ایس انٹرفیس کا پتہ:

مین نیٹ: wss://api.hyperliquid.xyz/ws

چونکہ REST پروٹوکول API انٹرفیس حالیہ ٹرانزیکشن کے اعداد و شمار کو حاصل نہیں کرتا ہے، لیکن ویب ساکٹ انٹرفیس میں یہ چینل سبسکرائب کیا جا سکتا ہے.

سبسکرائب کریں

{
    "method": "subscribe", 
    "subscription": {
        "type": "trades", 
        "coin": "SOL"
    } 
}

ڈیفالٹ ٹولز میں ٹیسٹ کی مثالیں:

function main() {
    var loopCount = 20
    var subMsg = {
        "method": "subscribe", 
        "subscription": {
            "type": "trades", 
            "coin": "SOL"
        } 
    }

    var conn = Dial("wss://api.hyperliquid.xyz/ws")
    conn.write(JSON.stringify(subMsg))
    if (conn) {
        for (var i = 0; i < loopCount; i++) {
            var msg = conn.read(1000)
            if (msg) {
                Log(msg)
            }
        }
    }

    conn.close()
    Log("测试结束")
}

DEX交易所量化实践(2)– Hyperliquid 使用指南

اختتام

مندرجہ بالا ٹیسٹ، تازہ ترین مینیجر کی بنیاد پر، Hyperliquid DEX تبادلے کی حمایت کرنے کے لئے تازہ ترین مینیجر کو ڈاؤن لوڈ کرنے کی ضرورت ہے۔

آپ کی حمایت کا شکریہ اور پڑھنے کا شکریہ۔


مزید