[TOC]
ان کے موجد نے 9 سال کی تکنیکی تبدیلیوں کے بعد کئی بار کوالٹی ٹریڈنگ پلیٹ فارم کو دوبارہ ڈیزائن کیا ہے ، حالانکہ ہم صارفین کے طور پر شاید اس کا احساس نہیں کرتے ہیں۔ پچھلے دو سالوں میں ، پلیٹ فارم نے صارف کے تجربے کے لحاظ سے بہت ساری اصلاحات اور اپ گریڈ کیے ہیں ، بشمول UI کو مکمل طور پر اپ گریڈ کرنا ، کثرت سے استعمال ہونے والے کوالٹی ٹریڈنگ ٹولز کو بھرنا ، اور مزید ریٹرن ڈیٹا کی حمایت شامل کرنا۔
حکمت عملی کے ڈیزائن کو آسان بنانے کے لئے ، لین دین کی منطق کو واضح بنانے اور ابتدائیوں کے لئے آسان بنانے کے ل the ، پلیٹ فارم نے API انٹرفیس کو اپ گریڈ کیا ہے۔ تازہ ترین ورژن استعمال کرنے والے منتظمین کو ان نئی خصوصیات کو چالو کرنے کی اجازت ہے۔ پلیٹ فارم پرانے انٹرفیس کو زیادہ سے زیادہ مطابقت رکھتا ہے۔ API انٹرفیس کی نئی خصوصیات کے بارے میں معلومات کو مطابقت پذیر طور پر اپ ڈیٹ کیا گیا ہے تاکہ ایجاد کنندہ کو تجارتی پلیٹ فارم کی مقدار کو بڑھا سکے:
تو آئیے اس مضمون کے ذریعے ہم سب کو ایک نظر ڈالتے ہیں کہ کون سے انٹرفیس اپ گریڈ اپ ڈیٹس ہیں اور کون سی تبدیلیاں پرانی پالیسیوں کے استعمال کے لئے موجودہ API کے ساتھ مطابقت پذیر ہونے کی ضرورت ہے۔
اس طرح کے مجموعی مارکیٹ انٹرفیس کو ایک کثیر قسم کی حکمت عملی، پورے مارکیٹ مارکیٹ کی نگرانی کی حکمت عملی کے ڈیزائن کے لئے ضروری ہے؛ حکمت عملی کو تیار کرنے کے لئے آسان بنانے کے لئے اور پہیے کی نقل و حرکت سے بچنے کے لئے.
اگر تبادلے کے پاس ایسا انٹرفیس (انفرادی تبادلے) نہیں ہے تو ، کال کریں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
}
نئےexchange.CreateOrder()
اس اپ گریڈ میں فنکشنز کو اہم مقام دیا گیا ہے۔exchange.CreateOrder()
اس فنکشن کی سب سے بڑی خصوصیت یہ ہے کہ اس فنکشن کی پیرامیٹرز میں براہ راست آرڈر کی قسم ، سمت ، وغیرہ کی وضاحت کی جائے۔ اس طرح نظام کی موجودہ ترتیبات پر انحصار کرنے کی ضرورت نہیں ہے۔
متعدد تجارتوں کے تحت ایک ہی منظر نامے میں ، ہم آہنگی کے منظر نامے میں ڈیزائن کی پیچیدگی کو بہت کم کیا گیا ہے۔exchange.CreateOrder()
اس کے چار پیرامیٹرز ہیںsymbol
、side
、price
、amount
。
او کے ایکس فیوچر ڈسک ماحولیاتی ٹیسٹ:
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)
}
یہ صرف تین بار استعمال کیا گیا ہے.exchange.CreateOrder()
فنکشن کالز تین مختلف اقسام کے فیوچر آرڈرز کو مختلف سمتوں میں بھیجتی ہیں۔
نئےexchange.GetHistoryOrders()
یہ فنکشن کسی قسم کے تاریخی ٹرانزیکشن آرڈر کو حاصل کرنے کے لئے استعمال کیا جاتا ہے، جس میں ایکسچینج انٹرفیس کی حمایت کی ضرورت ہوتی ہے.
اس کے علاوہ ، یہ بھی کہا گیا ہے کہ یہ ایک بہت ہی اہم مسئلہ ہے ، لیکن یہ ایک بہت ہی اہم مسئلہ ہے۔
اس طرح کے انٹرفیس کو زیادہ سے زیادہ مطابقت کے ساتھ پیک کرنے کے لئے ، عملی استعمال میں اس بات کا خیال رکھنا ضروری ہے کہ آیا یہ پالیسی کی ضروریات ، توقعات کے مطابق ہے۔
تفصیلی افعال کے بارے میں مزید تفصیلات یہاں نہیں دی جا سکتی ہیں۔ آپ ان کے بارے میں 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) + "`")
}
پرانے ورژن کے لئے حاصل کرنے کے لئے ذخیرہ شدہ ڈیٹا کی تقریب ہےexchange.GetPosition()
اس اپ گریڈ میں فنکشن کے نام کے سیمنٹ کو بہتر بنانے کے لئے ایک نیا حصول ہولڈنگ فنکشن شامل کیا گیا ہے:exchange.GetPositions()
│ ابھی بھی ہم آہنگ / اپ گریڈ حاصل پوزیشن کی تقریب │
نوٹ کریں کہ دونوں فنکشن ناموں میں صرف ایک ختم ہونے والا s فرق ہے ، کیونکہ گیٹ پوزیشنز زیادہ سیمنٹک ہیں ، لہذا یہ تجویز کی جاتی ہے کہ بعد میں بھی گیٹ پوزیشنز استعمال کریں۔
exchange.GetPositions()
فنکشن کو تین قسم کے کالز ملتے ہیں:
exchange.GetPositions ((() جب کوئی پیرامیٹر منتقل نہیں کیا جاتا ہے، تو موجودہ کے مطابقمعاہدہ / معاہدہ کا کوڈکی ترتیبات، موجودہ طول و عرض کی تمام اقسام کے لئے ذخیرہ شدہ ڈیٹا کی درخواست کرتا ہے۔
exchange.GetPositions ((BTC_USD.swap
、ETH_USDT.swap
、ETH_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.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) + "`")
}
جب داخل ہوexchange.GetPositions()
اس فنکشن کے پیرامیٹرز ہیںETH_USDT.swap
اس کے علاوہ ، آپ کو ای ٹی ایچ کے یو بٹ پر مبنی مستقل معاہدوں کے ذخائر کے اعداد و شمار حاصل کرنے کی ضرورت ہوگی۔
جب نہ پہنچیںexchange.GetPositions()
جب فنکشن کے پیرامیٹرز میں ، تبادلے میں آن لائن آنے والے تمام یو بٹ مستقل معاہدوں کے انعقاد کا ڈیٹا حاصل کیا جاسکتا ہے ((کیونکہ موجودہ ٹرانزیکشن جوڑی BTC_USDT ہے ، معاہدہ تبادلہ ہے ، موجودہ ٹرانزیکشن جوڑی کے مطابق ، معاہدے کی وسعت کی درخواست) ، اس وقت کال کی قیمت کے برابر ہے)exchange.GetPositions("USDT.swap")
، درخواست کی حد کی وضاحت کریں۔
نیا فنکشن GetFundings فیوچر ایکسچینج پر مستقل معاہدوں کی سرمایہ کاری کی شرح حاصل کرتا ہے۔ اس فنکشن میں ایک پیرامیٹر علامت ہے۔ فنکشن فنڈنگ ڈھانچے کا ایک صف واپس کرتا ہے۔
BTC_USDT.swap
◎ کوئی پیرامیٹر منتقل نہ کریں یا رسائی کی حد کے افعال میں غلطی کی واپسی ہوگی symbol پیرامیٹرز کی حمایت نہیں کی جاتی ہے۔عمل کی تقریبexchange.GetTicker()
اس اپ گریڈ میں بنیادی طور پر علامت کی پیرامیٹرز کا اضافہ ہے۔ اس فنکشن کو موجودہ ٹرانزیکشن جوڑی سے الگ کرنے کی اجازت دیتا ہے۔ معاہدہ کا کوڈ براہ راست پیرامیٹرز کی وضاحت کے مطابق مختلف قسم کی معلومات ، مارکیٹ کے اعداد و شمار کی درخواست کرتا ہے۔ کوڈ لکھنے کے عمل کو آسان بنا دیتا ہے۔ اس کے ساتھ ساتھ نامکمل کال کرنے کے طریقوں کو بھی ہم آہنگ کرتا ہے ، جو زیادہ سے زیادہ پلیٹ فارم کی پرانی حکمت عملی کے ساتھ مطابقت رکھتا ہے۔
پیرامیٹرزsymbol
تبادلے کے لئےexchange
یہ مختلف فارمیٹس میں دستیاب ہیں:
AAA_BBB
اے اے اے کا مطلب ہے بیس کرنسی یا تجارتی کرنسی۔ بی بی بی کا مطلب ہے کوٹ کرنسی یا قیمتوں کا تعین کرنسی۔ کرنسی کے نام بڑے حروف میں ہیں۔
مثال کے طور پر: بی ٹی سی_یو ایس ڈی ٹی فوری تجارت کی جوڑی۔AAA_BBB.XXX
AAA تجارتی کرنسی کے لئے بیس کرنسی کے طور پر ظاہر ہوتا ہے، 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
}
ایک مخصوص قسم کے بازار کے اعداد و شمار کے ڈیزائن کو آسان بنانے کے لئے درخواست دیں.
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"))
}
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) + "`")
}
اس اپ گریڈ کو بھی ہم آہنگ کیا گیا ہےexchange.Go()
فنکشن بیک وقت کال پلیٹ فارم API انٹرفیس پر علامت پیرامیٹر مخصوص قسم کی معلومات منتقل کرتا ہے۔
GetRecords فنکشن نے اس بار بڑے پیمانے پر تبدیلیاں کیں ، اس کے علاوہ اس نے K لائن ڈیٹا کی مختلف اقسام کی معلومات کی حمایت کی ، جس میں علامت کے پیرامیٹرز کو براہ راست درخواست کی گئی ہے۔ K لائن کے دورانیے کی وضاحت کرنے کے لئے اصل مدت کے پیرامیٹرز کو برقرار رکھا گیا ہے ، اور درخواست کے دوران مطلوبہ K لائن کی لمبائی کی وضاحت کرنے کے لئے ایک حد کا پیرامیٹر شامل کیا گیا ہے۔ اس کے علاوہ ، یہ بھی ہم آہنگ ہے کہ پرانے ورژن کے GetRecords فنکشن صرف مدت کے دورانیے کے پیرامیٹرز کو منتقل کرنے کے لئے کال کرنے کا طریقہ استعمال کرتے ہیں۔
exchange.GetRecords()
فنکشن کو کیسے بلایا جائے:
ٹویٹر پر ایک صارف نے لکھا:
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)
}
GetOrders فنکشن بھی شامل کیا گیا ہےsymbol
پیرامیٹرز ، مخصوص قسم کی وضاحت کرسکتے ہیں ، اور اس قسم کے نامکمل احکامات کی تلاش کرسکتے ہیں (مسلسل فہرست) ؛ اور مخصوص طول و عرض کی حد میں تمام قسم کے نامکمل احکامات (مسلسل فہرست) کی تلاش کی حمایت کرتے ہیں۔
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", "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) + "`")
}
ETH_USDT.swap
جب آپریٹر ETH کی درخواست کرتا ہے تو ، USDT پر مبنی مستقل معاہدوں کے لئے غیر مکمل آرڈر (پینڈڈ) ۔"USDT.swap"
اس کے بعد ، ایک بار جب آپ نے USDT کے ساتھ مستقل معاہدے کے تمام غیر مکمل احکامات (پینڈنگ لسٹ) کی درخواست کی تو ، آپ کو USDT کے ساتھ مستقل معاہدے کی درخواست کرنے کی ضرورت ہوگی۔اب بھی پرانے اسٹوریج حاصل کرنے والے فنکشن کے ناموں کے ساتھ مطابقت رکھتا ہے ، اسی طرح علامت کے پیرامیٹرز کو شامل کیا گیا ہے ، جس سے مخصوص درخواست کردہ اسٹوریج ڈیٹا کی مختلف اقسام کی معلومات کی وضاحت کی جاسکتی ہے۔exchange.GetPositions()
یہ ایک مکمل اتفاق ہے۔
کے لئے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")
}
اس اپ گریڈ نے بنیادی طور پر متاثر کیاexchange.GetOrder(id)
فنکشن کے پیرامیٹرزid
،id پیرامیٹرز کو اصل ایکسچینج آرڈر id سے تبدیل کر دیا گیا ہے تاکہ یہ ایک سٹرنگ فارمیٹ ہو جس میں ٹرانزیکشن کی اقسام شامل ہوں۔ FMZ پلیٹ فارم پر تمام پیکڈ آرڈر ID اس فارمیٹ کے لئے ہیں۔
مثال کے طور پر
123456
اس اپ گریڈ سے پہلے، اگر آپ GetOrder کو کال کرنا چاہتے ہیں تو، آرڈر کی شناخت درج کی گئی ہے:123456
。BTC-USDT
◄
نوٹ کریں کہ یہاں تبادلہ ناموں کے ذریعہ تجارت کی قسم کے کوڈ کے بارے میں بات کی جارہی ہے ، نہ کہ ایف ایم زیڈ پلیٹ فارم کے ذریعہ بیان کردہ تجارت کی جوڑی۔اس کے بعد ، ہم نے اس کو اپ گریڈ کیا ،exchange.GetOrder(id)
اس کے بعد، آپ کو اس بات کا یقین کرنے کی ضرورت ہے کہ آپ کے پاس ایک مختلف فارمیٹ ہے.BTC-USDT,123456
。
اس کے علاوہ ، یہ بھی کہا جاتا ہے کہ یہ ایک بہت ہی دلچسپ ڈیزائن ہے ، لیکن یہ ایک بہت ہی دلچسپ ڈیزائن ہے۔ چونکہ اس بار CreateOrder فنکشن کو اپ گریڈ کیا گیا ہے جس میں براہ راست مختلف قسم کے احکامات کی وضاحت کی گئی ہے ، لہذا اگر واپس آنے والے آرڈر کی شناخت میں مختلف قسم کی معلومات شامل نہیں ہیں تو ، یہ آرڈر کی شناخت استعمال نہیں کی جاسکتی ہے۔ چونکہ یہ معلوم نہیں ہوتا ہے کہ یہ آرڈر کس قسم کا ہے جب یہ مخصوص انوائس میں آتا ہے۔ زیادہ تر ایکسچینج انوائسز اور انوائسز کو انوائس کوڈ کی وضاحت کرنے والے پیرامیٹرز کی وضاحت کرنے کی ضرورت ہوتی ہے۔
اس اثر کو کس طرح جوڑنا ہے: اگر آپ کا آرڈر exchange.IO فنکشن کا استعمال کرتے ہوئے براہ راست ایکسچینج کے آرڈر انٹرفیس کو کال کرتا ہے تو ، واپسی کی قیمت میں عام طور پر ایکسچینج کا اصل علامت (مختلف قسم کا کوڈ) اور اصل آرڈر آئی ڈی ہوتا ہے۔ پھر ان دونوں کو انگریزی کوما کے ساتھ جوڑنا ایف ایم زیڈ پلیٹ فارم کی وضاحت کے مطابق آرڈر آئی ڈی ہے۔ اسی طرح ، اگر ایف ایم زیڈ پلیٹ فارم کے احاطہ کردہ نیچے آرڈر انٹرفیس کا استعمال کیا جاتا ہے تو ، اگر آرڈر کی اصل شناخت استعمال کرنے کی ضرورت ہو تو ، صرف قسم کا کوڈ اور کوما کو ہٹانے کی ضرورت ہوگی ، کیونکہ آرڈر ID کا ابتدائی حصہ ٹرانزیکشن کی قسم کا کوڈ ہے۔
اس اپ گریڈ کے لئےexchange.CancelOrder()
افعال کے اثرات اورexchange.GetOrder()
یہ ایک ہی فنکشن ہے۔
اس اپ گریڈ کے لئےexchange.Buy()
افعال کے اثرات اورexchange.GetOrder()
یہ ایک ہی فنکشن ہے۔exchange.Buy()
فنکشن کی واپسی کا آرڈر آئی ڈی ایک نئی ساخت ہے، جیسے کہ جب آپ نے او کے ایکس ایکس ایکسچینج کے مستقبل میں آرڈر دیا تو واپسی کا آئی ڈی:LTC-USDT-SWAP,1578360858053058560
。
اس اپ گریڈ کے لئےexchange.Sell()
افعال کے اثرات اورexchange.GetOrder()
یہ ایک ہی فنکشن ہے۔exchange.Sell()
فنکشن کی واپسی کا آرڈر آئی ڈی ایک نئی ساخت ہے، جیسے کہ جب آپ نے او کے ایکس ایکس ایکسچینج کے مستقبل میں آرڈر دیا تو واپسی کا آئی ڈی:ETH-USDT-SWAP,1578360832820125696
。
صرف فیوچر ایکسچینج کے آبجیکٹ اس فنکشن کی حمایت کرتے ہیں ، اور اسٹاک ہولڈنگ ڈیٹا فنکشن کو حاصل کرنے کے لئے exchange.GetPosition ()) اور نئے exchange.GetPositions ()) کے نام سے جانا جاتا ہے ، دونوں کا رویہ بالکل مماثل ہے۔
پرانی تعریف: exchange.GetPosition () ، جب کوئی پیرامیٹر نہیں کہا جاتا ہے تو ، موجودہ ٹرانزیکشن جوڑی ، معاہدے کے کوڈ کی ترتیب میں مخصوص معاہدے کے ہولڈنگ ڈیٹا کو حاصل کرتا ہے۔
ایڈجسٹمنٹ، تبدیلی کے بعد، نئی تعریف: exchange.GetPosition (() فنکشن، بغیر کسی پیرامیٹر کو مخصوص کرنے کے لئے کال کیا جاتا ہے، موجودہ سیٹ ٹرانزیکشن جوڑی، معاہدے کے کوڈ کے طور پر مقرر کردہ طول و عرض کی حد کے تمام اقسام کی ہولڈنگ حاصل کرتا ہے۔
مثال کے طور پر ، موجودہ ٹریڈنگ جوڑی BTC_USDT ہے ، اور معاہدہ کا کوڈ swap ہے۔ اس وقت کال کریں:
exchange.GetPosition() // 等价于调用 exchange.GetPosition("USDT.swap")
یہ فنکشن تمام کرنسیوں کے U بٹ مستقل معاہدوں کے لئے اسٹوریج ڈیٹا کی درخواست کرتا ہے۔
1، فوری طور پر تبادلے کے لئے:
پرانی تعریف: exchange.GetOrders (()) تقریب ، جب کوئی پیرامیٹر نہیں کہا جاتا ہے تو ، موجودہ ٹرانزیکشن جوڑی کے تمام غیر مکمل احکامات کو حاصل کرتا ہے۔
تبدیلی کے بعد ، نئی تعریف: exchange.GetOrders () ، جب کوئی پیرامیٹر نہیں کہا جاتا ہے تو ، تمام فوری طور پر تجارت کی قسم کے لئے غیر مکمل احکامات حاصل کیے جاتے ہیں۔
2، فیوچر ایکسچینج کے لئے:
پرانی تعریف: exchange.GetOrders (() تقریب، جب کسی بھی پیرامیٹر کو مخصوص نہیں کیا جاتا ہے تو، موجودہ ٹرانزیکشن جوڑی، معاہدے کے کوڈ کی ترتیب میں مخصوص معاہدے کے تمام غیر مکمل احکامات حاصل کرتا ہے.
تبدیلی کے بعد ، نئی تعریف: exchange.GetOrders () ، جب کوئی پیرامیٹر نہیں کہا جاتا ہے تو ، موجودہ سیٹ ٹرانزیکشن جوڑی ، معاہدے کے کوڈ کے ذریعہ طے شدہ طول و عرض کی حد میں تمام غیر مکمل احکامات حاصل کریں۔
مثال کے طور پر ، موجودہ ٹریڈنگ جوڑی BTC_USD ہے ، اور معاہدہ کا کوڈ ایک چوتھائی ہے۔ اس وقت کال کریں:
exchange.GetOrders() // 等价于调用 exchange.GetOrders("USD.futures")
یہ فنکشن تمام کرنسیوں کے لئے کرنسی کی اصل شرح تبادلہ کے بارے میں غیر مکمل احکامات کے اعداد و شمار کی درخواست کرتا ہے۔
اس تازہ کاری میں ٹککر ڈھانچے میں ایک علامت فیلڈ شامل کی گئی ہے ، جس میں موجودہ ٹککر ڈھانچے کے بارے میں تجارتی معلومات درج ہیں۔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 %
}
اس اپ گریڈ میں صارفین کی ضروریات کو پورا کرنے کے لئے پہلے ورچوئل ڈسک کے ساتھ ہم آہنگی کی جائے گی ، اور ریٹیسٹنگ سسٹم ایک ہفتے کے اندر اندر موافقت کو مکمل کرے گا۔ اگر انفرادی پالیسی کا کوڈ متاثر ہوتا ہے تو ، براہ کرم اس مضمون کی وضاحت کے مطابق موافقت کو تبدیل کریں۔
اس پلیٹ فارم کی حکمت عملی API انٹرفیس کو اپ گریڈ کرنے کے مطابق ، پلیٹ فارم کے ریٹیسٹنگ سسٹم میں موجود تمام API انٹرفیس کو ہم آہنگی سے اپ ڈیٹ کیا گیا ہے۔
فیوچر ایکسچینج کے اعتراض کے لئے ممبر افعالGetAccount
واپسAccount
اس کی ساخت میں فیلڈز میں توسیع کی گئی ہے۔
فیوچر ایکسچینج آبجیکٹ کے ممبر فنکشن سیٹ مارجن لیول کو اپ گریڈ کیا گیا ہے ، جس میں پیرامیٹر علامت شامل ہے۔
ٹیسٹ کی مثال:
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)
}
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 لاگ میں ظاہر نہیں ہوتے ہیں؟
ایجاد کاروں کی مقدار - خوابہیلو، آپ کو موجودہ ایکسچینج کی ترتیبات، ٹریڈنگ کے جوڑے، معاہدہ کوڈ کی ترتیبات بھیجیں.
ایجاد کنندہ کوانٹائزیشنبراہ کرم ٹیسٹ کوڈ اور ترتیب کی تفصیلات فارم میں بھیجیں، انجینئر آپ کو پہلے وقت میں جواب دیں گے
ایجاد کاروں کی مقدار - خواباس کے علاوہ ، یہ بھی کہا گیا ہے کہ یہ ایک بہت بڑا مسئلہ ہے ، لیکن اس کے بارے میں مزید معلومات حاصل کرنے کے لئے ، آپ کو اس کے بارے میں مزید جاننے کی ضرورت ہے۔
ایجاد کاروں کی مقدار - خوابآپ کی مدد کے لئے شکریہ ، اگر آپ کو کوئی پریشانی ہو تو ، آپ کو درخواستیں بھیجنے یا تبصرے کرنے کی ضرورت ہے۔