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

ایجاد کنندہ کوالٹی ٹریڈنگ پلیٹ فارم API اپ گریڈ: حکمت عملی ڈیزائن کے تجربے کو بہتر بنانا

مصنف:ایجاد کاروں کی مقدار - خواب, تخلیق: 2024-06-28 09:08:29, تازہ کاری: 2024-07-24 12:00:40

[TOC]

img

پیش گوئی

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

حکمت عملی کے ڈیزائن کو آسان بنانے کے لئے ، لین دین کی منطق کو واضح بنانے اور ابتدائیوں کے لئے آسان بنانے کے ل the ، پلیٹ فارم نے API انٹرفیس کو اپ گریڈ کیا ہے۔ تازہ ترین ورژن استعمال کرنے والے منتظمین کو ان نئی خصوصیات کو چالو کرنے کی اجازت ہے۔ پلیٹ فارم پرانے انٹرفیس کو زیادہ سے زیادہ مطابقت رکھتا ہے۔ API انٹرفیس کی نئی خصوصیات کے بارے میں معلومات کو مطابقت پذیر طور پر اپ ڈیٹ کیا گیا ہے تاکہ ایجاد کنندہ کو تجارتی پلیٹ فارم کی مقدار کو بڑھا سکے:

گرائمیکل گائیڈ:https://www.fmz.com/syntax-guideصارف کی ہدایات:https://www.fmz.com/user-guide

تو آئیے اس مضمون کے ذریعے ہم سب کو ایک نظر ڈالتے ہیں کہ کون سے انٹرفیس اپ گریڈ اپ ڈیٹس ہیں اور کون سی تبدیلیاں پرانی پالیسیوں کے استعمال کے لئے موجودہ API کے ساتھ مطابقت پذیر ہونے کی ضرورت ہے۔

1، نئے API انٹرفیس

新增exchange.GetTickers函数

اس طرح کے مجموعی مارکیٹ انٹرفیس کو ایک کثیر قسم کی حکمت عملی، پورے مارکیٹ مارکیٹ کی نگرانی کی حکمت عملی کے ڈیزائن کے لئے ضروری ہے؛ حکمت عملی کو تیار کرنے کے لئے آسان بنانے کے لئے اور پہیے کی نقل و حرکت سے بچنے کے لئے.

اگر تبادلے کے پاس ایسا انٹرفیس (انفرادی تبادلے) نہیں ہے تو ، کال کریںexchange.GetTickers()اس کے علاوہ ، آپ کو اس کے بارے میں مزید جاننے کی ضرورت ہے۔

اس فنکشن میں کوئی پیرامیٹرز نہیں ہیں اور یہ ایکسچینج کو مارکیٹ انٹرفیس میں تمام اقسام کے ریئل ٹائم مارکیٹ ڈیٹا کو واپس کرتا ہے۔ یہ آسانی سے سمجھا جاسکتا ہے:

exchange.GetTickers()اور اس کے بعدexchange.GetTicker()فنکشن کی مکمل اقسام کے لئے درخواست کی گئی ورژن ((انتباہ کریں ، ان دونوں فنکشن ناموں میں فرق صرف ایک ہی عدد ہے) ‖) ۔

ہم نے او کے ایکس کے ساتھ اپنے ماحول کا تجربہ کیا۔

function main() {
    exchange.IO("simulate", true)

    var tickers = exchange.GetTickers()
    if (!tickers) {
        throw "tickers error"
    }

    var tbl = {type: "table", title: "test tickers", cols: ["Symbol", "High", "Open", "Low", "Last", "Buy", "Sell", "Time", "Volume"], rows: []}
    for (var i in tickers) {
        var ticker = tickers[i]
        tbl.rows.push([ticker.Symbol, ticker.High, ticker.Open, ticker.Low, ticker.Last, ticker.Buy, ticker.Sell, ticker.Time, ticker.Volume])
    }

    LogStatus("`" + JSON.stringify(tbl) +  "`")
    return tickers.length
}

img

新增exchange.CreateOrder函数

نئےexchange.CreateOrder()اس اپ گریڈ میں فنکشنز کو اہم مقام دیا گیا ہے۔exchange.CreateOrder()اس فنکشن کی سب سے بڑی خصوصیت یہ ہے کہ اس فنکشن کی پیرامیٹرز میں براہ راست آرڈر کی قسم ، سمت ، وغیرہ کی وضاحت کی جائے۔ اس طرح نظام کی موجودہ ترتیبات پر انحصار کرنے کی ضرورت نہیں ہے۔

