[TOC]
9 سال کی تکنیکی تکرار کے بعد ، ایف ایم زیڈ کوانٹ ٹریڈنگ پلیٹ فارم کو کئی بار دوبارہ تعمیر کیا گیا ہے ، حالانکہ صارفین کی حیثیت سے ہم نے اسے محسوس نہیں کیا ہوگا۔ پچھلے دو سالوں میں ، پلیٹ فارم نے صارف کے تجربے کے لحاظ سے بہت ساری اصلاحات اور اپ گریڈ کیے ہیں ، بشمول UI انٹرفیس کی جامع اپ گریڈ ، عام طور پر استعمال ہونے والے مقداری تجارتی ٹولز کی افزودگی ، اور زیادہ بیک ٹیسٹنگ ڈیٹا سپورٹ کا اضافہ۔
حکمت عملی کے ڈیزائن کو زیادہ آسان ، تجارتی منطق کو واضح اور ابتدائیوں کے لئے شروع کرنا آسان بنانے کے ل the ، پلیٹ فارم نے حکمت عملی کے ذریعہ استعمال ہونے والے API انٹرفیس کو اپ گریڈ کیا ہے۔ تازہ ترین ورژن کا استعمال کرتے ہوئے ڈوکرز ان نئی خصوصیات کو فعال کرسکتے ہیں۔ پلیٹ فارم اب بھی بڑی حد تک پرانے انٹرفیس کالز کے ساتھ مطابقت رکھتا ہے۔ API انٹرفیس کی نئی خصوصیات کے بارے میں معلومات کو ایف ایم زیڈ کوانٹ ٹریڈنگ پلیٹ فارم کے API دستاویزات میں اپ ڈیٹ کیا گیا ہے:
نحو رہنما:https://www.fmz.com/syntax-guideصارف گائیڈ:https://www.fmz.com/user-guide
تو آئیے ایک فوری نظر ڈالتے ہیں کہ کون سے انٹرفیس کو اپ گریڈ کیا گیا ہے اور موجودہ API کے ساتھ ہم آہنگ بنانے کے لئے پرانی حکمت عملیوں کو استعمال کرنے کے لئے کیا تبدیلیوں کی ضرورت ہے۔
ملٹی پروڈکٹ کی حکمت عملیوں اور مکمل مارکیٹ مانیٹرنگ کی حکمت عملیوں کے ڈیزائن کے لئے ، مجموعی مارکیٹ انٹرفیس ضروری ہے۔ حکمت عملی کو تیار کرنے میں آسانی پیدا کرنے اور واقعات کو دوبارہ ایجاد کرنے سے بچنے کے ل the ، ایف ایم زیڈ کوانٹ ٹریڈنگ پلیٹ فارم اس قسم کے تبادلے API کو شامل کرتا ہے۔
اگر تبادلے میں یہ انٹرفیس نہیں ہے (انفرادی تبادلے) ، کال کرتے وقتexchange.GetTickers()
، ایک غلطی کا پیغام دکھایا گیا ہے: معاونت نہیں کی جاتی ہے۔
اس فنکشن میں کوئی پیرامیٹرز نہیں ہیں اور یہ ایکسچینج کے مجموعی مارکیٹ انٹرفیس میں تمام اقسام کے ریئل ٹائم مارکیٹ ڈیٹا کو واپس کرے گا۔ اسے صرف اس طرح سمجھا جاسکتا ہے:
exchange.GetTickers()
تقریب کی مکمل خصوصیات کی درخواست ورژن ہےexchange.GetTicker()
تقریب (خبردار دیکھو، ان دو تقریب ناموں کے درمیان فرق صرف واحد اور جمع ہے).
ہم ٹیسٹنگ کے لئے OKX سپاٹ سیمولیشن ماحول کا استعمال کرتے ہیں:
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
.
OKX فیوچر سیمولیشن ماحول کا استعمال کرتے ہوئے ٹیسٹ:
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")
// Write to chart
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()
ایک ہی وقت میں، یہ اب بھی GetPosition تقریب کے ساتھ ہم آہنگ / اپ گریڈ ہے.
نوٹ کریں کہ دونوں فنکشن ناموں میں صرف آخری ایس کے ذریعہ فرق ہے۔ چونکہ گیٹ پوزیشنز زیادہ معنوی طور پر درست ہیں ، لہذا مستقبل میں گیٹ پوزیشنز کا استعمال کرنے کی سفارش کی جاتی ہے۔
کےexchange.GetPositions()
فنکشن کی تین کالنگ شکلیں ہیں:
تبادلہ.GetPositions() جب کوئی پیرامیٹرز منظور نہیں کر رہے ہیں، موجودہ طول و عرض میں تمام اقسام کی پوزیشن کے اعداد و شمار موجودہ کی ترتیبات کے مطابق کی درخواست کی جاتی ہےتجارتی جوڑا / معاہدہ کا کوڈ.
exchange.GetPositions ((BTC_USD.swap
, ETH_USDT.swap
, ETH_USDT.quarter
، وغیرہ
BTC_USD.swap: BTC
exchange.GetPositions ((
کچھ خصوصی تبادلہ معاہدے کے طول و عرض کے ڈویژن:
USDT.futures_combo: Futures_Deribit exchange
OKX فیوچر سیمولیشن ماحول کا استعمال کرتے ہوئے ٹیسٹ:
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
، ETH
جب پیرامیٹرز کےexchange.GetPositions()
فنکشن میں منتقل نہیں ہوتے ہیں، تبادلے پر درج تمام U پر مبنی دائمی معاہدوں کے پوزیشن ڈیٹا حاصل کیے جاسکتے ہیں (کیونکہ موجودہ ٹریڈنگ جوڑی BTC_USDT ہے اور معاہدہ تبادلہ ہے ، درخواست موجودہ ٹریڈنگ جوڑی اور معاہدے کی طول و عرض کی حد پر مبنی ہے) ۔ یہ کال کرنے کے برابر ہے۔exchange.GetPositions("USDT.swap")
اور درخواست کی حد کی وضاحت.
مارکیٹ فنکشن کی اہم اپ گریڈexchange.GetTicker()
اس کے علاوہ ، اس کے علاوہ ، اس کے علاوہ ، اس کے علاوہ ، اس کے علاوہ ، اس کے علاوہ ، اس کے علاوہ ، اس کے علاوہ ، اس کے علاوہ ، اس کے علاوہ ، اس کے علاوہ ، اس کے علاوہ ، اس کے علاوہ ، اس کے علاوہ ، اس کے علاوہ ، اس کے علاوہ ، اس کے علاوہ ، اس کے علاوہ ، اس کے علاوہ ، اس کے علاوہ ، اس کے علاوہ ، اس کے علاوہ ، اس کے علاوہ ، اس کے علاوہ ، اس کے علاوہ ، اس کے علاوہ ، اس کے علاوہ ، اس کے علاوہ ، اس کے علاوہ ، اس کے علاوہ ، اس کے علاوہ ، اس کے علاوہ ، اس کے علاوہ ، اس کے علاوہ ، اس کے علاوہ ، اس کے علاوہ ، اس کے علاوہ ، اس کے علاوہ ، اس کے علاوہ ، اس کے علاوہ ، اس کے علاوہ ، اس کے علاوہ ، اس کے علاوہ ، اس کے علاوہ ، اس کے علاوہ ، اس کے علاوہ ، اس کے علاوہ ، اس کے علاوہ ، اس کے علاوہ ، اس کے علاوہ ، اس کے علاوہ ، اس کے علاوہ ، اس کے علاوہ ، اس کے علاوہ ، اس کے علاوہ ، اس کے علاوہ ، اس کے علاوہ ، اس کے علاوہ ، اس کے علاوہ ، اس کے علاوہ ، اس کے علاوہ ، اس کے علاوہ ، اس کے علاوہ ، اس کے علاوہ
پیرامیٹرsymbol
تبادلہ کے مقصد کے لئے اسپاٹ/فیوچر کے لئے مختلف فارمیٹس ہیںexchange
:
AAA_BBB
، اے اے اے بی ایس کرنسی ، یعنی تجارتی کرنسی کی نمائندگی کرتا ہے ، اور بی بی بی کوٹ کرنسی ، یعنی قیمتوں کا تعین کرنے والی کرنسی کی نمائندگی کرتا ہے۔ کرنسی کے نام سب بڑے حروف میں ہیں۔
مثال کے طور پر: BTC_USDT اسپاٹ ٹریڈنگ جوڑی۔AAA_BBB.XXX
، AAA بیس کرنسی ، یعنی تجارتی کرنسی کی نمائندگی کرتا ہے ، BBB کوٹ کرنسی ، یعنی قیمتوں کا تعین کرنے والی کرنسی کی نمائندگی کرتا ہے ، اور XXX معاہدے کے کوڈ کی نمائندگی کرتا ہے ، جیسے دائمی معاہدہ تبادلہ۔ کرنسی کے نام سب بڑے حروف میں ہیں ، اور معاہدے کے کوڈز چھوٹے حروف میں ہیں۔
مثال کے طور پر: BTC_USDT.swap، BTCvar 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 انٹرفیس کو بیک وقت کال کرتے وقت فنکشن.
گیٹ ریکارڈز فنکشن کو اس بار بہت زیادہ ایڈجسٹ کیا گیا ہے۔ مطلوبہ K لائن ڈیٹا کی قسم کی معلومات کو براہ راست متعین کرنے کے لئے علامت پیرامیٹر کی حمایت کے علاوہ ، K لائن مدت کی وضاحت کے لئے اصل مدت پیرامیٹر کو برقرار رکھا گیا ہے ، اور درخواست کرتے وقت متوقع K لائن لمبائی کی وضاحت کے لئے ایک حد پیرامیٹر شامل کیا گیا ہے۔ اسی وقت ، یہ گیٹ ریکارڈز فنکشن کے پرانے ورژن کے ساتھ بھی مطابقت رکھتا ہے جو صرف مدت پیرامیٹر میں گزرتا ہے۔
کال کرنے کا طریقہ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 time difference between adjacent bars:", r1[1].Time - r1[0].Time, "Milliseconds, Bar length:", r1.length)
Log("r2 time difference between adjacent bars:", r2[1].Time - r2[0].Time, "Milliseconds, Bar length:", r2.length)
Log("r3 time difference between adjacent bars:", r3[1].Time - r3[0].Time, "Milliseconds, Bar length:", r3.length)
Log("r4 time difference between adjacent bars:", r4[1].Time - r4[0].Time, "Milliseconds, Bar length:", r4.length)
Log("r5 time difference between adjacent bars:", r5[1].Time - r5[0].Time, "Milliseconds, Bar length:", r5.length)
}
GetOrders فنکشن بھی شامل کرتا ہےsymbol
پیرامیٹرز، جو ایک مخصوص علامت کی وضاحت کرنے اور اس علامت کے نامکمل احکامات (انتظامی احکامات) کی پوچھ گچھ کرنے کے لئے استعمال کیا جا سکتا ہے؛ یہ بھی مخصوص طول و عرض کی حد میں تمام علامات کے نامکمل احکامات (انتظامی احکامات) کی پوچھ گچھ کرنے کی حمایت کرتا ہے.
کےexchange.GetOrders()
فنکشن مندرجہ ذیل طریقوں سے بلایا جا سکتا ہے:
OKX فیوچر سیمولیشن ماحول کا استعمال کرتے ہوئے ٹیسٹ:
function main() {
exchange.IO("simulate", true)
exchange.SetCurrency("BTC_USDT")
exchange.SetContractType("swap")
// Write to chart
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.swap"
منظور کیا جاتا ہے، تمام یو ایس ڈی ٹی پر مبنی مستقل معاہدوں کے نامکمل احکامات (انتظامی احکامات) کی درخواست کی جاتی ہے۔
یہ اب بھی پرانے پوزیشن حصول کے فنکشن کے نام کے ساتھ مطابقت رکھتا ہے، اور علامت پیرامیٹر بھی شامل کرتا ہے، جو مخصوص مطلوبہ پوزیشن کے اعداد و شمار کی قسم کی معلومات کی وضاحت کرسکتا ہے.
اس فنکشن کا استعمال بالکل اسی طرح ہےexchange.GetPositions()
.
کے لئےexchange.IO("api", ...)
فنکشن کالز، تمام تبادلہ اشیاء مکمل درخواست پتوں کی براہ راست گزر حمایت کرنے کے لئے اپ گریڈ کیا گیا ہے.
مثال کے طور پر، اگر آپ OKX انٹرفیس کو کال کرنا چاہتے ہیں:
// GEThttps://www.okx.com/api/v5/account/max-withdrawal ccy: بی ٹی سی
بیس ایڈریس پر براہ راست لکھنے کی حمایت کرتا ہےhttps://www.okx.com
پہلے بیس ایڈریس تبدیل کرنے اور پھر IO فنکشن کو کال کرنے کے بغیر.
OKX فیوچر سیمولیشن ماحول کا استعمال کرتے ہوئے ٹیسٹ:
function main() {
exchange.IO("simulate", true)
return exchange.IO("api", "GET", "https://www.okx.com/api/v5/account/max-withdrawal", "ccy=BTC")
}
یہ اپ گریڈ بنیادی طور پر پیرامیٹر کو متاثر کرتا ہےid
کےexchange.GetOrder(id)
فنکشن۔ آئی ڈی پیرامیٹر کو اصل ایکسچینج آرڈر آئی ڈی سے تبدیل کر کے اسٹرینگ فارمیٹ میں تبدیل کیا جاتا ہے جس میں ٹریڈنگ پروڈکٹ شامل ہوتا ہے۔
ایف ایم زیڈ پلیٹ فارم پر تمام آرڈر آئی ڈی اس فارمیٹ میں ہیں۔
مثلاً:
123456
اس اپ گریڈ سے پہلے، اگر آپ GetOrder تقریب کو فون کرنا چاہتے ہیں تو، آرڈر ID میں منتقل کیا جاتا ہے123456
.BTC-USDT
.
نوٹ کریں کہ اس سے مراد تبادلے کے ذریعہ نامزد کردہ تجارتی مصنوع کا کوڈ ہے ، نہ کہ ایف ایم زیڈ پلیٹ فارم کے ذریعہ بیان کردہ تجارتی جوڑی۔اس اپ گریڈ کے بعد، پیرامیٹر آئی ڈی کی شکل جس میں پاس کرنے کی ضرورت ہےexchange.GetOrder(id)
فنکشن کو ایڈجسٹ کیا جاتا ہے:BTC-USDT,123456
.
سب سے پہلے، مجھے وضاحت کرنے دیں کہ یہ ڈیزائن کیوں کیا گیا ہے: چونکہ آرڈر کی قسم کو براہ راست متعین کرنے کے لئے تخلیق آرڈر فنکشن کو اپ گریڈ کیا گیا ہے (مقرر کردہ آرڈر کی قسم فی الحال طے شدہ ٹریڈنگ جوڑی اور معاہدے کے کوڈ سے مختلف ہوسکتی ہے۔ اگر واپس آنے والے آرڈر کی شناخت میں قسم کی معلومات شامل نہیں ہیں تو ، اس آرڈر کی شناخت غیر استعمال شدہ ہوگی۔ کیونکہ آرڈر کی جانچ پڑتال کرتے وقت ، ہمیں نہیں معلوم کہ آرڈر کس قسم (معاہدہ) کے لئے ہے۔ زیادہ تر تبادلے میں آرڈرز کی جانچ پڑتال اور منسوخی کے وقت قسم کے کوڈ کی وضاحت کرنے والے پیرامیٹرز کی وضاحت کی ضرورت ہوتی ہے۔
اس اثر کے ساتھ مطابقت کیسے کریں: اگر آپexchange.IOایک آرڈر رکھنے کے لئے براہ راست ایکسچینج آرڈر انٹرفیس کو کال کرنے کی تقریب ، واپسی کی قیمت میں عام طور پر ایکسچینج کی اصل علامت (پروڈکٹ کوڈ) اور اصل آرڈر کی شناخت ہوتی ہے۔ پھر انگریزی کوما کے ساتھ دونوں کو جوڑنا آرڈر کی شناخت ہوگی جو ایف ایم زیڈ پلیٹ فارم کی تعریف کے مطابق ہے۔ اسی طرح ، اگر آپ آرڈر دینے کے لئے ایف ایم زیڈ پلیٹ فارم انکیپسولڈ آرڈر انٹرفیس کا استعمال کرتے ہیں ، کیونکہ آرڈر آئی ڈی کا آغاز ٹریڈنگ پروڈکٹ کوڈ ہے ، اگر آپ کو اصل آرڈر آئی ڈی استعمال کرنے کی ضرورت ہو تو ، صرف پروڈکٹ کوڈ اور کوما کو حذف کریں۔
اس اپ گریڈ کے اثراتexchange.CancelOrder()
تقریب کے طور پر ایک ہی ہےexchange.GetOrder()
function.
اس اپ گریڈ کے اثراتexchange.Buy()
تقریب کے طور پر ایک ہی ہےexchange.GetOrder()
فنکشن.
آرڈر ID کی طرف سے واپسexchange.Buy()
فنکشن ایک نیا ڈھانچہ ہے، مثال کے طور پر، OKX ایکسچینج پر فیوچر آرڈر رکھنے پر واپس آئی ڈی ہے:LTC-USDT-SWAP,1578360858053058560
.
اس اپ گریڈ کے اثراتexchange.Sell()
تقریب کے طور پر ایک ہی ہےexchange.GetOrder()
فنکشن.
آرڈر ID کی طرف سے واپسexchange.Sell()
فنکشن ایک نیا ڈھانچہ ہے، مثال کے طور پر، OKX ایکسچینج پر فیوچر آرڈر رکھنے پر واپس آئی ڈی ہے:ETH-USDT-SWAP,1578360832820125696
.
صرف فیوچر ایکسچینج آبجیکٹ اس فنکشن کی حمایت کرتے ہیں۔ پوزیشن کے اعداد و شمار حاصل کرنے کے لئے تبادلہ.GetPosition() فنکشن کے ل a ، ایک نیا تبادلہ.GetPositions() نام شامل کیا جاتا ہے ، اور دونوں طرز عمل بالکل ایک جیسے ہیں۔
پرانی تعریف: exchange.GetPosition() فنکشن، جب کسی بھی پیرامیٹرز کی وضاحت کے بغیر بلایا جاتا ہے، موجودہ ٹریڈنگ جوڑی اور معاہدے کے کوڈ کی طرف سے مقرر مخصوص معاہدے کی پوزیشن کے اعداد و شمار حاصل کرتا ہے. ایڈجسٹمنٹ اور ترمیم کے بعد، نئی تعریف: exchange.GetPosition() تقریب، جب کسی بھی پیرامیٹرز کی وضاحت کے بغیر بلایا جاتا ہے، موجودہ سیٹ ٹریڈنگ جوڑی اور معاہدے کے کوڈ کی طرف سے مقرر طول و عرض کی حد میں تمام اقسام کی پوزیشن حاصل کرتا ہے.
مثال کے طور پر ، موجودہ تجارتی جوڑی BTC_USDT ہے اور معاہدہ کا کوڈ تبادلہ ہے۔ اس وقت ، کال کریں:
exchange.GetPosition() // Equivalent to calling exchange.GetPosition("USDT.swap")
یہ فنکشن تمام کرنسیوں کے U پر مبنی مستقل معاہدوں کے پوزیشن ڈیٹا کی درخواست کرے گا۔
پرانی تعریف: exchange.GetOrders() تقریب، جب کسی بھی پیرامیٹرز کی وضاحت کے بغیر بلایا جاتا ہے، موجودہ ٹریڈنگ جوڑی کے تمام نامکمل احکامات حاصل کرتا ہے. ایڈجسٹمنٹ اور ترمیم کے بعد ، نئی تعریف یہ ہے: exchange.GetOrders() فنکشن ، جب کسی بھی پیرامیٹر کی وضاحت کیے بغیر بلایا جاتا ہے تو ، تمام اسپاٹ ٹریڈنگ جوڑوں کے نامکمل آرڈرز حاصل کرتا ہے۔
پرانی تعریف: exchange.GetOrders() فنکشن، جب کسی بھی پیرامیٹرز کی وضاحت کے بغیر بلایا جاتا ہے، تو موجودہ ٹریڈنگ جوڑی اور معاہدے کے کوڈ کی طرف سے مقرر کردہ مخصوص معاہدے کے تمام نامکمل احکامات حاصل کرتا ہے. ایڈجسٹمنٹ اور ترمیم کے بعد ، نئی تعریف یہ ہے: exchange.GetOrders() فنکشن ، جب کسی بھی پیرامیٹر کی وضاحت کیے بغیر بلایا جاتا ہے ، تو موجودہ ٹریڈنگ جوڑی اور معاہدے کے کوڈ کے ذریعہ طے شدہ طول و عرض کی حد کے تمام نامکمل احکامات حاصل کرتا ہے۔
مثال کے طور پر ، موجودہ تجارتی جوڑی BTC_USD ہے اور معاہدہ کا کوڈ سہ ماہی ہے۔ اس وقت ، کال کریں:
exchange.GetOrders() // Equivalent to calling exchange.GetOrders("USD.futures")
یہ فنکشن تمام سکے پر مبنی فیوچر معاہدوں کے بقایا آرڈر ڈیٹا کی درخواست کرے گا۔
اس اپ ڈیٹ میں ٹکر ڈھانچے میں ایک علامت فیلڈ شامل کیا گیا ہے، جو موجودہ ٹکر ڈھانچے کی مارکیٹ کی معلومات کو ریکارڈ کرتا ہے۔
اس فیلڈ کی شکل بالکل ایک ہی علامت پیرامیٹر کی شکل کے طور پر ہےexchange.GetTicker()
function.
یہ اپ ڈیٹ آرڈر کی ساخت میں ایک علامت فیلڈ کا اضافہ کرتا ہے، اور اس فیلڈ کی شکل بالکل اسی طرح کی علامت پیرامیٹر کی شکل کے طور پر ہےexchange.GetTicker()
فنکشن.
اس اپ ڈیٹ میں آرڈر ڈھانچے کے ID فیلڈ میں بھی تبدیلی کی گئی ہے ، جس میں پروڈکٹ کی معلومات اور اصل آرڈر کی معلومات کو نئے آرڈر ID فارمیٹ میں ریکارڈ کیا گیا ہے۔exchange.GetOrder()
فنکشن، جو یہاں دہرا نہیں کیا جائے گا.
یہ اپ ڈیٹ پوزیشن ڈھانچے میں ایک علامت فیلڈ کا اضافہ کرتا ہے. اس فیلڈ کی شکل بالکل اسی طرح کی علامت پیرامیٹر کی شکل کے طور پر ہےexchange.GetTicker()
function.
پلیٹ فارم کی حکمت عملی API انٹرفیس اپ گریڈ کے مطابق ، پلیٹ فارم کے بیک ٹسٹنگ سسٹم کو ہم وقت ساز طور پر اپ ڈیٹ کیا گیا ہے۔ اس کے علاوہ ، بیک ٹسٹنگ سسٹم میں مندرجہ ذیل کی حمایت شامل کی گئی ہے۔
کے کھیتوںAccount
کی طرف سے واپس کی ساختGetAccount
فیوچر ایکسچینج آبجیکٹ کے رکن کی تقریب میں توسیع کی گئی ہے.
ایکویٹی موجودہ مارجن اثاثہ کرنسی کا کل ایکویٹی۔ کچھ فیوچر ایکسچینجز کے علاوہ جو اس فیلڈ کی حمایت نہیں کرتے ہیں ، زیادہ تر تبادلے اس فیلڈ کی حمایت کرتے ہیں۔ یہ بنیادی طور پر ریئل ٹائم اکاؤنٹ مارجن منافع اور نقصان کا حساب کرنے کے لئے استعمال ہوتا ہے۔
یو پی این ایل موجودہ مارجن اثاثہ کرنسی میں رکھی گئی تمام پوزیشنوں کے غیر منقولہ منافع اور نقصان۔ زیادہ تر فیوچر ایکسچینجز اس فیلڈ کی حمایت کرتے ہیں ، سوائے کچھ کے جو نہیں کرتے ہیں۔
فیوچر ایکسچینج آبجیکٹ کے رکن فنکشن سیٹ مارجن لیول کو اپ گریڈ کیا گیا ہے اور پیرامیٹر علامت شامل کی گئی ہے۔
ٹیسٹ کا مثال:
function main() {
exchange.SetCurrency("ETH_USDT")
exchange.SetContractType("swap")
// The current trading pair is ETH_USDT, the contract code is swap, and the leverage value is set to 10
exchange.SetMarginLevel(10)
// Directly specify the trading pair BTC_USDT, contract code swap, and set the leverage value to 20
exchange.SetMarginLevel("BTC_USDT.swap", 20)
}
میدانCtValCcy
کسی معاہدے کی ویلیو یونٹ ریکارڈ کرتا ہے۔ معاہدے کی ویلیو یونٹ ہو سکتی ہے: بی ٹی سی ، امریکی ڈالر ، ای ٹی ایچ وغیرہ۔
میدانCtVal
ایکسچینج پر ٹریڈنگ کی مصنوعات کے ایک معاہدے کی قیمت ریکارڈ کرتا ہے، اور یونٹ کرنسی ہے جو ایکسچینج میں ریکارڈ کیا جاتا ہےCtValCcy
شعبہ۔ مثال کے طور پر:CtVal
0.01 ہے، اورCtValCcy
ہے