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

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

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

[TOC]

img

پیش گوئی

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

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

تو آئیے اس مضمون کے ذریعے ہم سب کو ایک نظر ڈالتے ہیں کہ کون سے انٹرفیس اپ گریڈ اپ ڈیٹس ہیں اور کون سی تبدیلیاں پرانی پالیسیوں کے استعمال کے لئے موجودہ 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()│ ابھی بھی ہم آہنگ / اپ گریڈ حاصل پوزیشن کی تقریب │

نوٹ کریں کہ دونوں فنکشن ناموں میں صرف ایک ختم ہونے والا s فرق ہے ، کیونکہ گیٹ پوزیشنز زیادہ سیمنٹک ہیں ، لہذا یہ تجویز کی جاتی ہے کہ بعد میں بھی گیٹ پوزیشنز استعمال کریں۔

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

  • exchange.GetPositions ((() جب کوئی پیرامیٹر منتقل نہیں کیا جاتا ہے، تو موجودہ کے مطابقمعاہدہ / معاہدہ کا کوڈکی ترتیبات، موجودہ طول و عرض کی تمام اقسام کے لئے ذخیرہ شدہ ڈیٹا کی درخواست کرتا ہے۔

  • exchange.GetPositions ((ETH_USDT.swap تالا) جب مخصوص قسم کی معلومات (ETH_USDT.swap کی شکل FMZ پلیٹ فارم کے ذریعہ بیان کی گئی ہے) کی وضاحت کی جاتی ہے تو ، مخصوص قسم کے ذخیرہ اندوزی کا ڈیٹا طلب کیا جاتا ہے۔ مثال:BTC_USD.swapETH_USDT.swapETH_USDT.quarterاور اسی طرح. BTC_USD.swap: بی ٹی سی کے لئے مستقل معاہدہ۔ ETH_USDT.swap: ETH کے U بٹس کا مستقل معاہدہ۔ ETH_USDC.swap:ETH کے لئے USDC پر مبنی مستقل معاہدہ۔ (USDT کے علاوہ ، مختلف کوٹ کرنسی بھی دی جاسکتی ہے ، مزید وضاحت نہیں کی گئی ہے) ETH_USDT.quarter: ETH کے U بٹس کی سہ ماہی ٹرانزیکشن کی شرح تقریباً ہے۔ BTC_USD.BTC-USD-201226-24250-C: بی ٹی سی کے لئے سکے کی جگہ کا متبادل معاہدہ۔

  • exchange.GetPositions ((USDT.swap ٹن) مخصوص طول و عرض کی حد کے مطابق تمام اقسام کے ذخیرہ اندوزی کے اعداد و شمار کی درخواست کریں۔ USDT.swap: U بٹ مستقل معاہدے کی حد۔ USDT.futures: U بٹ تبادلہ شرح کے بارے میں حدود۔ USDC.swap:USDC پر مبنی مستقل معاہدے کی حد۔ (USDT کے علاوہ ، مختلف کوٹ کرنسی بھی بیان کی جاسکتی ہے ، مزید وضاحت نہیں کی گئی ہے) USDC.futures: USDDC مقامی تبادلہ شرح کے بارے میں حدود۔ USD.swap: کرنسی کی قیمت میں مستقل معاہدے کی حد۔ USD.futures: کرنسی کی اصل شرح تبادلہ کی حد۔ USDT.option: U بٹ اختیارات معاہدے کی حد۔ USD.option: کرنسی کی جگہ پر اختیارات کے معاہدے کی حد۔

    کچھ خصوصی تبادلے کے معاہدوں کے طول و عرض میں تقسیم: USDT.futures_combo:Futures_Deribit ایکسچینج کے لئے فرق کا معاہدہ۔ USD.futures_ff:Futures_Kraken ایکسچینج میں مخلوط ضمانت کی شرح تبادلہ کے بارے میں. USD.swap_pf:Futures_Kraken ایکسچینج میں مخلوط ضمانتوں کا مستقل معاہدہ۔

    ایکسچینج API انٹرفیس کی حمایت نہیں کرتا جس طول و عرض کے لئے، کال پر ایک غلطی کی واپسی کی واپسی کی جائے گی.

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

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

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

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

    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اس کے علاوہ ، آپ کو ای ٹی ایچ کے یو بٹ پر مبنی مستقل معاہدوں کے ذخائر کے اعداد و شمار حاصل کرنے کی ضرورت ہوگی۔

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

exchange.GetFundings函数

نیا فنکشن GetFundings فیوچر ایکسچینج پر مستقل معاہدوں کی سرمایہ کاری کی شرح حاصل کرتا ہے۔ اس فنکشن میں ایک پیرامیٹر علامت ہے۔ فنکشن فنڈنگ ڈھانچے کا ایک صف واپس کرتا ہے۔

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

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 ((BTC_USDT.swap تے) یا exchange.GetOrders ((BTC_USDT تے) فیوچر ایکسچینج کے لئے: exchange.GetOrders ((BTC_USDT.swap)) ، تمام غیر مکمل احکامات (→ زیر التواء احکامات) کے لئے بی ٹی سی کے USDT پر مبنی مستقل معاہدوں کی تلاش کریں۔ فوری تبادلے کے لئے: exchange.GetOrders (( BTC_USDT تالا) ، تمام غیر مکمل احکامات (→ زیر التواء فہرستیں) کے لئے BTC_USDT فوری تجارت کے جوڑے کی تلاش کریں۔
  • صرف فیوچر ایکسچینجز کے لیے معاونت۔ exchange.GetOrders ((USDT.swap) تمام اقسام کی درخواستوں کی طول و عرض کی حد بتائیں۔ طول و عرض کی تقسیم کا دائرہ GetPositions فنکشن کے دائرے کے مطابق ہے۔ مثال کے طور پر: exchange.GetOrders ((USDT.swap) U کے لئے مستقل معاہدے کی حد میں تمام اقسام کے لئے غیر منقولہ احکامات (پینڈنگ احکامات) کی درخواست کریں۔

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

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

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

    // 写入图表
    var tbls = []
    for (var symbol of ["null", "ETH_USDT.swap", "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) +  "`")
}
  • جب کوئی پیرامیٹر منتقل نہیں کیا جاتا ہے تو ، تمام اقسام کے غیر مکمل احکامات کی درخواست کی جاتی ہے جو موجودہ تجارت کے جوڑے ((BTC_USDT) ، معاہدے کے کوڈ ((سواپ)) کے طول و عرض کی حد میں ہیں۔
  • پیرامیٹرز کی وضاحت کریںETH_USDT.swapجب آپریٹر ETH کی درخواست کرتا ہے تو ، USDT پر مبنی مستقل معاہدوں کے لئے غیر مکمل آرڈر (پینڈڈ) ۔
  • اسٹرنگ منتقل کریں"USDT.swap"اس کے بعد ، ایک بار جب آپ نے USDT کے ساتھ مستقل معاہدے کے تمام غیر مکمل احکامات (پینڈنگ لسٹ) کی درخواست کی تو ، آپ کو 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 سے تبدیل کر دیا گیا ہے تاکہ یہ ایک سٹرنگ فارمیٹ ہو جس میں ٹرانزیکشن کی اقسام شامل ہوں۔ FMZ پلیٹ فارم پر تمام پیکڈ آرڈر 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

exchange.GetPosition函数

صرف فیوچر ایکسچینج کے آبجیکٹ اس فنکشن کی حمایت کرتے ہیں ، اور اسٹاک ہولڈنگ ڈیٹا فنکشن کو حاصل کرنے کے لئے exchange.GetPosition ()) اور نئے exchange.GetPositions ()) کے نام سے جانا جاتا ہے ، دونوں کا رویہ بالکل مماثل ہے۔

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

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

مثال کے طور پر ، موجودہ ٹریڈنگ جوڑی BTC_USDT ہے ، اور معاہدہ کا کوڈ swap ہے۔ اس وقت کال کریں:

exchange.GetPosition() // 等价于调用 exchange.GetPosition("USDT.swap")

یہ فنکشن تمام کرنسیوں کے U بٹ مستقل معاہدوں کے لئے اسٹوریج ڈیٹا کی درخواست کرتا ہے۔

exchange.GetOrders函数

1، فوری طور پر تبادلے کے لئے:

پرانی تعریف: exchange.GetOrders (()) تقریب ، جب کوئی پیرامیٹر نہیں کہا جاتا ہے تو ، موجودہ ٹرانزیکشن جوڑی کے تمام غیر مکمل احکامات کو حاصل کرتا ہے۔

تبدیلی کے بعد ، نئی تعریف: exchange.GetOrders () ، جب کوئی پیرامیٹر نہیں کہا جاتا ہے تو ، تمام فوری طور پر تجارت کی قسم کے لئے غیر مکمل احکامات حاصل کیے جاتے ہیں۔

2، فیوچر ایکسچینج کے لئے:

پرانی تعریف: exchange.GetOrders (() تقریب، جب کسی بھی پیرامیٹر کو مخصوص نہیں کیا جاتا ہے تو، موجودہ ٹرانزیکشن جوڑی، معاہدے کے کوڈ کی ترتیب میں مخصوص معاہدے کے تمام غیر مکمل احکامات حاصل کرتا ہے.

تبدیلی کے بعد ، نئی تعریف: exchange.GetOrders () ، جب کوئی پیرامیٹر نہیں کہا جاتا ہے تو ، موجودہ سیٹ ٹرانزیکشن جوڑی ، معاہدے کے کوڈ کے ذریعہ طے شدہ طول و عرض کی حد میں تمام غیر مکمل احکامات حاصل کریں۔

مثال کے طور پر ، موجودہ ٹریڈنگ جوڑی BTC_USD ہے ، اور معاہدہ کا کوڈ ایک چوتھائی ہے۔ اس وقت کال کریں:

exchange.GetOrders()   // 等价于调用 exchange.GetOrders("USD.futures")

یہ فنکشن تمام کرنسیوں کے لئے کرنسی کی اصل شرح تبادلہ کے بارے میں غیر مکمل احکامات کے اعداد و شمار کی درخواست کرتا ہے۔

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

ٹکر ڈھانچہ

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

آرڈر ڈھانچہ

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

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

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

فنڈنگ ڈھانچہ

GetFundings فنکشن فنڈنگ ڈھانچے کی ایک صف واپس کرتا ہے۔

{
    "Info": {...},               // 交易所资金费率接口原始应答数据
    "Symbol": "BTC_USDT.swap",   // FMZ平台定义的品种名称
    "Interval": 28800000,        // 8小时间隔,单位毫秒
    "Time": 1729728000000,       // 本期资金费率收取时间
    "Rate": 0.0001,              // 资金费率,即 0.01 %
}

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

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

اس پلیٹ فارم کی حکمت عملی API انٹرفیس کو اپ گریڈ کرنے کے مطابق ، پلیٹ فارم کے ریٹیسٹنگ سسٹم میں موجود تمام API انٹرفیس کو ہم آہنگی سے اپ ڈیٹ کیا گیا ہے۔

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

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

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

3، گیٹ مارکیٹس فنکشن واپس آنے والے مارکیٹ کی ساخت میں CtValCcy فیلڈ شامل کریں

  • فیلڈCtValCcyایک معاہدے کی قدر کی اکائیوں کو ریکارڈ کیا جاتا ہے، ایک معاہدے کی قدر کی اکائیوں میں سے ایک یہ ہو سکتا ہے: بی ٹی سی، امریکی ڈالر، ای ٹی ایچ وغیرہ۔
  • فیلڈCtValایک معاہدے کی قیمت ریکارڈ کریں جس کی تجارت کی قسم ایک ایکسچینج میں ہے، یونٹ کے طور پرCtValCcyاس کے علاوہ، آپ کو اس بات کا یقین کرنے کی ضرورت ہے کہ آپ کے اکاؤنٹ میں کونسی کرنسی ہے.CtValیہ 0.01 ہے،CtValCcy"بی ٹی سی" کا مطلب ہے ایک معاہدہ جس کی قیمت 0.01 بی ٹی سی ہے۔

مزید

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 لاگ میں ظاہر نہیں ہوتے ہیں؟

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

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

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

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