متعدد تجارتوں کے تحت ایک ہی منظر نامے میں ، ہم آہنگی کے منظر نامے میں ڈیزائن کی پیچیدگی کو بہت کم کیا گیا ہے۔exchange.CreateOrder()اس کے چار پیرامیٹرز ہیںsymbolsidepriceamount

او کے ایکس فیوچر ڈسک ماحولیاتی ٹیسٹ:

function main() {
    exchange.IO("simulate", true)

    var id1 = exchange.CreateOrder("ETH_USDT.swap", "buy", 3300, 1)
    var id2 = exchange.CreateOrder("BTC_USDC.swap", "closebuy", 70000, 1)
    var id3 = exchange.CreateOrder("LTC_USDT.swap", "sell", 110, 1)

    Log("id1:", id1, ", id2:", id2, ", id3:", id3)
}

img

یہ صرف تین بار استعمال کیا گیا ہے.exchange.CreateOrder()فنکشن کالز تین مختلف اقسام کے فیوچر آرڈرز کو مختلف سمتوں میں بھیجتی ہیں۔

新增exchange.GetHistoryOrders函数

نئےexchange.GetHistoryOrders()یہ فنکشن کسی قسم کے تاریخی ٹرانزیکشن آرڈر کو حاصل کرنے کے لئے استعمال کیا جاتا ہے، جس میں ایکسچینج انٹرفیس کی حمایت کی ضرورت ہوتی ہے.

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

  • کچھ صفحہ بندی کے سوالات کی حمایت کرتے ہیں، کچھ نہیں کرتے.
  • کچھ معاملات میں تمام انکوائری ونڈو کی مدت ہوتی ہے ، یعنی N دن سے زیادہ کے آرڈرز کی انکوائری نہیں کی جاسکتی ہے۔
  • زیادہ تر تبادلے مخصوص وقت کی پوچھ گچھ کی حمایت کرتے ہیں ، کچھ نہیں کرتے ہیں۔

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

تفصیلی افعال کے بارے میں مزید تفصیلات یہاں نہیں دی جا سکتی ہیں۔ آپ ان کے بارے میں API دستاویزات میں سنگرودھ کی ہدایات دیکھ سکتے ہیں:

https://www.fmz.com/syntax-guide#fun_exchange.gethistoryorders

بینک آف انڈیا کے مطابق، بینک آف انڈیا نے ایک بار پھر بینک آف انڈیا کی جانب سے بینک آف انڈیا کے ساتھ معاہدہ کرنے کا اعلان کیا ہے۔

function main() {
    var orders = exchange.GetHistoryOrders("ETH_USDT")

    // 写入图表
    var tbl = {type: "table", title: "test GetHistoryOrders", 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("orders.length:", orders.length, "\n", "`" + JSON.stringify(tbl) +  "`")
}

img

新增exchange.GetPositions函数

پرانے ورژن کے لئے حاصل کرنے کے لئے ذخیرہ شدہ ڈیٹا کی تقریب ہےexchange.GetPosition()اس اپ گریڈ میں فنکشن کے نام کے معنی کو بہتر بنانے کے لئے ایک نیا حصول ہولڈنگ فنکشن شامل کیا گیا ہے:exchange.GetPositions()│ ابھی بھی ہم آہنگ / اپ گریڈ حاصل پوزیشن کی تقریب │

exchange.GetPositions()فنکشن کو تین قسم کے کالز ملتے ہیں:

  • exchange.GetPositions ((() جب کوئی پیرامیٹر منتقل نہیں ہوتا ہے تو ، موجودہ ٹرانزیکشن جوڑی / معاہدہ کوڈ کی ترتیب کے مطابق اسٹوریج ڈیٹا کی درخواست کریں۔
  • exchange.GetPositions ((ETH_USDT.swap تالا) جب مخصوص قسم کی معلومات (ETH_USDT.swap کی شکل FMZ پلیٹ فارم کے ذریعہ بیان کی گئی ہے) کی وضاحت کی جاتی ہے تو ، مخصوص قسم کے ذخیرہ اندوزی کا ڈیٹا طلب کیا جاتا ہے۔
  • exchange.GetPositions (("") تمام موجودہ طول و عرض کے بارے میں تمام ہولڈنگ ڈیٹا کی درخواست کریں جو ایکسچینج ہولڈنگ انٹرفیس کے ذریعہ دستیاب ہیں۔

او کے ایکس فیوچر ڈسک ماحولیاتی ٹیسٹ:

function main() {
    exchange.IO("simulate", true)

    exchange.SetCurrency("BTC_USDT")
    exchange.SetContractType("swap")

    var p1 = exchange.GetPositions()
    var p2 = exchange.GetPositions("")

    var tbls = []
    for (var positions of [p1, p2]) {
        var tbl = {type: "table", title: "test GetPosition/GetPositions", cols: ["Symbol", "Amount", "Price", "FrozenAmount", "Type", "Profit", "Margin", "ContractType", "MarginLevel"], rows: []}
        for (var p of positions) {
            tbl.rows.push([p.Symbol, p.Amount, p.Price, p.FrozenAmount, p.Type, p.Profit, p.Margin, p.ContractType, p.MarginLevel])
        } 
        tbls.push(tbl)
    }

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

img

جب داخل ہوexchange.GetPositions()اس فنکشن کے پیرامیٹرز ہیںETH_USDT.swapاس کے علاوہ ، آپ کو ای ٹی ایچ کے یو بٹ پر مبنی مستقل معاہدوں کے ذخائر کے اعداد و شمار حاصل کرنے کی ضرورت ہوگی۔

img

جب داخل ہوexchange.GetPositions()فنکشن کے پیرامیٹرز خالی تار ہیں""اس کے علاوہ ، آپ کو اپنے تمام معاہدوں کے اسٹوریج ڈیٹا تک رسائی حاصل کرنے کی سہولت مل سکتی ہے۔

2، API انٹرفیس اپ گریڈ

升级exchange.GetTicker函数

عمل کی تقریبexchange.GetTicker()اس اپ گریڈ میں بنیادی طور پر علامت کی پیرامیٹرز کا اضافہ ہے۔ اس فنکشن کو موجودہ ٹرانزیکشن جوڑی سے الگ کرنے کی اجازت دیتا ہے۔ معاہدہ کا کوڈ براہ راست پیرامیٹرز کی وضاحت کے مطابق مختلف قسم کی معلومات ، مارکیٹ کے اعداد و شمار کی درخواست کرتا ہے۔ کوڈ لکھنے کے عمل کو آسان بنا دیتا ہے۔ اس کے ساتھ ساتھ نامکمل کال کرنے کے طریقوں کو بھی ہم آہنگ کرتا ہے ، جو زیادہ سے زیادہ پلیٹ فارم کی پرانی حکمت عملی کے ساتھ مطابقت رکھتا ہے۔

پیرامیٹرزsymbolتبادلے کے لئےexchangeیہ مختلف فارمیٹس میں دستیاب ہیں:

  • فوری طور پر تبادلے کا مقصد اس کی شکل یہ ہے:AAA_BBBاے اے اے کا مطلب ہے بیس کرنسی یا تجارتی کرنسی۔ بی بی بی کا مطلب ہے کوٹ کرنسی یا قیمتوں کا تعین کرنسی۔ کرنسی کے نام بڑے حروف میں ہیں۔ مثال کے طور پر: بی ٹی سی_یو ایس ڈی ٹی فوری تجارت کی جوڑی۔
  • فیوچر ایکسچینج کا مقصد اس کی شکل یہ ہے:AAA_BBB.XXXAAA تجارتی کرنسی کے لئے بیس کرنسی کے طور پر ظاہر ہوتا ہے، BBB قیمتوں کا تعین کرنسی کے لئے اقتباس کرنسی کے طور پر ظاہر ہوتا ہے، اور XXX معاہدے کے کوڈ کے طور پر ظاہر ہوتا ہے، جیسے مستقل معاہدہ تبادلہ؛ کرنسی کے نام بڑے حروف میں ہیں، معاہدے کا کوڈ چھوٹے حروف میں ہے۔ مثال کے طور پر: BTC_USDT.swap، بی ٹی سی کے U بٹس پر مبنی مستقل معاہدہ۔

ٹویٹر پر ایک صارف نے لکھا:

var symbols = ["BTC_USDT.swap", "BTC_USDT.quarter", "BTC_USD.swap", "BTC_USD.next_quarter", "ETH_USDT.swap"]

function main() {
    exchange.SetCurrency("ETH_USD")
    exchange.SetContractType("swap")

    var arr = []
    var t = exchange.GetTicker()
    arr.push(t)

    for (var symbol of symbols) {
        var ticker = exchange.GetTicker(symbol)
        arr.push(ticker)
    }

    var tbl = {type: "table", title: "test GetTicker", cols: ["Symbol", "High", "Open", "Low", "Last", "Buy", "Sell", "Time", "Volume"], rows: []}
    for (var ticker of arr) {
        tbl.rows.push([ticker.Symbol, ticker.High, ticker.Open, ticker.Low, ticker.Last, ticker.Buy, ticker.Sell, ticker.Time, ticker.Volume])
    }

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

img

ایک مخصوص قسم کے بازار کے اعداد و شمار کے ڈیزائن کو آسان بنانے کے لئے درخواست دیں.

升级exchange.GetDepth函数

GetTicker کے ساتھ ایک ہیexchange.GetDepth()اس بار اس فنکشن میں علامت کی پیرامیٹرز کا اضافہ بھی کیا گیا ہے۔ یہ ممکن ہے کہ گہرائی کے اعداد و شمار کی درخواست کرتے وقت براہ راست قسم کی وضاحت کی جائے۔

ٹویٹر پر ایک صارف نے لکھا:

function main() {
    exchange.SetCurrency("LTC_USD")
    exchange.SetContractType("swap")

    Log(exchange.GetDepth())
    Log(exchange.GetDepth("ETH_USDT.quarter"))
    Log(exchange.GetDepth("BTC_USD.swap"))
}

img

升级exchange.GetTrades函数

GetTicker کے ساتھ ایک ہیexchange.GetTrades()اس بار فنکشن میں علامت کی پیرامیٹرز کا اضافہ بھی کیا گیا ہے۔ مارکیٹ ٹرانزیکشن کے اعداد و شمار کی درخواست کرتے وقت براہ راست قسم کی وضاحت کرنا ممکن ہے۔

ٹویٹر پر ایک صارف نے لکھا:

function main() {
    var arr = []
    var arrR = []
    var symbols = ["LTC_USDT.swap", "ETH_USDT.quarter", "BTC_USD.swap"]    

    for (var symbol of symbols) {
        var r = exchange.Go("GetTrades", symbol)
        arrR.push(r)
    }

    for (var r of arrR) {
        arr.push(r.wait())
    }
    
    var tbls = []
    for (var i = 0; i < arr.length; i++) {
        var trades = arr[i]
        var symbol = symbols[i]

        var tbl = {type: "table", title: symbol, cols: ["Time", "Amount", "Price", "Type", "Id"], rows: []}
        for (var trade of trades) {
            tbl.rows.push([trade.Time, trade.Amount, trade.Price, trade.Type, trade.Id])
        }

        tbls.push(tbl)
    }

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

img

اس اپ گریڈ کو بھی ہم آہنگ کیا گیا ہےexchange.Go()فنکشن بیک وقت کال پلیٹ فارم API انٹرفیس پر علامت پیرامیٹر مخصوص قسم کی معلومات منتقل کرتا ہے۔

升级exchange.GetRecords函数

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

exchange.GetRecords()فنکشن کو کیسے بلایا جائے:

  • exchange.GetRecords ((() کسی بھی پیرامیٹر کی وضاحت کے بغیر موجودہ ٹرانزیکشن جوڑی / معاہدے کے کوڈ کے مطابق قسم کی K لائن کے اعداد و شمار کی درخواست کرتے وقت ، K لائن کا دورانیہ حکمت عملی کا جائزہ لینے کے انٹرفیس یا حقیقی وقت میں طے شدہ ڈیفالٹ K لائن کا دورانیہ ہے۔
  • exchange.GetRecords ((60 * 15) جب صرف K لائن سائیکل پیرامیٹرز کی وضاحت کی جاتی ہے تو ، موجودہ ٹرانزیکشن جوڑی / معاہدہ کوڈ کے مطابق قسم کے K لائن ڈیٹا کی درخواست کی جاتی ہے۔
  • exchange.GetRecords (( BTC_USDT.swap)) جب صرف قسم کی معلومات کی وضاحت کی جاتی ہے تو ، قسم کی وضاحت کے لئے K لائن کے اعداد و شمار کی درخواست کی جاتی ہے ، اور K لائن کا دورانیہ حکمت عملی کی جانچ پڑتال کے انٹرفیس یا اصلی ڈسک پر طے شدہ ڈیفالٹ K لائن کا دورانیہ ہوتا ہے۔
  • exchange.GetRecords ((BTC_USDT.swap، 60 * 60) مختلف قسم کی معلومات کی وضاحت کریں، مخصوص K لائن کے دورانیے کی درخواست کے لئے K لائن کے اعداد و شمار کی وضاحت کریں۔
  • exchange.GetRecords ((BTC_USDT.swap، 60، 1000) مختلف قسم کی معلومات کی وضاحت کریں ، مخصوص K لائن کے دورانیے کی وضاحت کریں ، K لائن کے اعداد و شمار کی درخواست کریں ، جس میں K لائن کی لمبائی کی باقاعدگی سے توقع کی جاتی ہے۔ نوٹ کریں کہ جب حد کی پیرامیٹر ایک بار درخواست کی زیادہ سے زیادہ لمبائی سے زیادہ ہوتی ہے تو ، صفحہ بندی کی درخواست پیدا ہوجاتی ہے (یعنی ایک سے زیادہ بار تبادلہ کے لائن انٹرفیس کو کال کرنا) ۔

ٹویٹر پر ایک صارف نے لکھا:

function main() {
    exchange.SetCurrency("ETH_USDT")
    exchange.SetContractType("swap")
    
    var r1 = exchange.GetRecords()
    var r2 = exchange.GetRecords(60 * 60)
    var r3 = exchange.GetRecords("BTC_USDT.swap")
    var r4 = exchange.GetRecords("BTC_USDT.swap", 60)
    var r5 = exchange.GetRecords("LTC_USDT.swap", 60, 3000)

    Log("r1相邻Bar时间差值:", r1[1].Time - r1[0].Time, "毫秒, Bar长度:", r1.length)
    Log("r2相邻Bar时间差值:", r2[1].Time - r2[0].Time, "毫秒, Bar长度:", r2.length)
    Log("r3相邻Bar时间差值:", r3[1].Time - r3[0].Time, "毫秒, Bar长度:", r3.length)
    Log("r4相邻Bar时间差值:", r4[1].Time - r4[0].Time, "毫秒, Bar长度:", r4.length)
    Log("r5相邻Bar时间差值:", r5[1].Time - r5[0].Time, "毫秒, Bar长度:", r5.length)
}

img

升级exchange.GetOrders函数

GetOrders فنکشن بھی شامل کیا گیا ہےsymbolپیرامیٹرز ، براہ راست سوالات کو مخصوص کرنے کے لئے براہ راست سوالات کی قسموں کو منتخب کرسکتے ہیں جو ابھی تک مکمل نہیں ہوئے ہیں۔ تمام فہرستوں کو تلاش کرنے کی حمایت کرتے ہیں (بغیر کسی قسم کے) ؛ ہم آہنگ اصل کال کے طریقوں کو۔

exchange.GetOrders()فنکشن کو بلایا جا سکتا ہے:

  • exchange.GetOrders ((() موجودہ ٹرانزیکشن جوڑی / معاہدے کے کوڈ کے لئے تمام غیر مکمل احکامات کی تلاش کریں۔
  • exchange.GetOrders (بٹ کوائن_یو ایس ڈی ٹی۔سواپ ٹول) بی ٹی سی کے لئے USDT پر مبنی مستقل معاہدوں کے لئے تمام غیر مکمل احکامات کی جانچ پڑتال کریں۔
  • exchange.GetOrders (("") تبادلے میں موجودہ طول و عرض کی تقسیم کے مطابق تمام غیر مکمل کردہ احکامات کی تلاش کریں۔

او کے ایکس فیوچر ڈسک ماحولیاتی ٹیسٹ:

function main() {
    exchange.IO("simulate", true)

    exchange.SetCurrency("BTC_USDT")
    exchange.SetContractType("swap")

    // 写入图表
    var tbls = []
    for (var symbol of ["null", "ETH_USDT.swap", ""]) {
        var tbl = {type: "table", title: symbol, cols: ["Symbol", "Id", "Price", "Amount", "DealAmount", "AvgPrice", "Status", "Type", "Offset", "ContractType"], rows: []}

        var orders = null
        if (symbol == "null") {
            orders = exchange.GetOrders()
        } else {
            orders = exchange.GetOrders(symbol)
        }

        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])
        }

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

img

جب کوئی پیرامیٹر منتقل نہیں کیا جاتا ہے تو ، ڈیفالٹ طور پر موجودہ BTC_USDT ٹریڈنگ جوڑی کی درخواست کی جاتی ہے ، جس میں تمام غیر مکمل شدہ زیر التواء فہرستوں کے لئے مستقل معاہدوں کو تبدیل کیا جاتا ہے۔

img

پیرامیٹرز کی وضاحت کریںETH_USDT.swapجب آپریٹر درخواست کرتا ہے تو ، ETH_USDT ٹریڈنگ جوڑی کے لئے تمام غیر مکمل شدہ معاہدوں کی فہرست۔

img

خالی سٹرنگ بھیجنا""اس کے بعد ، تمام USDT مقامی معاہدوں کی تمام غیر مکمل فہرستوں کی درخواست کی گئی تھی۔

升级exchange.GetPosition函数

اب بھی پرانے اسٹوریج حاصل کرنے والے فنکشن کے ناموں کے ساتھ مطابقت رکھتا ہے ، اور اس کے ساتھ ہی ایک علامت پیرامیٹر شامل کیا گیا ہے ، جس سے مخصوص درخواست کردہ اسٹوریج ڈیٹا کی مختلف اقسام کی معلومات کی وضاحت کی جاسکتی ہے۔ افعال کے استعمال کے پہلو اورexchange.GetPositions()یہ ایک مکمل اتفاق ہے۔

升级exchange.IO函数

کے لئےexchange.IO("api", ...)فنکشن کال کرنے کا طریقہ ، تمام ایکسچینج اشیاء کے لئے اپ گریڈ کیا گیا ہے جس میں براہ راست مکمل درخواست ایڈریس کی کارکردگی کی حمایت کی گئی ہے۔ مثال کے طور پر، اگر آپ OKX کے انٹرفیس کو کال کرنا چاہتے ہیں:

// GEThttps://www.okx.com/api/v5/account/max-withdrawal ccy: بی ٹی سی

براہ راست بیس ایڈریس لکھنے کی حمایتhttps://www.okx.comاس کے بعد ، آپ کو اپنے ڈیٹا بیس ایڈریس کو تبدیل کرنے کی ضرورت نہیں ہے اور پھر IO فنکشن کو کال کریں۔

او کے ایکس فیوچر ڈسک ماحولیاتی ٹیسٹ:

function main() {
    exchange.IO("simulate", true)

    return exchange.IO("api", "GET", "https://www.okx.com/api/v5/account/max-withdrawal", "ccy=BTC")
}

img

3، API انٹرفیس کے اثرات

影响exchange.GetOrder函数

اس اپ گریڈ نے بنیادی طور پر متاثر کیاexchange.GetOrder(id)فنکشن کے پیرامیٹرزid،id پیرامیٹرز کو اصل ایکسچینج آرڈر آئی ڈی سے تبدیل کر دیا گیا ہے جس میں ایک سٹرنگ فارمیٹ ہے جس میں ٹرانزیکشن کی اقسام شامل ہیں۔ ایف ایم زیڈ پلیٹ فارم پر تمام پیکڈ آرڈر آئی ڈی اس فارمیٹ میں ہیں۔

مثال کے طور پر

  • ایکسچینج آرڈر میں بیان کردہ ایکسچینج کی اصل آرڈر ID:123456اس اپ گریڈ سے پہلے، اگر آپ GetOrder کو کال کرنا چاہتے ہیں تو، آرڈر کی شناخت درج کی گئی ہے:123456
  • ایکسچینج کے آرڈر میں بیان کردہ ایکسچینج کے نام پر پروڈکٹ کوڈ:BTC-USDT◄ نوٹ کریں کہ یہاں تبادلہ ناموں کے ذریعہ تجارت کی قسم کے کوڈ کے بارے میں بات کی جارہی ہے ، نہ کہ ایف ایم زیڈ پلیٹ فارم کے ذریعہ بیان کردہ تجارت کی جوڑی۔

اس کے بعد ، ہم نے اس کو اپ گریڈ کیا ،exchange.GetOrder(id)اس کے بعد، آپ کو اس بات کا یقین کرنے کی ضرورت ہے کہ آپ کے پاس ایک مختلف فارمیٹ ہے.BTC-USDT,123456

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

اس اثر کو کس طرح جوڑنا ہے: اگر آپ کا آرڈر exchange.IO فنکشن کا استعمال کرتے ہوئے براہ راست ایکسچینج کے آرڈر انٹرفیس کو کال کرتا ہے تو ، واپسی کی قیمت میں عام طور پر ایکسچینج کا اصل علامت (مختلف قسم کا کوڈ) اور اصل آرڈر آئی ڈی ہوتا ہے۔ پھر ان دونوں کو انگریزی کوما کے ساتھ جوڑنا ایف ایم زیڈ پلیٹ فارم کی وضاحت کے مطابق آرڈر آئی ڈی ہے۔ اسی طرح ، اگر ایف ایم زیڈ پلیٹ فارم کے احاطہ کردہ نیچے آرڈر انٹرفیس کا استعمال کیا جاتا ہے تو ، اگر آرڈر کی اصل شناخت استعمال کرنے کی ضرورت ہو تو ، صرف قسم کا کوڈ اور کوما کو ہٹانے کی ضرورت ہوگی ، کیونکہ آرڈر ID کا ابتدائی حصہ ٹرانزیکشن کی قسم کا کوڈ ہے۔

影响exchange.CancelOrder函数

اس اپ گریڈ کے لئےexchange.CancelOrder()افعال کے اثرات اورexchange.GetOrder()یہ ایک ہی فنکشن ہے۔

影响exchange.Buy函数

اس اپ گریڈ کے لئےexchange.Buy()افعال کے اثرات اورexchange.GetOrder()یہ ایک ہی فنکشن ہے۔exchange.Buy()فنکشن کی واپسی کا آرڈر آئی ڈی ایک نئی ساخت ہے، جیسے کہ جب آپ نے او کے ایکس ایکس ایکسچینج کے مستقبل میں آرڈر دیا تو واپسی کا آئی ڈی:LTC-USDT-SWAP,1578360858053058560

影响exchange.Sell函数

اس اپ گریڈ کے لئےexchange.Sell()افعال کے اثرات اورexchange.GetOrder()یہ ایک ہی فنکشن ہے۔exchange.Sell()فنکشن کی واپسی کا آرڈر آئی ڈی ایک نئی ساخت ہے، جیسے کہ جب آپ نے او کے ایکس ایکس ایکسچینج کے مستقبل میں آرڈر دیا تو واپسی کا آئی ڈی:ETH-USDT-SWAP,1578360832820125696

4، ڈھانچے کی ایڈجسٹمنٹ

ٹکر ڈھانچہ

اس تازہ کاری میں ٹککر ڈھانچے میں ایک علامت فیلڈ شامل کی گئی ہے ، جس میں موجودہ ٹککر ڈھانچے کے بارے میں تجارتی معلومات درج ہیں۔ اس فیلڈ کی شکلexchange.GetTicker()فنکشن کے علامت کے پیرامیٹرز کی شکل بالکل ایک جیسی ہے۔

آرڈر ڈھانچہ

اس تازہ کاری میں آرڈر کے ڈھانچے میں ایک علامت فیلڈ شامل کی گئی ہے ، جس کی شکل اور ترتیب کے مطابق ہے۔exchange.GetTicker()فنکشن کی علامت کے پیرامیٹرز کی شکل بالکل ایک جیسی ہے۔ اس تازہ کاری میں آرڈر ڈھانچے کے ID فیلڈ میں بھی تبدیلی کی گئی ہے تاکہ مختلف قسم کی معلومات ، اصل آرڈر کی معلومات کو ریکارڈ کیا جاسکے۔exchange.GetOrder()فنکشن میں آرڈر ID کی وضاحت، یہاں مزید بحث نہیں کی جائے گی۔

پوزیشن ڈھانچہ

اس تازہ کاری میں پوزیشن ڈھانچے میں سمبل فیلڈ شامل کی گئی ہے ، جس کی شکل اور شکلیںexchange.GetTicker()فنکشن کے علامت کے پیرامیٹرز کی شکل بالکل ایک جیسی ہے۔

5، ریٹیسٹنگ سسٹم

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

اضافی تازہ کاری

1، اکاؤنٹ ڈھانچہ نئے فیلڈز، ایکویٹی، یو پی این ایل

فیوچر ایکسچینج کے اعتراض کے لئے ممبر افعالGetAccountواپسAccountاس کی ساخت میں فیلڈز میں توسیع کی گئی ہے۔

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

  • یو پی این ایل فی الحال تمام پوزیشنوں کے غیر حاصل ہونے والے منافع کے لئے غیر منقولہ اثاثوں کی کرنسیوں کی اقسام کی حمایت کی جاتی ہے، سوائے اس کے کہ بہت سے فیوچر ایکسچینج اس شعبے کی حمایت کرتے ہیں.

2، سیٹ مارجن لیول فنکشن کے لئے اعلی درجے کی علامت کی حمایت

فیوچر ایکسچینج آبجیکٹ کے ممبر فنکشن سیٹ مارجن لیول کو اپ گریڈ کیا گیا ہے ، جس میں پیرامیٹر علامت شامل ہے۔

ٹیسٹ کی مثال:

function main() {
    exchange.SetCurrency("ETH_USDT")
    exchange.SetContractType("swap")
    
    // 当前交易对为ETH_USDT,合约代码为swap,设置杠杆值为10
    exchange.SetMarginLevel(10)
    
    // 直接指定交易对BTC_USDT,合约代码swap,设置杠杆值20
    exchange.SetMarginLevel("BTC_USDT.swap", 20)
}

مزید

Wa-emmnn_میں نے کہا کہ میرے نئے روبوٹ کا کیا ہوا ہے، واپسی کا آئی ڈی بھی ٹرانزیکشنز کے ناموں کے ساتھ ہے، میں نے کافی عرصے سے اس پر تحقیق کی ہے، اور آرڈر کرنے کے بعد لاگ ان کی معلومات اب ظاہر نہیں ہو رہی ہیں، کیا یہ منتظم کی تازہ کاری کی وجہ سے ہے؟

چان چھوٹا بیلر/upload/asset/2ffc0f961149326b78aed.png کیا یہ مسئلہ اس انٹرفیس اپ ڈیٹ کی وجہ سے ہے؟

اکنومس 希望exchange.Buy函数能增加开止损单的功能。。

نانسیگفرنٹ لائن کا خاکہ

Wa-emmnn_ٹھیک ہے

ایجاد کاروں کی مقدار - خوابٹھیک ہے، اس پر ایک نظر ڈالیں۔ شکریہ کہ آپ نے سوال کیا ہے۔ جلد ہی اس پر کام کیا جائے گا۔

Wa-emmnn_ٹھیک ہے، extMsg1، extMsg2 ظاہر نہیں ہوتا ہے۔

ایجاد کاروں کی مقدار - خوابہیلو ، آرڈر ID یہ ایک ناگزیر تبدیلی ہے ، کیونکہ براہ راست مخصوص قسم کے آرڈر کو اپ گریڈ کیا گیا ہے ، آرڈر ID میں قسم کی معلومات شامل ہونی چاہئیں ، ورنہ یہ معلوم نہیں ہوسکتا ہے کہ یہ آرڈر کس قسم کا ہے ، اور اس کی واپسی کے وقت کال نہیں کی جاسکتی ہے ((کیونکہ زیادہ تر تبادلے میں واپسی کے وقت قسم کی وضاحت کی ضرورت ہوتی ہے ، اور ID کی وضاحت کی جاتی ہے)) ۔ آپ نے کہا ہے کہ آپ کے حکم کے بعد کی معلومات ظاہر نہیں ہو رہی ہیں، یعنی: exchange.Buy ((price, amount, extMsg1, extMsg2) جب کال کی جاتی ہے تو کیا extMsg1, extMsg2 لاگ میں ظاہر نہیں ہوتے ہیں؟

ایجاد کاروں کی مقدار - خوابہیلو، آپ کو موجودہ ایکسچینج کی ترتیبات، ٹریڈنگ کے جوڑے، معاہدہ کوڈ کی ترتیبات بھیجیں.

ایجاد کنندہ کوانٹائزیشنبراہ کرم ٹیسٹ کوڈ اور ترتیب کی تفصیلات فارم میں بھیجیں، انجینئر آپ کو پہلے وقت میں جواب دیں گے

ایجاد کاروں کی مقدار - خواباس کے علاوہ ، یہ بھی کہا گیا ہے کہ یہ ایک بہت بڑا مسئلہ ہے ، لیکن اس کے بارے میں مزید معلومات حاصل کرنے کے لئے ، آپ کو اس کے بارے میں مزید جاننے کی ضرورت ہے۔

ایجاد کاروں کی مقدار - خوابآپ کی مدد کے لئے شکریہ ، اگر آپ کو کوئی پریشانی ہو تو ، آپ کو درخواستیں بھیجنے یا تبصرے کرنے کی ضرورت ہے۔