کےexchange.Buy()
فنکشن خریدنے کے احکامات رکھنے کے لئے استعمال کیا جاتا ہے.Buy()
تقریب تبادلہ اعتراض {@var/EXCHANGE تبادلہ} کا ایک رکن تقریب ہے.Buy()
فنکشن ایکسچینج آبجیکٹ سے منسلک ایکسچینج اکاؤنٹ پر کام کرتا ہےexchange
. رکن کے افعال (طرز) کا مقصدexchange
آبجیکٹ صرف سے متعلق ہےexchange
، اور یہ دستاویزات کے بعد دوبارہ نہیں کیا جائے گا.
ایک کامیاب آرڈر آرڈر ID واپس کرتا ہے، ایک ناکام آرڈر null قدر واپس کرتا ہے.
صفتId
ایف ایم زیڈ پلیٹ فارم کے آرڈر {@struct/Order Order} ڈھانچے میں ایکسچینج پروڈکٹ کوڈ اور ایکسچینج کی اصل آرڈر آئی ڈی شامل ہیں ، جن کو انگریزی کمانڈوں سے الگ کیا گیا ہے۔ مثال کے طور پر ، خاصیتId
اسپاٹ ٹریڈنگ جوڑی کی شکلETH_USDT
OKX تبادلہ کا حکم ہے:ETH-USDT,1547130415509278720
.
جب کال کریںexchange.Buy()
ایک آرڈر رکھنے کے لئے تقریب، واپسی کی قیمت آرڈرId
کے مطابق ہےId
حکم {@struct/Order Order} کی ساخت کی خصوصیت.
تار، صفر قدر
تبادلہ.خریداری ((قیمت،مقدار) تبادلہ.خریداری ((قیمت، رقم،...args)
کےprice
پیرامیٹر آرڈر کی قیمت مقرر کرنے کے لئے استعمال کیا جاتا ہے.
قیمت
سچ
نمبر
کےamount
پیرامیٹر آرڈر کی رقم مقرر کرنے کے لئے استعمال کیا جاتا ہے.
رقم
سچ
نمبر
توسیع شدہ پیرامیٹرز جو اس آرڈر لاگ میں ساتھ والی معلومات کو آؤٹ پٹ کرسکتے ہیں ،arg
پیرامیٹرز ایک سے زیادہ منتقل کیا جا سکتا ہے.
ارگ
غلط
string، number، bool، object، array، null اور نظام کی طرف سے معاونت کی کسی بھی دوسری قسم
function main() {
var id = exchange.Buy(100, 1);
Log("id:", id);
}
def main():
id = exchange.Buy(100, 1)
Log("id:", id)
void main() {
auto id = exchange.Buy(100, 1);
Log("id:", id);
}
آرڈر نمبر کی طرف سے واپسexchange.Buy()
آرڈر کی معلومات کو تلاش کرنے اور آرڈر کو منسوخ کرنے کے لئے استعمال کیا جا سکتا ہے.
// The following is an error call
function main() {
exchange.SetContractType("quarter")
// Set the shorting direction
exchange.SetDirection("sell")
// If you place a buy order, an error will be reported, and shorting can only be sold
var id = exchange.Buy(50, 1)
// Set the long direction
exchange.SetDirection("buy")
// If you place a sell order, it will report an error, go long, only buy
var id2 = exchange.Sell(60, 1)
// Set direction to close long positions
exchange.SetDirection("closebuy")
// If you place a buy order, it will report an error, close long, only sell
var id3 = exchange.Buy(-1, 1)
// Set direction to close short positions
exchange.SetDirection("closesell")
// If you place a sell order, it will report an error, close short, only buy
var id4 = exchange.Sell(-1, 1)
}
# The following is an error call
def main():
exchange.SetContractType("quarter")
exchange.SetDirection("sell")
id = exchange.Buy(50, 1)
exchange.SetDirection("buy")
id2 = exchange.Sell(60, 1)
exchange.SetDirection("closebuy")
id3 = exchange.Buy(-1, 1)
exchange.SetDirection("closesell")
id4 = exchange.Sell(-1, 1)
// The following is an error call
void main() {
exchange.SetContractType("quarter");
exchange.SetDirection("sell");
auto id = exchange.Buy(50, 1);
exchange.SetDirection("buy");
auto id2 = exchange.Sell(60, 1);
exchange.SetDirection("closebuy");
auto id3 = exchange.Buy(-1, 1);
exchange.SetDirection("closesell");
auto id4 = exchange.Sell(-1, 1);
}
کریپٹوکرنسی فیوچر معاہدے کے لئے آرڈر دیتے وقت ، اس بات کو یقینی بنانے کے لئے محتاط رہنا ضروری ہے کہ تجارتی سمت صحیح طریقے سے طے کی گئی ہے ، کیونکہ تجارتی سمت اور تجارتی فنکشن کے مابین عدم مطابقت کا نتیجہ غلطی ہوگی:
direction is sell, invalid order type Buy
direction is buy, invalid order type Sell
direction is closebuy, invalid order type Buy
direction is closesell, invalid order type Sell
// For example, the trading pair: ETH_BTC, place a buy order at the market price
function main() {
// Place a buy order at the market price and buy ETH coins with a value of 0.1 BTC (denominated currency)
exchange.Buy(-1, 0.1)
}
def main():
exchange.Buy(-1, 0.1)
void main() {
exchange.Buy(-1, 0.1);
}
اسپاٹ مارکیٹ آرڈر۔
فیوچر معاہدے کے لئے آرڈر دیتے وقت ، آپ کو اس بات پر توجہ دینی ہوگی کہ آیا تجارتی سمت صحیح طریقے سے طے کی گئی ہے ، کیونکہ اگر تجارتی سمت اور تجارتی فنکشن مماثل نہیں ہیں تو غلطی کی اطلاع دی جائے گی۔ کریپٹوکرنسی فیوچر معاہدوں کے لئے آرڈر کا سائز معاہدوں کی تعداد ہے اگر مخصوص نہیں ہے۔
پیرامیٹرprice
پر مقرر کیا گیا ہے-1
مارکیٹ آرڈرز رکھنے کے لئے ، جس کے لئے ایکسچینج کے آرڈر پلیسمنٹ انٹرفیس کو مارکیٹ آرڈرز کی حمایت کرنے کی ضرورت ہوتی ہے۔ کریپٹوکرنسی اسپاٹ معاہدوں کے لئے مارکیٹ آرڈرز رکھنے پر ، پیرامیٹرamount
آرڈر کی کرنسی میں رقم کی رقم ہے۔ جب کریپٹوکرنسی فیوچر معاہدوں کے لئے مارکیٹ آرڈر دیتے ہیں تو ، رقم پیرامیٹرamount
معاہدوں کی تعداد ہے۔ کچھ کریپٹوکرنسی تبادلے ہیں جو براہ راست تجارت کے دوران مارکیٹ آرڈر انٹرفیس کی حمایت نہیں کرتے ہیں۔ کچھ اسپاٹ تبادلے پر مارکیٹ خرید آرڈرز کے لئے آرڈر کی مقدار تجارتی سککوں کی تعداد ہے۔ براہ کرم ملاحظہ کریںتبادلوں کے لئے خصوصی ہدایاتId
کےexchange.Buy()
فنکشن آرڈر کی واپسی کی قیمت سے مختلف ہو سکتا ہےId
موجودہ دستاویز میں بیان کیا.
{@fun/Trade/exchange.Sell exchange.Sell}، {@fun/Futures/exchange.SetContractType exchange.SetContractType}، {@fun/Futures/exchange.SetDirection exchange.SetDirection}، {@fun/Trade/exchange.Sell exchange.Sell}، {@fun/Futures/exchange.Sell exchange.Sell}، {@fun/Futures/exchange.SetContractType exchange.SetContractType}، {@fun/Futures/exchange.SetDirection exchange.SetDirection}، {@fun/Futures/exchange.SetDirection exchange.SetDirection}، {@fun/Trade/exchange.Sell exchange.Sell}، {@fun/Futures/Futures/exchange.Sell exchange.Sell}، {@fun/Futures/exchange.SetContractType exchange.SetContractType exchange.SetContractType}، {
کےexchange.Sell()
فروخت کے احکامات دینے کے لئے استعمال کیا جاتا ہے.
ایک کامیاب آرڈر آرڈر آئی ڈی واپس کرتا ہے، ایک ناکام آرڈر null قدر واپس کرتا ہے.Id
ایف ایم زیڈ پلیٹ فارم کے آرڈر {@struct/Order Order} ڈھانچے میں ایکسچینج پروڈکٹ کوڈ اور ایکسچینج کی اصل آرڈر آئی ڈی شامل ہیں ، جن کو انگریزی کمانڈوں سے الگ کیا گیا ہے۔ مثال کے طور پر ، خاصیتId
اسپاٹ ٹریڈنگ جوڑی کی شکلETH_USDT
OKX تبادلہ کا حکم ہے:ETH-USDT,1547130415509278720
.exchange.Sell()
ایک آرڈر رکھنے کے لئے تقریب، واپسی کی قیمت آرڈرId
کے مطابق ہےId
حکم {@struct/Order Order} کی ساخت کی خصوصیت.
تار، صفر قدر
تبادلہ.فروخت (قیمت، رقم) تبادلہ.فروخت ((قیمت، رقم،... args)
کےprice
پیرامیٹر آرڈر کی قیمت مقرر کرنے کے لئے استعمال کیا جاتا ہے.
قیمت
سچ
نمبر
کےamount
پیرامیٹر آرڈر کی رقم مقرر کرنے کے لئے استعمال کیا جاتا ہے.
رقم
سچ
نمبر
توسیع شدہ پیرامیٹرز جو اس آرڈر لاگ میں ساتھ والی معلومات کو آؤٹ پٹ کرسکتے ہیں ،arg
پیرامیٹرز ایک سے زیادہ منتقل کیا جا سکتا ہے.
ارگ
غلط
string، number، bool، object، array، null اور نظام کی طرف سے معاونت کی کسی بھی دوسری قسم
function main(){
var id = exchange.Sell(100, 1)
Log("id:", id)
}
def main():
id = exchange.Sell(100, 1)
Log("id:", id)
void main() {
auto id = exchange.Sell(100, 1);
Log("id:", id);
}
آرڈر نمبر کی طرف سے واپسexchange.Sell()
آرڈر کی معلومات کو تلاش کرنے اور احکامات کو منسوخ کرنے کے لئے استعمال کیا جا سکتا ہے.
// The following is an error call
function main() {
exchange.SetContractType("quarter")
// Set the shorting direction
exchange.SetDirection("sell")
// If you place a buy order, an error will be reported, and shorting can only be sold
var id = exchange.Buy(50, 1)
// Set the long direction
exchange.SetDirection("buy")
// If you place a sell order, it will report an error, go long, only buy
var id2 = exchange.Sell(60, 1)
// Set direction to close long positions
exchange.SetDirection("closebuy")
// If you place a buy order, it will report an error, close long, only sell
var id3 = exchange.Buy(-1, 1)
// Set direction to close short positions
exchange.SetDirection("closesell")
// If you place a sell order, it will report an error, close short, only buy
var id4 = exchange.Sell(-1, 1)
}
# The following is an error call
def main():
exchange.SetContractType("quarter")
exchange.SetDirection("sell")
id = exchange.Buy(50, 1)
exchange.SetDirection("buy")
id2 = exchange.Sell(60, 1)
exchange.SetDirection("closebuy")
id3 = exchange.Buy(-1, 1)
exchange.SetDirection("closesell")
id4 = exchange.Sell(-1, 1)
// The following is an error call
void main() {
exchange.SetContractType("quarter");
exchange.SetDirection("sell");
auto id = exchange.Buy(50, 1);
exchange.SetDirection("buy");
auto id2 = exchange.Sell(60, 1);
exchange.SetDirection("closebuy");
auto id3 = exchange.Buy(-1, 1);
exchange.SetDirection("closesell");
auto id4 = exchange.Sell(-1, 1);
}
کریپٹوکرنسی فیوچر معاہدے کے لئے آرڈر دیتے وقت ، اس بات کو یقینی بنانے کے لئے محتاط رہنا ضروری ہے کہ تجارتی سمت صحیح طریقے سے طے کی گئی ہے ، کیونکہ تجارتی سمت اور تجارتی فنکشن کے مابین عدم مطابقت کا نتیجہ غلطی ہوگی:
direction is sell, invalid order type Buy
direction is buy, invalid order type Sell
direction is closebuy, invalid order type Buy
direction is closesell, invalid order type Sell
// For example, the trading pair: ETH_BTC, place a sell order at the market price
function main() {
// Note: place a market order to sell, sell 0.2 ETH
exchange.Sell(-1, 0.2)
}
def main():
exchange.Sell(-1, 0.2)
void main() {
exchange.Sell(-1, 0.2);
}
اسپاٹ مارکیٹ آرڈر۔
فیوچر معاہدے کے لئے آرڈر دیتے وقت ، آپ کو اس بات پر توجہ دینی ہوگی کہ آیا تجارتی سمت صحیح طریقے سے طے کی گئی ہے ، کیونکہ اگر تجارتی سمت اور تجارتی فنکشن مماثل نہیں ہیں تو غلطی کی اطلاع دی جائے گی۔ کریپٹوکرنسی فیوچر معاہدوں کے لئے آرڈر کی رقم معاہدوں کی تعداد ہے اگر مخصوص نہیں ہے۔
پیرامیٹرprice
پر مقرر کیا گیا ہے-1
مارکیٹ آرڈرز رکھنے کے لئے ، جس میں ایکسچینج کے آرڈر کی جگہ کے انٹرفیس کو مارکیٹ کے احکامات کی حمایت کرنے کی ضرورت ہوتی ہے۔ جب کریپٹوکرنسی اسپاٹ معاہدوں کے لئے مارکیٹ کے احکامات لگاتے ہیں تو ، رقم پیرامیٹرamount
ٹریڈنگ کرنسی میں رقم ہے. cryptocurrency فیوچر معاہدوں کے لئے مارکیٹ کے احکامات رکھنے جب, رقم پیرامیٹرamount
معاہدوں کی تعداد ہے۔ کچھ کریپٹوکرنسی تبادلے ہیں جو براہ راست تجارت کے دوران مارکیٹ آرڈر انٹرفیس کی حمایت نہیں کرتے ہیں۔
اگر آپ ڈوکر کا ایک پرانا ورژن استعمال کر رہے ہیں تو، حکم کی واپسی کی قیمتId
کےexchange.Sell()
فنکشن آرڈر کی واپسی کی قیمت سے مختلف ہو سکتا ہےId
موجودہ دستاویز میں بیان کیا.
{@fun/Trade/exchange.Buy exchange.Buy}، {@fun/Futures/exchange.SetContractType exchange.SetContractType}، {@fun/Futures/exchange.SetDirection exchange.SetDirection}
کےexchange.CreateOrder()
آرڈر دینے کے لئے استعمال کیا جاتا ہے.
اگر آرڈر کامیابی کے ساتھ رکھا جاتا ہے، آرڈر ID واپس کیا جاتا ہے؛ اگر آرڈر ناکام ہوجاتا ہے تو، ایک null قدر واپس کردی جاتی ہے.Id
ایف ایم زیڈ پلیٹ فارم کے آرڈر {@struct/Order Order} ڈھانچے میں ایکسچینج پروڈکٹ کوڈ اور ایکسچینج کی اصل آرڈر آئی ڈی شامل ہیں ، جن کو انگریزی کمانڈوں سے الگ کیا گیا ہے۔ مثال کے طور پر ، خاصیتId
اسپاٹ ٹریڈنگ جوڑی کے آرڈر کی شکلETH_USDT
او کے ایکس ایکس ایکسچینج کا ہے:ETH-USDT,1547130415509278720
.exchange.CreateOrder(symbol, side, price, amount)
ایک آرڈر رکھنے کے لئے تقریب، آرڈر کی واپسی کی قیمتId
کے مطابق ہےId
حکم {@struct/Order Order} ساخت کی خصوصیت.
تار، صفر قدر
exchange.CreateOrder ((علامت، طرف، قیمت، رقم) exchange.CreateOrder ((علامت، طرف، قیمت، رقم،...args)
پیرامیٹرsymbol
مخصوص ٹریڈنگ جوڑی اور آرڈر کے معاہدے کا کوڈ بتانے کے لئے استعمال کیا جاتا ہے۔exchange.CreateOrder(symbol, side, price, amount)
آرڈر دینے کا فنکشن،exchange
اسپاٹ ایکسچینج آبجیکٹ ہے۔ اگر آرڈر کی نامزد کرنسی USDT ہے اور ٹرانڈنگ کرنسی BTC ہے ، تو پیرامیٹرsymbol
ہے:"BTC_USDT"
، ایف ایم زیڈ پلیٹ فارم کے ذریعہ طے شدہ ٹریڈنگ جوڑی کی شکل میں۔exchange.CreateOrder(symbol, side, price, amount)
آرڈر دینے کا فنکشن،exchange
فیوچر ایکسچینج آبجیکٹ ہے۔ اگر آرڈر بی ٹی سی symbol
ہے:"BTC_USDT.swap"
، اور فارمیٹ کے ایک مجموعہ ہےتجارتی جوڑااورمعاہدہ کا کوڈFMZ پلیٹ فارم کی طرف سے مقرر کیا جاتا ہے، جس میں حروف exchange.CreateOrder(symbol, side, price, amount)
آرڈر دینے کا فنکشن،exchange
فیوچر ایکسچینج آبجیکٹ ہے۔ اگر آرڈر بی ٹی سی symbol
ہے:"BTC_USDT.BTC-240108-40000-C"
(ایک مثال کے طور پر بائننس آپشن بی ٹی سی-240108-40000-C لے کر) ، اور فارمیٹتجارتی جوڑاایف ایم زیڈ پلیٹ فارم کے ذریعہ بیان کردہ اور ایکسچینج کے ذریعہ بیان کردہ مخصوص آپشن معاہدے کا کوڈ ، جس کو علامت side
پیرامیٹر کا استعمال آرڈر کی ٹریڈنگ سمت کی وضاحت کرنے کے لئے کیا جاتا ہے۔
اسپاٹ ایکسچینج اشیاء کے لئے، اختیاری اقدارside
پیرامیٹر ہیں:buy
, sell
. buy
خریدنے کا مطلب ہے، اورsell
فروخت کا مطلب ہے.
فیوچر ایکسچینج اشیاء کے لئے، اختیاری اقدارside
پیرامیٹر ہیں:buy
, closebuy
, sell
, closesell
. buy
ایک طویل پوزیشن کھولنے کا مطلب ہے،closebuy
ایک طویل پوزیشن کو بند کرنے کا مطلب،sell
ایک مختصر پوزیشن کھولنے کا مطلب ہے، اورclosesell
ایک مختصر پوزیشن کو بند کرنے کا مطلب.
سائیڈ
سچ
سٹرنگ
پیرامیٹرprice
آرڈر کی قیمت مقرر کرنے کے لئے استعمال کیا جاتا ہے۔ -1 کی قیمت سے پتہ چلتا ہے کہ آرڈر مارکیٹ آرڈر ہے۔
قیمت
سچ
نمبر
پیرامیٹرamount
آرڈر کی مقدار مقرر کرنے کے لئے استعمال کیا جاتا ہے۔ براہ کرم نوٹ کریں کہ جب آرڈر مارکیٹ خرید آرڈر ہے تو ، آرڈر کی مقدار خریداری کی رقم ہے۔ کچھ اسپاٹ ایکسچینجز کے مارکیٹ خرید آرڈر کی آرڈر کی مقدار ٹریڈنگ سککوں کی تعداد ہے۔ تفصیلات کے لئے ، براہ کرم ملاحظہ کریںتبادلوں کے لئے خصوصی ہدایاتarg
پیرامیٹرز منتقل کیا جا سکتا ہے.
ارگ
غلط
نظام کی طرف سے حمایت کی کسی بھی قسم، جیسے تار، نمبر، بول، اعتراض، صف، صفر قدر، وغیرہ.
function main() {
var id = exchange.CreateOrder("BTC_USDT", "buy", 60000, 0.01) // Spot exchange objects place orders for currency-to-currency transactions BTC_USDT trading pairs
// var id = exchange.CreateOrder("BTC_USDT.swap", "buy", 60000, 0.01) // Futures exchange objects place orders for BTC's U-standard perpetual contracts
Log("Order Id:", id)
}
def main():
id = exchange.CreateOrder("BTC_USDT", "buy", 60000, 0.01) # Spot exchange objects place orders for currency-to-currency transactions BTC_USDT trading pairs
# id = exchange.CreateOrder("BTC_USDT.swap", "buy", 60000, 0.01) # Futures exchange objects place orders for BTC's U-standard perpetual contracts
Log("Order Id:", id)
void main() {
auto id = exchange.CreateOrder("BTC_USDT", "buy", 60000, 0.01); // Spot exchange objects place orders for currency-to-currency transactions BTC_USDT trading pairs
// auto id = exchange.CreateOrder("BTC_USDT.swap", "buy", 60000, 0.01); // Futures exchange objects place orders for BTC's U-standard perpetual contracts
Log("Order Id:", id);
}
اسپاٹ ایکسچینج اشیاء اور فیوچر ایکسچینج اشیاء کوexchange.CreateOrder()
آرڈر دینے کی تقریب.
{@fun/Trade/exchange.Buy exchange.Buy}، {@fun/Trade/exchange.Sell exchange.Sell}
کےexchange.CancelOrder()
آرڈر منسوخ کرنے کے لئے استعمال کیا جاتا ہے.
صفتId
ایف ایم زیڈ پلیٹ فارم کے آرڈر {@struct/Order Order} ڈھانچے میں ایکسچینج پروڈکٹ کوڈ اور ایکسچینج کی اصل آرڈر آئی ڈی شامل ہیں ، جن کو انگریزی کمانڈوں سے الگ کیا گیا ہے۔ مثال کے طور پر ، خاصیتId
اسپاٹ ٹریڈنگ جوڑی کے آرڈر کی شکلETH_USDT
او کے ایکس ایکس ایکسچینج کا ہے:ETH-USDT,1547130415509278720
.
پیرامیٹرorderId
میں منتقل کر دیا جب فونexchange.CancelOrder()
ایک آرڈر منسوخ کرنے کی تقریب کے ساتھ ہم آہنگ ہےId
حکم {@struct/Order Order} ساخت کی خصوصیت.
کےexchange.CancelOrder()
تقریب ایک حقیقی قدر واپس، مثال کے طور پرtrue
کا مطلب ہے کہ منسوخ آرڈر کی درخواست کامیابی کے ساتھ بھیجا گیا ہے. اگر یہ ایک غلط قدر واپس کرتا ہے, جیسےfalse
، کا مطلب ہے کہ منسوخ آرڈر کی درخواست بھیجنے میں ناکام رہی۔ واپسی کی قیمت صرف اس بات کا تعین کرنے کے لئے کہ آیا تبادلے نے آرڈر منسوخ کیا ہے یا نہیں بھیجنے کی درخواست کی کامیابی یا ناکامی کی نمائندگی کرتی ہے۔ آپ کال کرسکتے ہیںexchange.GetOrders()
اس بات کا تعین کرنے کے لئے کہ آیا آرڈر منسوخ کیا گیا ہے۔
بول
تبادلہ.آرڈر منسوخ کریں (آرڈر ID) تبادلہ.آرڈر منسوخ کریں (آرڈر ID،...args)
کےorderId
پیرامیٹر کو منسوخ کرنے کے لئے آرڈر کی وضاحت کرنے کے لئے استعمال کیا جاتا ہے.
حکم دیا
سچ
نمبر، سٹرنگ
توسیع پیرامیٹرز، آپ کو اس واپسی لاگ میں منسلک معلومات کو آؤٹ پٹ کر سکتے ہیں،arg
پیرامیٹرز ایک سے زیادہ منتقل کیا جا سکتا ہے.
ارگ
غلط
string، number، bool، object، array، null اور نظام کی طرف سے معاونت کی کسی بھی دوسری قسم
function main(){
var id = exchange.Sell(99999, 1)
exchange.CancelOrder(id)
}
def main():
id = exchange.Sell(99999, 1)
exchange.CancelOrder(id)
void main() {
auto id = exchange.Sell(99999, 1);
exchange.CancelOrder(id);
}
حکم منسوخ کریں.
function main() {
if (exchange.GetName().includes("Futures_")) {
Log("Set the contract as: perpetual contract, set the trade direction as: open long position.")
exchange.SetContractType("swap")
exchange.SetDirection("buy")
}
var ticker = exchange.GetTicker()
exchange.Buy(ticker.Last * 0.5, 0.1)
var orders = exchange.GetOrders()
for (var i = 0 ; i < orders.length ; i++) {
exchange.CancelOrder(orders[i].Id, "Cancelled orders:", orders[i])
Sleep(500)
}
}
def main():
if exchange.GetName().find("Futures_") != -1:
Log("Set the contract as: perpetual contract, set the trade direction as: open long position.")
exchange.SetContractType("swap")
exchange.SetDirection("buy")
ticker = exchange.GetTicker()
exchange.Buy(ticker["Last"] * 0.5, 0.1)
orders = exchange.GetOrders()
for i in range(len(orders)):
exchange.CancelOrder(orders[i]["Id"], "Cancelled orders:", orders[i])
Sleep(500)
void main() {
if (exchange.GetName().find("Futures_") != std::string::npos) {
Log("Set the contract as: perpetual contract, set the trade direction as: open long position.");
exchange.SetContractType("swap");
exchange.SetDirection("buy");
}
auto ticker = exchange.GetTicker();
exchange.Buy(ticker.Last * 0.5, 0.1);
auto orders = exchange.GetOrders();
for (int i = 0 ; i < orders.size() ; i++) {
exchange.CancelOrder(orders[i].Id, "Cancelled orders:", orders[i]);
Sleep(500);
}
}
FMZ API افعال جو لاگ آؤٹ پٹ افعال جیسے:Log()
, exchange.Buy()
, exchange.CancelOrder()
ضروری پیرامیٹرز کے بعد کچھ معاون آؤٹ پٹ پیرامیٹرز کے بعد ہوسکتا ہے۔ مثال کے طور پر:exchange.CancelOrder(orders[i].Id, orders[i])
، تاکہ آرڈر منسوخ کرتے وقت جس کا ID ہےorders[i].Id
، آرڈر کی معلومات اس کے ساتھ آؤٹ پٹ ہوتی ہے۔ یعنی ، {@struct/Order Order} کی ساختorders[i]
.
آپ docker کے ایک پرانے ورژن استعمال کر رہے ہیں تو، exchange.CancelOrder() تقریب کے orderId پیرامیٹر موجودہ دستاویز میں بیان orderId سے مختلف ہو سکتا ہے.
{@fun/Trade/exchange.Buy exchange.Buy}، {@fun/Trade/exchange.Sell exchange.Sell}، {@fun/Trade/exchange.GetOrders exchange.GetOrders}
کےexchange.GetOrder()
آرڈر کی معلومات حاصل کرنے کے لئے استعمال کیا جاتا ہے.
آرڈر نمبر کے مطابق آرڈر کی تفصیلات کی انکوائری کریں ، اور اگر انکوائری کامیاب ہوجاتی ہے تو {@struct/Order Order} ڈھانچہ واپس کریں ، یا اگر انکوائری ناکام ہوجاتی ہے تو null واپس کریں۔ {@struct/Order Order}، null قدر
تبادلہ.GetOrder ((orderId)
کےorderId
پیرامیٹر استعمال کیا جاتا ہے ترتیب کی وضاحت کرنے کے لئے استفسار کیا جائے.
صفتId
ایف ایم زیڈ پلیٹ فارم کے آرڈر {@struct/Order Order} ڈھانچے میں ایکسچینج پروڈکٹ کوڈ اور ایکسچینج کی اصل آرڈر آئی ڈی شامل ہیں ، جن کو انگریزی کمانڈوں سے الگ کیا گیا ہے۔ مثال کے طور پر ، خاصیتId
اسپاٹ ٹریڈنگ جوڑی کے آرڈر کی شکلETH_USDT
او کے ایکس ایکس ایکسچینج کا ہے:ETH-USDT,1547130415509278720
.
پیرامیٹرorderId
میں منتقل کر دیا جب فونexchange.GetOrder()
ایک آرڈر کو استفسار کرنے کی تقریب کے ساتھ ہم آہنگ ہےId
حکم {@struct/Order Order} ساخت کی خصوصیت.
حکم دیا سچ سٹرنگ
function main(){
var id = exchange.Sell(1000, 1)
// Parameter id is the order number, you need to fill in the number of the order you want to query
var order = exchange.GetOrder(id)
Log("Id:", order.Id, "Price:", order.Price, "Amount:", order.Amount, "DealAmount:",
order.DealAmount, "Status:", order.Status, "Type:", order.Type)
}
def main():
id = exchange.Sell(1000, 1)
order = exchange.GetOrder(id)
Log("Id:", order["Id"], "Price:", order["Price"], "Amount:", order["Amount"], "DealAmount:",
order["DealAmount"], "Status:", order["Status"], "Type:", order["Type"])
void main() {
auto id = exchange.Sell(1000, 1);
auto order = exchange.GetOrder(id);
Log("Id:", order.Id, "Price:", order.Price, "Amount:", order.Amount, "DealAmount:",
order.DealAmount, "Status:", order.Status, "Type:", order.Type);
}
کےexchange.GetOrder()
فنکشن کچھ تبادلے کی طرف سے حمایت نہیں کی جاتی.AvgPrice
{@struct/Order Order} ڈھانچے کی واپسی کی قیمت میں خاصیت ٹرانزیکشن کی اوسط قیمت ہے۔ کچھ تبادلے اس فیلڈ کی حمایت نہیں کرتے ہیں ، اور اگر وہ نہیں کرتے ہیں تو ، یہ 0 پر مقرر کیا جاتا ہے۔
اگر آپ ڈوکر کا پرانا ورژن استعمال کر رہے ہیں تو،orderId
پیرامیٹرexchange.GetOrder()
تقریب سے مختلف ہو سکتا ہےorderId
موجودہ دستاویزات میں بیان کیا گیا ہے.
تبادلے جو حمایت نہیں کرتےexchange.GetOrder()
فنکشن:
فنکشن کا نام | غیر تعاون یافتہ اسپاٹ ایکسچینجز | غیر معاون فیوچر ایکسچینج |
---|---|---|
آرڈر حاصل کریں | Zaif / Coincheck / Bitstamp | – |
{@struct/Order Order}، {@fun/Trade/exchange.GetOrders exchange.GetOrders}، {@fun/Trade/exchange.GetHistoryOrders exchange.GetHistoryOrders}، {@struct/Trade/Order Order}، {@fun/Trade/exchange.GetOrders exchange.GetHistoryOrders}، {@fun/Trade/Orders exchange.GetOrders}، {@fun/Trade/exchange.GetHistoryOrders}، {@fun/Trade/exchange.GetHistoryOrders}، {@fun/Trade/exchange.GetHistoryOrders}، {@fun/Trade/exchange.GetOrders exchange.GetOrders}، {@fun/Trade/exchange.GetOrders exchange.GetOrders}، {@fun/Trade/exchange.GetHistoryOrders exchange.GetHistoryOrders}، {@fun/Trade/exchange.GetOrders exchange.GetOrders exchange.GetOrders}، {@fun/
کےexchange.GetOrders()
فنکشن کے بقایا احکامات حاصل کرنے کے لئے استعمال کیا جاتا ہے.
کےexchange.GetOrders()
فنکشن {@struct/Order Order} ڈھانچوں کی ایک صف واپس کرتا ہے اگر ڈیٹا کی درخواست کامیاب ہو جاتی ہے ، اور اگر ڈیٹا کی درخواست ناکام ہوجاتی ہے تو یہ null اقدار واپس کرتا ہے۔
{@struct/Order Order} صف، خالی قدر
تبادلہ.GetOrders() تبادلہ.GetOrders ((علامت)
پیرامیٹرsymbol
سیٹ کرنے کے لئے استعمال کیا جاتا ہےٹرانزیکشن کا نشانیاٹرانزیکشن سمبل رینجپوچھ گچھ کی جائے۔
اسپاٹ ایکسچینج اشیاء کے لئے، اگرsymbol
پیرامیٹر منظور نہیں کیا جاتا ہے، تمام اسپاٹ مصنوعات کے نامکمل آرڈر کے اعداد و شمار کی درخواست کی جائے گی.
فیوچر ایکسچینج اشیاء کے لئے، اگرsymbol
پیرامیٹر پاس نہیں کیا جاتا ہے تو، ڈیفالٹ موجودہ ٹریڈنگ جوڑی اور معاہدے کے کوڈ کے طول و عرض کی حد میں تمام اقسام کے نامکمل آرڈر کے اعداد و شمار کی درخواست کرنا ہے.
علامت غلط سٹرنگ
/*backtest
start: 2024-05-21 00:00:00
end: 2024-09-05 00:00:00
period: 5m
basePeriod: 1m
exchanges: [{"eid":"Binance","currency":"BTC_USDT"}]
*/
function main() {
var arrSymbol = ["ETH_USDT", "BTC_USDT", "LTC_USDT", "SOL_USDT"]
for (var symbol of arrSymbol) {
var t = exchange.GetTicker(symbol)
exchange.CreateOrder(symbol, "buy", t.Last / 2, 0.01)
}
var spotOrders = exchange.GetOrders()
var tbls = []
for (var orders of [spotOrders]) {
var tbl = {type: "table", title: "test GetOrders", 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])
}
tbls.push(tbl)
}
LogStatus("`" + JSON.stringify(tbls) + "`")
// Print out the information once and then return to prevent the order from being executed during the subsequent backtest and affecting data observation
return
}
'''backtest
start: 2024-05-21 00:00:00
end: 2024-09-05 00:00:00
period: 5m
basePeriod: 1m
exchanges: [{"eid":"Binance","currency":"BTC_USDT"}]
'''
import json
def main():
arrSymbol = ["ETH_USDT", "BTC_USDT", "LTC_USDT", "SOL_USDT"]
for symbol in arrSymbol:
t = exchange.GetTicker(symbol)
exchange.CreateOrder(symbol, "buy", t["Last"] / 2, 0.01)
spotOrders = exchange.GetOrders()
tbls = []
for orders in [spotOrders]:
tbl = {"type": "table", "title": "test GetOrders", "cols": ["Symbol", "Id", "Price", "Amount", "DealAmount", "AvgPrice", "Status", "Type", "Offset", "ContractType"], "rows": []}
for order in orders:
tbl["rows"].append([order.Symbol, order.Id, order.Price, order.Amount, order.DealAmount, order.AvgPrice, order.Status, order.Type, order.Offset, order.ContractType])
tbls.append(tbl)
LogStatus("`" + json.dumps(tbls) + "`")
return
/*backtest
start: 2024-05-21 00:00:00
end: 2024-09-05 00:00:00
period: 5m
basePeriod: 1m
exchanges: [{"eid":"Binance","currency":"BTC_USDT"}]
*/
void main() {
auto arrSymbol = {"ETH_USDT", "BTC_USDT", "LTC_USDT", "SOL_USDT"};
for (const auto& symbol : arrSymbol) {
auto t = exchange.GetTicker(symbol);
exchange.CreateOrder(symbol, "buy", t.Last / 2, 0.01);
}
auto spotOrders = exchange.GetOrders();
json tbls = R"([])"_json;
std::vector<std::vector<Order>> arr = {spotOrders};
for (const auto& orders : arr) {
json tbl = R"({
"type": "table",
"title": "test GetOrders",
"cols": ["Symbol", "Id", "Price", "Amount", "DealAmount", "AvgPrice", "Status", "Type", "Offset", "ContractType"],
"rows": []
})"_json;
for (const auto& order : orders) {
json arrJson = R"([])"_json;
arrJson.push_back("Symbol");
arrJson.push_back("Id");
arrJson.push_back(order.Price);
arrJson.push_back(order.Amount);
arrJson.push_back(order.DealAmount);
arrJson.push_back(order.AvgPrice);
arrJson.push_back(order.Status);
arrJson.push_back(order.Type);
arrJson.push_back(order.Offset);
arrJson.push_back(order.ContractType);
tbl["rows"].push_back(arrJson);
}
tbls.push_back(tbl);
}
LogStatus(_D(), "\n", "`" + tbls.dump() + "`");
return;
}
اسپاٹ ایکسچینج آبجیکٹ کا استعمال کرتے ہوئے موجودہ قیمت کے آدھے حصے پر متعدد مختلف تجارتی جوڑوں کے لئے خرید آرڈرز لگائیں اور پھر بقایا آرڈر کی معلومات سے استفسار کریں۔
/*backtest
start: 2024-05-21 00:00:00
end: 2024-09-05 00:00:00
period: 5m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
function main() {
var arrSymbol = ["BTC_USDT.swap", "BTC_USDT.quarter", "ETH_USDT.swap", "ETH_USDT.quarter"]
for (var symbol of arrSymbol) {
var t = exchange.GetTicker(symbol)
exchange.CreateOrder(symbol, "buy", t.Last / 2, 1)
exchange.CreateOrder(symbol, "sell", t.Last * 2, 1)
}
var defaultOrders = exchange.GetOrders()
var swapOrders = exchange.GetOrders("USDT.swap")
var futuresOrders = exchange.GetOrders("USDT.futures")
var btcUsdtSwapOrders = exchange.GetOrders("BTC_USDT.swap")
var tbls = []
var arr = [defaultOrders, swapOrders, futuresOrders, btcUsdtSwapOrders]
var tblDesc = ["defaultOrders", "swapOrders", "futuresOrders", "btcUsdtSwapOrders"]
for (var index in arr) {
var orders = arr[index]
var tbl = {type: "table", title: tblDesc[index], 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])
}
tbls.push(tbl)
}
LogStatus("`" + JSON.stringify(tbls) + "`")
// Print out the information once and then return to prevent the order from being executed during the subsequent backtest and affecting data observation
return
}
'''backtest
start: 2024-05-21 00:00:00
end: 2024-09-05 00:00:00
period: 5m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
'''
import json
def main():
arrSymbol = ["BTC_USDT.swap", "BTC_USDT.quarter", "ETH_USDT.swap", "ETH_USDT.quarter"]
for symbol in arrSymbol:
t = exchange.GetTicker(symbol)
exchange.CreateOrder(symbol, "buy", t["Last"] / 2, 1)
exchange.CreateOrder(symbol, "sell", t["Last"] * 2, 1)
defaultOrders = exchange.GetOrders()
swapOrders = exchange.GetOrders("USDT.swap")
futuresOrders = exchange.GetOrders("USDT.futures")
btcUsdtSwapOrders = exchange.GetOrders("BTC_USDT.swap")
tbls = []
arr = [defaultOrders, swapOrders, futuresOrders, btcUsdtSwapOrders]
tblDesc = ["defaultOrders", "swapOrders", "futuresOrders", "btcUsdtSwapOrders"]
for index in range(len(arr)):
orders = arr[index]
tbl = {"type": "table", "title": tblDesc[index], "cols": ["Symbol", "Id", "Price", "Amount", "DealAmount", "AvgPrice", "Status", "Type", "Offset", "ContractType"], "rows": []}
for order in orders:
tbl["rows"].append([order["Symbol"], order["Id"], order["Price"], order["Amount"], order["DealAmount"], order["AvgPrice"], order["Status"], order["Type"], order["Offset"], order["ContractType"]])
tbls.append(tbl)
LogStatus("`" + json.dumps(tbls) + "`")
return
/*backtest
start: 2024-05-21 00:00:00
end: 2024-09-05 00:00:00
period: 5m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
void main() {
auto arrSymbol = {"BTC_USDT.swap", "BTC_USDT.quarter", "ETH_USDT.swap", "ETH_USDT.quarter"};
for (const auto& symbol : arrSymbol) {
auto t = exchange.GetTicker(symbol);
exchange.CreateOrder(symbol, "buy", t.Last / 2, 1);
exchange.CreateOrder(symbol, "sell", t.Last * 2, 1);
}
auto defaultOrders = exchange.GetOrders();
auto swapOrders = exchange.GetOrders("USDT.swap");
auto futuresOrders = exchange.GetOrders("USDT.futures");
auto btcUsdtSwapOrders = exchange.GetOrders("BTC_USDT.swap");
json tbls = R"([])"_json;
std::vector<std::vector<Order>> arr = {defaultOrders, swapOrders, futuresOrders, btcUsdtSwapOrders};
std::string tblDesc[] = {"defaultOrders", "swapOrders", "futuresOrders", "btcUsdtSwapOrders"};
for (int index = 0; index < arr.size(); index++) {
auto orders = arr[index];
json tbl = R"({
"type": "table",
"cols": ["Symbol", "Id", "Price", "Amount", "DealAmount", "AvgPrice", "Status", "Type", "Offset", "ContractType"],
"rows": []
})"_json;
tbl["title"] = tblDesc[index];
for (const auto& order : orders) {
json arrJson = R"([])"_json;
arrJson.push_back(order.Symbol);
arrJson.push_back(to_string(order.Id)); // The Id attribute type in the Order structure is TId, which is encoded using a C++ function to_string built into the FMZ platform.
arrJson.push_back(order.Price);
arrJson.push_back(order.Amount);
arrJson.push_back(order.DealAmount);
arrJson.push_back(order.AvgPrice);
arrJson.push_back(order.Status);
arrJson.push_back(order.Type);
arrJson.push_back(order.Offset);
arrJson.push_back(order.ContractType);
tbl["rows"].push_back(arrJson);
}
tbls.push_back(tbl);
}
LogStatus(_D(), "\n", "`" + tbls.dump() + "`");
return;
}
متعدد مختلف تجارتی جوڑوں اور معاہدے کے کوڈوں کے لئے آرڈر دینے کے لئے فیوچر ایکسچینج اشیاء کا استعمال کریں۔ قیمتوں پر آرڈر دیں جو ہم منصب کی قیمت سے دور ہیں ، احکامات کو غیر پورا حالت میں رکھیں ، اور متعدد طریقوں سے آرڈر کی انکوائری کریں۔
function main() {
var orders = exchange.GetOrders("BTC_USDT") // Examples of spot products
// var orders = exchange.GetOrders("BTC_USDT.swap") // Examples of futures products
Log("orders:", orders)
}
def main():
orders = exchange.GetOrders("BTC_USDT") # Examples of spot products
# orders = exchange.GetOrders("BTC_USDT.swap") # Examples of futures products
Log("orders:", orders)
void main() {
auto orders = exchange.GetOrders("BTC_USDT"); // Examples of spot products
// auto orders = exchange.GetOrders("BTC_USDT.swap"); // Examples of futures products
Log("orders:", orders);
}
جب کال کریںexchange.GetOrders()
فنکشن، میں منتقلSymbol
ایک مخصوص ٹریڈنگ جوڑی اور معاہدے کا کوڈ کے لئے آرڈر کے اعداد و شمار کی درخواست کرنے کے لئے پیرامیٹر.
میںGetOrders
تقریب، علامت پیرامیٹر کے استعمال کے منظرنامے مندرجہ ذیل طور پر خلاصہ کیا جاتا ہے:
ایکسچینج آبجیکٹ کی درجہ بندی | علامت پیرامیٹرز | سوال کا دائرہ کار | تبصرہ |
---|---|---|---|
جگہ | علامت پیرامیٹر منتقل نہ کریں | تمام اسپاٹ ٹریڈنگ کے جوڑے کی تلاش کریں | تمام کالنگ منظرناموں کے لئے ، اگر ایکسچینج انٹرفیس اس کی حمایت نہیں کرتا ہے تو ، ایک غلطی کی اطلاع دی جائے گی اور ایک صفر قدر واپس کردی جائے گی۔ مزید وضاحت نہیں کی جائے گی۔ |
جگہ | تجارت کی قسم بتائیں، علامت پیرامیٹر ہے: |
مخصوص BTC_USDT ٹریڈنگ جوڑی سے استفسار کریں | اسپاٹ ایکسچینج اشیاء کے لئے علامت پیرامیٹر فارمیٹ ہے: |
مستقبل | علامت پیرامیٹر منتقل نہ کریں | موجودہ ٹریڈنگ جوڑی اور معاہدے کے کوڈ کے طول و عرض کی حد کے اندر تمام ٹریڈنگ پروڈکٹس کی تلاش کریں | اگر موجودہ ٹریڈنگ جوڑی BTC_USDT ہے اور معاہدہ کا کوڈ سویپ ہے تو ، تمام USDT مارجن والے دائمی معاہدوں سے استفسار کیا جائے گا۔ یہ کال کرنے کے برابر ہے۔GetOrders("USDT.swap") |
مستقبل | تجارت کی قسم بتائیں، علامت پیرامیٹر ہے: |
ایک مخصوص بی ٹی سی کے لئے یو ایس ڈی ٹی پر مبنی مستقل معاہدے کی تلاش کریں | فیوچر ایکسچینج اشیاء کے لئے پیرامیٹر علامت کی شکل یہ ہے:تجارتی جوڑااورمعاہدہ کا کوڈایف ایم زیڈ پلیٹ فارم کے ذریعہ بیان کیا گیا ہے ، جس میں حروف کے ذریعہ الگ کیا گیا ہے". . |
مستقبل | تجارتی مصنوعات کی حد کی وضاحت کریں، علامت پیرامیٹر ہے: |
تمام USDT پر مبنی مستقل معاہدوں کی تلاش کریں | - |
فیوچر ایکسچینجز جو آپشنز کی حمایت کرتے ہیں | علامت پیرامیٹر منتقل نہ کریں | موجودہ ٹریڈنگ جوڑی کے طول و عرض کی حد کے اندر تمام آپشن معاہدوں کی تلاش کریں | اگر موجودہ ٹریڈنگ جوڑی BTC_USDT ہے، تو معاہدہ ایک آپشن معاہدے پر مقرر کیا جاتا ہے، مثال کے طور پر، بائننس آپشن معاہدہ: BTC-240108-40000-C |
فیوچر ایکسچینجز جو آپشنز کی حمایت کرتے ہیں | مخصوص تجارتی مصنوعات کی وضاحت کریں | مخصوص آپشن معاہدے کی تلاش کریں | مثال کے طور پر بائننس فیوچر ایکسچینج کے لئے، علامت پیرامیٹر ہے: BTC_USDT.BTC-240108-40000-C |
فیوچر ایکسچینجز جو آپشنز کی حمایت کرتے ہیں | تجارتی مصنوعات کی حد کی وضاحت کریں، علامت پیرامیٹر ہے: |
تمام USDT پر مبنی آپشن معاہدوں کی تلاش کریں | - |
میںGetOrders
تقریب، مستقبل کے تبادلے اعتراض استفسار
طول و عرض کی حد مندرجہ ذیل طور پر خلاصہ کیا جاتا ہے:
علامت پیرامیٹرز | درخواست کی حد کی تعریف | تبصرہ |
---|---|---|
USDT.swap | USDT پر مبنی مستقل معاہدے کی حد۔ | کے لئے |
طول و عرض جو تبادلہ API انٹرفیس کی طرف سے حمایت نہیں کر رہے ہیں ایک غلطی کی اطلاع دی جائے گی اور ایک null قدر واپس کیا جائے گا جب بلا رہا ہے۔ ♫ USDT.futures ♫ ♫ USDT پر مبنی ترسیل کے معاہدے کی حد ♫ ♫ USD.swap ♫ ♫ کرنسی پر مبنی دائمی تبادلہ کی حد ♫ معاہدوں. ♫ USD.futures ♫ ♫ کرنسی پر مبنی ترسیل کی حد ♫ معاہدوں. ♫ USDT.option ♫ ♫ USDT پر مبنی اختیارات معاہدہ رینج ♫ ♫ USDT.option ♫ ♫ USD.option ♫ ♫ کرنسی پر مبنی اختیارات معاہدہ رینج ♫ ♫ - ♫ ♫ USDT.futures_combo♫ ♫ سی ایف ڈی کے مجموعوں کی حد ♫ فیوچر_ڈیبیٹ ایکسچینج۔ ♫ USD.futures_ff ♫ ♫ مخلوط مارجن کی ترسیل کے معاہدوں کی ایک حد ♫ مستقبل_کراکن ایکسچینج۔ ♫ USD.swap_pf♫ ♫ مخلوط مارجن دائمی معاہدوں کی ایک رینج ♫ ∙ ∙ مستقبل_کراکن ایکسچینج ∙
جب تبادلہ اعتراض کی طرف سے نمائندگی اکاؤنٹexchange
کے اندر کوئی زیر التواء احکامات نہیں ہیںسوال کی حدیامخصوص تجارتی آلات(ایکٹو احکامات ایک غیر پورا حالت میں) ، اس فنکشن کو کال کرنے سے ایک خالی صف واپس آتی ہے ، یعنی:[]
.
مندرجہ ذیل تبادلے کے لئے مطلوبہ آلہ کو اس وقت غیر مکمل شدہ آرڈرز کی استفسار کرتے وقت آلہ پیرامیٹر میں منتقل کرنا ضروری ہے۔ ان تبادلے کے ساتھ گیٹ آرڈرز فنکشن کو کال کرتے وقت ، اگر آلہ پیرامیٹر نہیں دیا جاتا ہے تو ، صرف موجودہ آلہ کے غیر مکمل شدہ آرڈرز کی درخواست کی جاتی ہے ، نہ کہ تمام آلات کے غیر مکمل احکامات (کیونکہ تبادلے کا انٹرفیس اس کی حمایت نہیں کرتا ہے) ۔
زائف، میکس سی، ایل بینک، کوربٹ، کوئن، بٹ مارٹ، بٹھمب، بٹ فلائر، بگون۔
تبادلے جو حمایت نہیں کرتےexchange.GetOrders()
فنکشن:
فنکشن کا نام | غیر تعاون یافتہ اسپاٹ ایکسچینجز | غیر معاون فیوچر ایکسچینج |
---|---|---|
حاصل احکامات | – | فیوچر_بی باکس |
{@struct/Order Order}، {@fun/Trade/exchange.GetOrder exchange.GetOrder}، {@fun/Trade/exchange.GetHistoryOrders exchange.GetHistoryOrders}، {@struct/Trade/Order Order}، {@fun/Trade/exchange.GetOrder exchange.GetOrder}، {@fun/Trade/exchange.GetHistoryOrders}، {@fun/Trade/exchange.GetHistoryOrders}، {@fun/Trade/exchange.GetOrder exchange.GetOrder}، {@fun/Trade/exchange.GetHistoryOrders}، {@fun/Trade/exchange.GetHistoryOrders exchange.GetHistoryOrders}، {@fun/Trade/exchange.GetOrder exchange.GetOrder.GetOrder}، {@fun/Trade/exchange.GetHistoryOrders}، {@fun/Trade/exchange.GetHistoryOrders exchange.GetHistoryOrders}،
کےexchange.GetHistoryOrders()
موجودہ ٹریڈنگ جوڑی، معاہدوں کے لئے تاریخی احکامات حاصل کرنے کے لئے استعمال کیا جاتا ہے؛ یہ مخصوص ٹریڈنگ کی اقسام کی وضاحت کی حمایت کرتا ہے.
کےexchange.GetHistoryOrders()
فنکشن {@struct/Order Order} ڈھانچے کی ایک صف واپس کرتا ہے اگر ڈیٹا کی درخواست کامیاب ہو جائے، اور اگر درخواست ناکام ہو تو null.
{@struct/Order Order} صفیں، خالی اقدار
تبادلہ.GetHistoryOrders() تبادلہ.GetHistoryOrders (علامت) تبادلہ.GetHistoryOrders ((علامت، چونکہ) exchange.GetHistoryOrders ((علامت، چونکہ، حد) تبادلہ.GetHistoryOrders ((سے) تبادلہ.GetHistoryOrders ((چونکہ، حد)
کےsymbol
پیرامیٹر تجارتی علامت کی وضاحت کے لئے استعمال کیا جاتا ہے.BTC_USDT
ٹریڈنگ جوڑی، مثال کے طور پر، جبexchange
ایک اسپاٹ ایکسچینج آبجیکٹ ہے، کے لئے پیرامیٹر فارمیٹsymbol
ہےBTC_USDT
؛ اگر یہ ایک فیوچر ایکسچینج آبجیکٹ ہے ، مثال کے طور پر دائمی معاہدہ لیتے ہوئے ، پیرامیٹر فارمیٹ کے لئےsymbol
ہے:BTC_USDT.swap
.
اگر آپ اختیارات کے معاہدوں کے آرڈر کے اعداد و شمار کی پوچھ گچھ کر رہے ہیں، پیرامیٹر مقرر کریںsymbol
کرنے کے لئے"BTC_USDT.BTC-240108-40000-C"
(مثال کے طور پر بائننس آپشن بی ٹی سی-240108-40000-C کو لے کر)تجارتی جوڑاایف ایم زیڈ پلیٹ فارم کے ذریعہ بیان کردہ اور ایکسچینج کے ذریعہ بیان کردہ مخصوص آپشن معاہدے کا کوڈ ، جس کو علامت
علامت
غلط
سٹرنگ
کےsince
پیرامیٹر استعمال کیا جاتا ہے ملی سیکنڈ میں استفسار کے آغاز کے ٹائم اسٹیمپ کی وضاحت کرنے کے لئے.
کے بعد سے
غلط
نمبر
کےlimit
پیرامیٹر کی درخواست کرنے کے احکامات کی تعداد کی وضاحت کرنے کے لئے استعمال کیا جاتا ہے.
حد
غلط
نمبر
function main() {
var historyOrders = exchange.GetHistoryOrders()
Log(historyOrders)
}
def main():
historyOrders = exchange.GetHistoryOrders()
Log(historyOrders)
void main() {
auto historyOrders = exchange.GetHistoryOrders();
Log(historyOrders);
}
symbol
, since
, limit
پیرامیٹرز کی وضاحت نہیں کی گئی ہے ، ڈیفالٹ انکوائری موجودہ تجارتی جوڑی ، معاہدے کے تاریخی احکامات ہے۔ موجودہ وقت کے قریب ایک خاص حد کے اندر تاریخی احکامات کی انکوائری کرتا ہے ، انکوائری کی حد ایکسچینج انٹرفیس کی واحد انکوائری کی حد پر منحصر ہے۔symbol
پیرامیٹر کی وضاحت کی گئی ہے تو، مقررہ تجارت کی قسم کے لئے احکامات کی تاریخ کو تلاش کریں.since
پیرامیٹر کی وضاحت کی جاتی ہے، موجودہ وقت کی سمت میں استفسارsince
وقت کے طور پر شروع ہونے کا وقت.limit
پیرامیٹر کی وضاحت کی جاتی ہے، تو کافی تعداد میں اندراجات کے بعد استفسار واپس آ جاتا ہے.تبادلے جو حمایت نہیں کرتےexchange.GetHistoryOrders()
فنکشن:
فنکشن کا نام | غیر تعاون یافتہ اسپاٹ ایکسچینجز | غیر معاون فیوچر ایکسچینج |
---|---|---|
حاصل کریںHistoryOrders | Zaif / Upbit / Coincheck / Bitstamp / Bithumb / BitFlyer / BigONE | Futures_dYdX / Futures_Bibox / Futures_ApolloX |
{@struct/Order Order}، {@fun/Trade/exchange.GetOrder exchange.GetOrder}، {@fun/Trade/exchange.GetOrders exchange.GetOrders}، {@struct/Trade/Order Order}، {@fun/Trade/Exchange.GetOrders exchange.GetOrders}، {@fun/Trade/Exchange.GetOrders exchange.GetOrders}، {@fun/Trade/Exchange.GetOrders exchange.GetOrders}، {@fun/Trade/Exchange.GetOrders exchange.GetOrders}، {@fun/Trade/Exchange.GetOrders exchange.GetOrders}، {@fun/Trade/Exchange.GetOrders exchange.GetOrders}، {@fun/Trade/Exchange.GetOrders exchange.GetOrders}، {@fun/Trade/Exchange.GetOrders exchange.GetOrders}، {@fun/Trade/Exchange.GetOrder exchange.GetOrder exchange.GetOrder exchange.GetOrders}، {@fun/
exchange.SetPrecision()
تقریب کی درستگی مقرر کرنے کے لئے استعمال کیا جاتا ہےexchange
تبادلہ کا مقصدقیمتاورآرڈر کی رقم، ترتیب کے بعد، نظام خود کار طریقے سے اضافی ڈیٹا کو نظر انداز کرے گا.
exchange.SetPrecision ((قیمتPrecision، رقمPrecision)
کےpricePrecision
پیرامیٹر قیمت کے اعداد و شمار کی درستگی کو کنٹرول کرنے کے لئے استعمال کیا جاتا ہے.
قیمت
سچ
نمبر
کےamountPrecision
پیرامیٹر کو حکم دیا جائے گا کہ اعداد و شمار کی مقدار کی درستگی کو کنٹرول کرنے کے لئے استعمال کیا جاتا ہے.
رقمدرستگی
سچ
نمبر
function main(){
// Set the decimal precision of price to 2 bits, and the decimal precision of variety order amount to 3 bits
exchange.SetPrecision(2, 3)
}
def main():
exchange.SetPrecision(2, 3)
void main() {
exchange.SetPrecision(2, 3);
}
بیک ٹسٹنگ سسٹم اس فنکشن کی حمایت نہیں کرتا ہے، اور بیک ٹسٹنگ سسٹم کی عددی درستگی کو خود بخود سنبھالا جاتا ہے.
{@fun/Trade/exchange.Buy exchange.Buy}، {@fun/Trade/exchange.Sell exchange.Sell}
ایکسچینج آبجیکٹ کی موجودہ زر مبادلہ کی شرح مقرر کریں۔
exchange.SetRate (قیمت مقرر)
کےrate
تبادلہ کرنسی کی شرح کی وضاحت کرنے کے لئے پیرامیٹر استعمال کیا جاتا ہے.
شرح
سچ
نمبر
function main(){
Log(exchange.GetTicker())
// Set exchange rate conversion
exchange.SetRate(7)
Log(exchange.GetTicker())
// Set to 1, no conversion
exchange.SetRate(1)
}
def main():
Log(exchange.GetTicker())
exchange.SetRate(7)
Log(exchange.GetTicker())
exchange.SetRate(1)
void main() {
Log(exchange.GetTicker());
exchange.SetRate(7);
Log(exchange.GetTicker());
exchange.SetRate(1);
}
اگر زر مبادلہ کی شرح کی قیمت کوexchange.SetRate()
اس کے بعد تمام قیمت کی معلومات جیسے ٹکر، گہرائیوں، آرڈر کی قیمتوں، وغیرہ کے تبادلے کی طرف سے نمائندگی موجودہexchange
تبادلہ اعتراض 7 کی مقررہ زر مبادلہ کی شرح سے ضرب کر کے تبدیل کیا جائے گا. مثال کے طور پر،exchange
ایک تبادلہ ہے جس میں امریکی ڈالر بطور کرنسی ہے۔exchange.SetRate(7)
، براہ راست مارکیٹ پر تمام قیمتوں کو قریب قیمتوں میں تبدیل کیا جائے گاCNY7 سے ضرب کر کے نامزد.
{@fun/Market/exchange.GetRate تبادلہ.GetRate}
کےexchange.IO()
تقریب تبادلہ اعتراض سے متعلق دیگر انٹرفیس کالز کے لئے استعمال کیا جاتا ہے.
کےexchange.IO()
فنکشن ایکسچینج آبجیکٹ سے متعلق دیگر انٹرفیس کو کال کرتا ہے ، کامیاب کال پر مطلوبہ رسپانس ڈیٹا واپس کرتا ہے اور یہ ناکام کال پر null واپس کرتا ہے۔
string, number, bool, object, array, null, اور نظام کی طرف سے معاونت کسی بھی دوسری قسم
exchange.IO(k،...args)
کےk
پیرامیٹر کال کی قسم مقرر کرنے کے لئے استعمال کیا جاتا ہے، اختیاری اقدار کے ساتھ"api"
, "currency"
, "base"
, "trade_margin"
, "trade_normal"
, "public_base"
, "mbase"
, selfTradePreventionMode
, simulate
, cross
, dual
, unified
اور اسی طرح.
k
سچ
سٹرنگ
توسیع شدہ پیرامیٹرز، مخصوص کال منظر نامے کے مطابق منظور،arg
پیرامیٹرز ایک سے زیادہ منتقل کیا جا سکتا ہے.exchange.IO()
فنکشن، مختلف پیرامیٹر کی ترتیبات مختلف افعال کے مطابق.exchange.IO()
فنکشن غیر معینہ ہیں.
ارگ
سچ
string, number, bool, object, array, null اور نظام کی طرف سے حمایت کی کسی بھی دیگر اقسام
function main() {
var arrOrders = [
{"instId":"BTC-USDT-SWAP","tdMode":"cross","side":"buy","ordType":"limit","px":"16000","sz":"1","posSide":"long"},
{"instId":"BTC-USDT-SWAP","tdMode":"cross","side":"buy","ordType":"limit","px":"16000","sz":"2","posSide":"long"}
]
// Call exchange.IO to access the exchange's bulk order interface directly
var ret = exchange.IO("api", "POST", "/api/v5/trade/batch-orders", "", JSON.stringify(arrOrders))
Log(ret)
}
import json
def main():
arrOrders = [
{"instId":"BTC-USDT-SWAP","tdMode":"cross","side":"buy","ordType":"limit","px":"16000","sz":"1","posSide":"long"},
{"instId":"BTC-USDT-SWAP","tdMode":"cross","side":"buy","ordType":"limit","px":"16000","sz":"2","posSide":"long"}
]
ret = exchange.IO("api", "POST", "/api/v5/trade/batch-orders", "", json.dumps(arrOrders))
Log(ret)
void main() {
json arrOrders = R"([
{"instId":"BTC-USDT-SWAP","tdMode":"cross","side":"buy","ordType":"limit","px":"16000","sz":"1","posSide":"long"},
{"instId":"BTC-USDT-SWAP","tdMode":"cross","side":"buy","ordType":"limit","px":"16000","sz":"2","posSide":"long"}
])"_json;
auto ret = exchange.IO("api", "POST", "/api/v5/trade/batch-orders", "", arrOrders.dump());
Log(ret);
}
کا استعمال کرتے ہوئےexchange.IO("api", httpMethod, resource, params, raw)
کال فارمexchange.IO()
یہ آپ کو FMZ پلیٹ فارم میں شامل نہیں کیا جاتا ہے کہ فعالیت کو بڑھانے کے لئے اجازت دے گا.POST
درخواست آپ کو خفیہ کاری ، دستخط ، یا پیرامیٹرز کی توثیق کے بارے میں فکر کرنے کی ضرورت نہیں ہے ، جو پہلے ہی نیچے ایف ایم زیڈ کے ذریعہ سنبھالا جاتا ہے ، جب تک کہ آپ اسی پیرامیٹرز کو پُر کریں۔ آپ بیچ آرڈر کی مثال کا حوالہ دے سکتے ہیں۔OKX ایکسچینجمستقبل کے معاہدوں، اور پیرامیٹر کا استعمالraw
آرڈر پیرامیٹرز کو منتقل کرنے کے لئے:
var amount = 1
var price = 10
var basecurrency = "ltc"
function main () {
// Note that both amount.toString() and price.toString() have a ' character on the left and right side
var message = "symbol=" + basecurrency + "&amount='" + amount.toString() + "'&price='" + price.toString() + "'&side=buy" + "&type=limit"
var id = exchange.IO("api", "POST", "/v1/order/new", message)
}
amount = 1
price = 10
basecurrency = "ltc"
def main():
message = "symbol=" + basecurrency + "&amount='" + str(amount) + "'&price='" + str(price) + "'&side=buy" + "&type=limit"
id = exchange.IO("api", "POST", "/v1/order/new", message)
void main() {
auto amount = 1.0;
auto price = 10.0;
auto basecurrency = "ltc";
string message = format("symbol=%s&amount=\"%.1f\"&price=\"%.1f\"&side=buy&type=limit", basecurrency, amount, price);
auto id = exchange.IO("api", "POST", "/v1/order/new", message);
}
اگر کلیدی قدر میںparams
پیرامیٹر (یعنی، Http درخواست پیرامیٹر) ایک تار ہے، یہ پیرامیٹر کی قیمت کو لپیٹنے کے لئے پیرامیٹر کی قیمت کے ارد گرد واحد کوٹس (یعنی، علامت ') میں لکھا جا کرنے کی ضرورت ہے.
function main() {
var ret = exchange.IO("api", "GET", "https://www.okx.com/api/v5/account/max-withdrawal", "ccy=BTC")
Log(ret)
}
def main():
ret = exchange.IO("api", "GET", "https://www.okx.com/api/v5/account/max-withdrawal", "ccy=BTC")
Log(ret)
void main() {
auto ret = exchange.IO("api", "GET", "https://www.okx.com/api/v5/account/max-withdrawal", "ccy=BTC");
Log(ret);
}
یہ مکمل یو آر ایل پیرامیٹرز میں منتقل کرنے کی حمایت کرتا ہے جو بیس ایڈریس سوئچنگ کے آپریشن کو چھوڑ سکتا ہے (بنیادی ایڈریس کو کال کرنا)exchange.SetBase()
فنکشن).
function main(){
var ret = exchange.IO("api", "GET", "/api/v5/trade/orders-pending", "instType=SPOT")
Log(ret)
}
def main():
ret = exchange.IO("api", "GET", "/api/v5/trade/orders-pending", "instType=SPOT")
Log(ret)
void main() {
auto ret = exchange.IO("api", "GET", "/api/v5/trade/orders-pending", "instType=SPOT");
Log(ret);
}
پیرامیٹر کے بغیر کال کا مثالraw
:
function main() {
// For example, if you set the current trading pair of the exchange object to BTC_USDT at the beginning of the live trading, print the current trading pair tickers
Log(exchange.GetTicker())
// Switch the trading pair to LTC_BTC
exchange.IO("currency", "LTC_BTC")
Log(exchange.GetTicker())
}
def main():
Log(exchange.GetTicker())
exchange.IO("currency", "LTC_BTC")
Log(exchange.GetTicker())
void main() {
Log(exchange.GetTicker());
exchange.IO("currency", "LTC_BTC");
Log(exchange.GetTicker());
}
موجودہ تبادلے کی ٹریڈنگ جوڑی سوئچ کریں، تاکہ یہ کوڈ کی طرف سے تشکیل ٹریڈنگ جوڑی سوئچ کرے گالائیو ٹریڈنگ تخلیق پریابیک ٹیسٹ میں.
function main () {
// exchanges[0] is the first exchange object added when the live trading is created
exchanges[0].IO("base", "https://api.huobi.pro")
}
def main():
exchanges[0].IO("base", "https://api.huobi.pro")
void main() {
exchanges[0].IO("base", "https://api.huobi.pro");
}```
For example, the default base address when the exchange object is wrapped is ```https://api.huobipro.com```, and when you need to switch to ```https://api.huobi.pro```, use the following code to switch:
```javascript
function main() {
exchange.SetBase("https://api.bitfinex.com")
exchange.IO("mbase", "https://api-pub.bitfinex.com")
}
def main():
exchange.SetBase("https://api.bitfinex.com")
exchange.IO("mbase", "https://api-pub.bitfinex.com")
void main() {
exchange.SetBase("https://api.bitfinex.com");
exchange.IO("mbase", "https://api-pub.bitfinex.com");
}
ٹکر انٹرفیس اور تجارتی انٹرفیس کے لئے مختلف بیس ایڈریس والے تبادلے کے ل for ، مثال کے طور پر ، بٹ فائنکس فیوچر کے دو پتے ہیں ، ایک ٹکر انٹرفیس کے لئے اور دوسرا تجارتی انٹرفیس کے لئے۔ بٹ فائنکس فیوچر کا استعمال کرتے ہوئے نجی انٹرفیس بیس ایڈریس کو سوئچ کریں۔exchange.SetBase("xxx")
. Bitfinex مستقبل عوامی انٹرفیس بیس ایڈریس کا استعمال کرتے ہوئے سوئچexchange.IO("mbase", "xxx")
.
I. کریپٹوکرنسی پر مبنی تبادلے کے لئے دیگر API انٹرفیس کالز جو یکساں طور پر نہیں ہیں، پیرامیٹر کے ساتھk
مقرر کریں"api"
:
exchange.IO("api", httpMethod, resource, params, raw)
POST
, GET
، وغیرہURL
.کےexchange.IO("api", httpMethod, resource, params, raw)
فنکشن کال ایکسچینج انٹرفیس تک رسائی حاصل کرے گا اور کال ناکام ہوجاتی ہے اور غلطی واقع ہوتی ہے تو null واپس کرے گا۔
صرف حقیقی ٹریڈنگ کی حمایت کرتا ہےexchange.IO("api", httpMethod, resource, params, raw)
function.
II. ٹریڈنگ کے جوڑوں کو تبدیل کرنے کے لئے، پیرامیٹرk
پر مقرر کیا گیا ہے"currency"
:
exchange.IO("currency", currency)
کرنسی: پیرامیٹر ایک یونیفارم بڑے حروف کی شکل کے ساتھ ایک تار کی قسم ہے، الگ کرنے کے لئے ایک underscore کا استعمال کرتے ہوئےbaseCurrency
سےquoteCurrency
، جیسےBTC_USDT
.
ETH_BTC
صرف تبدیل کر سکتے ہیںLTC_BTC
، نہیں کرناLTC_USDT
.exchange.IO("currency", currency)
تجارت کے جوڑوں کو تبدیل کرنے کے لئے.III۔ کریپٹوکرنسی اسپاٹ ایکسچینج آبجیکٹ لیورجڈ اکاؤنٹ موڈ کو سوئچ کرنے کے لئے استعمال کیا جاتا ہے:
k
پر مقرر کیا گیا ہے"trade_margin"
اسپاٹ لیوریج اکاؤنٹ موڈ پر سوئچ کرنے کے لئے۔ احکامات دینے اور اکاؤنٹ کے اثاثے حاصل کرنے سے ایکسچینج کے اسپاٹ لیوریج انٹرفیس تک رسائی حاصل ہوگی۔
اگر ایکسچینج اسپاٹ لیول میں مکمل مارجن اور الگ تھلگ مارجن میں فرق کرتا ہے تو:exchange.IO("trade_super_margin")
لیورجڈ اکاؤنٹ کے لیے مکمل مارجن پر سوئچ کرنا، اورexchange.IO("trade_margin")
لیورجڈ اکاؤنٹ کے لیے الگ تھلگ مارجن پر سوئچ کرنا۔k
پر مقرر کیا گیا ہے"trade_normal"
معمول کے اسپاٹ اکاؤنٹ موڈ پر واپس جانے کے لیے۔اسپاٹ ایکسچینجز جو لیورجڈ اکاؤنٹ ماڈلز کے درمیان سوئچنگ کی حمایت کرتے ہیں:
تبادلہ | خصوصی تبصرے |
---|---|
OKX | لیورجڈ اکاؤنٹ موڈ میں ٹریڈنگ جوڑے عام لوگوں سے مختلف ہیں ، کچھ ٹریڈنگ جوڑوں میں ان کا امکان نہیں ہوسکتا ہے۔ استعمال کریںexchange.IO("trade_super_margin") لیورجڈ اکاؤنٹس کے لئے مکمل پوزیشن پر سوئچ کرنے اور استعمال کرنے کے لئےexchange.IO("trade_margin") پوزیشن کی طرف سے پوزیشن پر سوئچ کرنے کے لئے.trade_normal معمول کے اسپاٹ موڈ پر سوئچ کرنے کے لیے استعمال کریں۔exchange.IO("tdMode", "cross") براہ راست لیوریج موڈ کی وضاحت کرنے کے لئے. |
ہوبی | لیوریجڈ اکاؤنٹ موڈ ٹریڈنگ کے جوڑے عام سے مختلف ہوتے ہیں ، کچھ ٹریڈنگ جوڑوں میں ان کی کمی ہوسکتی ہے۔ ہووبی لیوریجڈ اکاؤنٹس میں مکمل پوزیشن اور پوزیشن کے لحاظ سے پوزیشن موجود ہیں۔ استعمال کریںtrade_margin لیوریج اکاؤنٹ کی پوزیشن پر پوزیشن کے مطابق سوئچ کرنے کے لئے، استعمالtrade_super_margin لیوریج اکاؤنٹ مکمل پوزیشن پر سوئچ کرنے کے لئے.trade_normal عام کرنسی کرنسی موڈ پر سوئچ کرنے کے لئے. |
بائننس | لیورجڈ اکاؤنٹ موڈ کو پوزیشن کے لحاظ سے پوزیشن اور مکمل پوزیشن میں تقسیم کیا گیا ہے، استعمالtrade_margin پوزیشن کی طرف سے پوزیشن پر سوئچ کرنے کے لئے، استعمالtrade_super_margin مکمل پوزیشن پر سوئچ کرنے کے لئے، استعمالtrade_normal عام کرنسی کرنسی موڈ پر سوئچ کرنے کے لئے. |
دروازہ | لیورجڈ اکاؤنٹ موڈ کو پوزیشن کے لحاظ سے پوزیشن اور مکمل پوزیشن میں تقسیم کیا گیا ہے، استعمالtrade_margin پوزیشن کی طرف سے پوزیشن پر سوئچ کرنے کے لئے، استعمالtrade_super_margin مکمل پوزیشن پر سوئچ کرنے کے لئے، استعمالtrade_normal عام کرنسی کرنسی موڈ پر سوئچ کرنے کے لئے. |
AscendEx | استعمالexchange.IO("trade_margin") لیوریج اکاؤنٹ موڈ پر سوئچ کرنے کے لئے اورexchange.IO("trade_normal") عام اکاؤنٹ موڈ پر واپس سوئچ کرنے کے لئے. |
واہ | استعمالexchange.IO("trade_margin") لیوریج اکاؤنٹ موڈ پر سوئچ کرنے کے لئے اورexchange.IO("trade_normal") عام اکاؤنٹ موڈ پر واپس سوئچ کرنے کے لئے. |
CoinEx | استعمالexchange.IO("trade_margin") لیوریجڈ اکاؤنٹ موڈ پر سوئچ کرنے کے لئے اورexchange.IO("trade_normal") عام اکاؤنٹ موڈ پر واپس سوئچ کرنے کے لئے. |
دیگر سوئچنگ افعال:چیک کریںexchange.IO()
کے لئے فنکشندیگر سوئچنگ افعالصارف گائیڈ میں.
{@fun/NetSettings/exchange.SetBase exchange.SetBase}، {@fun/Account/exchange.SetCurrency exchange.SetCurrency}، {@var EXCHANGE_OP_IO_CONTROL}
کےexchange.Log()
فنکشن کا استعمال لاگ کالم کے علاقے میں آرڈر کی جگہ اور انخلا کا لاگ آؤٹ کرنے کے لئے کیا جاتا ہے۔ جب کال کیا جاتا ہے تو ، کوئی آرڈر نہیں دیئے جاتے ہیں ، صرف ٹرانزیکشن لاگ آؤٹ کیا جاتا ہے اور ریکارڈ کیا جاتا ہے۔
تبادلہ.لاگ ((آرڈرٹائپ ، قیمت ، رقم) exchange.Log ((orderType, price, amount,...args) آرڈر کی قسم، قیمت، رقم،...args)
کےorderType
پیرامیٹر آؤٹ پٹ لاگ کی قسم مقرر کرنے کے لئے استعمال کیا جاتا ہے، اختیاری اقدار ہیں {@var/LOG_TYPE/LOG_TYPE_BUY LOG_TYPE_BUY}، {@var/LOG_TYPE/LOG_TYPE_SELL LOG_TYPE_SELL}، {@var/LOG_TYPE/LOG_TYPE_CANCEL LOG_TYPE_CANCEL}.
آرڈرٹائپ
سچ
نمبر
کےprice
پیرامیٹر آؤٹ پٹ لاگ میں دکھایا گیا قیمت مقرر کرنے کے لئے استعمال کیا جاتا ہے.
قیمت
سچ
نمبر
کےamount
پیرامیٹر کا استعمال آؤٹ پٹ لاگ میں دکھائے جانے والے دیئے گئے آرڈرز کی مقدار کو ترتیب دینے کے لئے کیا جاتا ہے۔
رقم
سچ
نمبر
توسیع شدہ پیرامیٹرز جو اس لاگ میں معلومات کے ساتھ آؤٹ پٹ کر سکتے ہیں،arg
پیرامیٹرز ایک سے زیادہ منتقل کیا جا سکتا ہے.
ارگ
غلط
string، number، bool، object، array، null اور نظام کی طرف سے معاونت کی کسی بھی دوسری قسم
var id = 123
function main() {
// Order type buy, price 999, amount 0.1
exchange.Log(LOG_TYPE_BUY, 999, 0.1)
// Cancel the order
exchange.Log(LOG_TYPE_CANCEL, id)
}
id = 123
def main():
exchange.Log(LOG_TYPE_BUY, 999, 0.1)
exchange.Log(LOG_TYPE_CANCEL, id)
void main() {
auto id = 123;
exchange.Log(LOG_TYPE_BUY, 999, 0.1);
exchange.Log(LOG_TYPE_CANCEL, id);
}
استعمال کرناexchange.Log(orderType, price, amount)
ٹیسٹ کے بعد لائیو ٹریڈنگ آرڈر کے لئے استعمال کیا جاسکتا ہے ، مشابہت شدہ آرڈر کی جگہ ، اور یہ آرڈر کی جگہ کی لاگنگ میں مدد کرسکتا ہے۔ سب سے عام منظرناموں میں سے ایک {@ تفریح / تجارت / تبادلہ.IOexchange.IO} فنکشن مشروط احکامات بنانے کے لئے تبادلے کے انٹرفیس تک رسائی حاصل کرنے کے لئے، لیکنexchange.IO()
تقریب لائیو ٹریڈنگ لاگ ریکارڈ میں ٹرانزیکشن لاگ کی معلومات کی پیداوار نہیں کرتا.exchange.Log()
آرڈر کی جگہ کی معلومات کو ریکارڈ کرنے کے لئے آؤٹ پٹ لاگ کو مکمل کرنے کے لئے فنکشن کا استعمال کیا جاسکتا ہے ، اور آرڈر کی واپسی کے عمل کے لئے بھی یہی سچ ہے۔
جبorderType
پیرامیٹر ہےLOG_TYPE_CANCEL
،price
پیرامیٹر منسوخ شدہ آرڈر کا آرڈر آئی ڈی ہے جس کا استعمال جب آرڈر براہ راست انسٹال کیا جاتا ہے تو انسٹال لاگ پرنٹ کرنے کے لئے کیا جاتا ہےexchange.IO()
فنکشن.exchange.Log()
فنکشن {@var/EXCHANGE exchange} ایکسچینج آبجیکٹ کا ممبر فنکشن ہے ، جیسا کہ عالمی فنکشن {@fun/Log Log} سے ممتاز ہے۔
{@fun/Log Log}، {@var/EXCHANGE exchange}، {@var/LOG_TYPE/LOG_TYPE_BUY LOG_TYPE_BUY}، {@var/LOG_TYPE/LOG_TYPE_SELL LOG_TYPE_SELL}، {@var/LOG_TYPE/LOG_TYPE_CANCEL LOG_TYPE_CANCEL}
کےexchange.Encode()
فنکشن دستخط خفیہ کاری کے حساب کے لئے استعمال کیا جاتا ہے.
کےexchange.Encode()
فنکشن حساب شدہ ہیش ویلیو کوڈنگ لوٹاتا ہے۔
سٹرنگ
exchange.Encode ((algo، inputFormat، outputFormat، data) exchange.Encode ((algo، inputFormat، outputFormat، data، keyFormat، key)
پیرامیٹرalgo
کوڈنگ حساب کتاب کے لئے استعمال کیا جاتا الگورتھم ہے۔ معاون ترتیبات ہیں: algo
بھی حمایت کرتا ہے: algo
بھی معاون ہے: algo
ed25519.seed
حساب کتاب.
کچھ
سچ
سٹرنگ
ڈیٹا فارمیٹ کی وضاحت کرنے کے لئے استعمال کیا جاتا ہےdata
پیرامیٹر.inputFormat
پیرامیٹر میں سے کسی ایک پر مقرر کیا جا سکتا ہے: hex
کوڈت، base64
انکوڈ کیا جاتا ہے، اور outputFormat
پیرامیٹر مندرجہ ذیل ترتیبات کی حمایت کرتا ہے: hex
کوڈت، base64
انکوڈ کیا جاتا ہے، اور data
یہ وہ اعداد و شمار ہیں جن پر کارروائی کی جائے گی۔
اعداد و شمار
سچ
سٹرنگ
ڈیٹا فارمیٹ کی وضاحت کرنے کے لئے استعمال کیا جاتا ہےkey
پیرامیٹر.key
پیرامیٹر میں سے کسی ایک پر مقرر کیا جا سکتا ہے: hex
کوڈت، base64
انکوڈ کیا جاتا ہے، اور key
پیرامیٹر کا استعمال دستخط کے حساب میں استعمال کی کلید کی وضاحت کرنے کے لئے کیا جاتا ہے، اور یہ ایک سادہ متن تار کے طور پر استعمال کیا جا سکتا ہے."{{accesskey}}"
, "{{secretkey}}"
کا حوالہ دینے کے لئےaccessKey
اورsecretKey
{@var/EXCHANGE exchange} تبادلہ آبجیکٹ میں تشکیل شدہ.
چابی
غلط
سٹرنگ
function main() {
var APIKEY = "your Access Key(Bitmex API ID)"
var expires = parseInt(Date.now() / 1000) + 10
var signature = exchange.Encode("sha256", "string", "hex", "GET/realtime" + expires, "hex", "{{secretkey}}")
var client = Dial("wss://www.bitmex.com/realtime", 60)
var auth = JSON.stringify({args: [APIKEY, expires, signature], op: "authKeyExpires"})
var pos = 0
client.write(auth)
client.write('{"op": "subscribe", "args": "position"}')
while (true) {
bitmexData = client.read()
if(bitmexData.table == 'position' && pos != parseInt(bitmexData.data[0].currentQty)){
Log('position change', pos, parseInt(bitmexData.data[0].currentQty), '@')
pos = parseInt(bitmexData.data[0].currentQty)
}
}
}
import time
def main():
APIKEY = "your Access Key(Bitmex API ID)"
expires = int(time.time() + 10)
signature = exchange.Encode("sha256", "string", "hex", "GET/realtime" + expires, "hex", "{{secretkey}}")
client = Dial("wss://www.bitmex.com/realtime", 60)
auth = json.dumps({"args": [APIKEY, expires, signature], "op": "authKeyExpires"})
pos = 0
client.write(auth)
client.write('{"op": "subscribe", "args": "position"}')
while True:
bitmexData = json.loads(client.read())
if "table" in bitmexData and bitmexData["table"] == "position" and len(bitmexData["data"]) != 0 and pos != bitmexData["data"][0]["currentQty"]:
Log("position change", pos, bitmexData["data"][0]["currentQty"], "@")
pos = bitmexData["data"][0]["currentQty"]
void main() {
auto APIKEY = "your Access Key(Bitmex API ID)";
auto expires = Unix() + 10;
auto signature = exchange.Encode("sha256", "string", "hex", format("GET/realtime%d", expires), "hex", "{{secretkey}}");
auto client = Dial("wss://www.bitmex.com/realtime", 60);
json auth = R"({"args": [], "op": "authKeyExpires"})"_json;
auth["args"].push_back(APIKEY);
auth["args"].push_back(expires);
auth["args"].push_back(signature);
auto pos = 0;
client.write(auth.dump());
client.write("{\"op\": \"subscribe\", \"args\": \"position\"}");
while(true) {
auto bitmexData = json::parse(client.read());
if(bitmexData["table"] == "position" && bitmexData["data"][0].find("currentQty") != bitmexData["data"][0].end() && pos != bitmexData["data"][0]["currentQty"]) {
Log("test");
Log("position change", pos, bitmexData["data"][0]["currentQty"], "@");
pos = bitmexData["data"][0]["currentQty"];
}
}
}
BitMEX پوزیشن تبدیلی دباؤ (wss پروٹوکول) کا مثال:
صرف حقیقی ٹریڈنگ کی حمایت کرتا ہےexchange.Encode()
فنکشن."{{accesskey}}"
, "{{secretkey}}"
حوالہ جات صرف اس صورت میں درست ہیں جبexchange.Encode()
استعمال کیا جاتا ہے.
{@var/EXCHANGE تبادلہ}، {@fun/Global/Encode Encode}
ملٹی تھریڈڈ غیر متزلزل سپورٹ افعال تمام معاون افعال کے آپریشنز کو غیر متزلزل بیک وقت عمل میں تبدیل کرسکتے ہیں۔
کےexchange.Go()
تقریب فوری طور پر ایک متوازی اعتراض واپس، اور آپ کو استعمال کر سکتے ہیںwait()
متوازی درخواست کا نتیجہ حاصل کرنے کے لئے اس متوازی اعتراض کا طریقہ.
چیز
تبادلہ.Go (میتھڈ) تبادلہ.Go ((طریقہ،...args)
کےmethod
پیرامیٹر متوازی فنکشن کا نام بتانے کے لئے استعمال کیا جاتا ہے۔ نوٹ کریں کہ پیرامیٹر فنکشن کا نام سٹرنگ ہے ، نہ کہ فنکشن کا حوالہ۔
طریقہ کار
سچ
سٹرنگ
پیرامیٹرزبیک وقت انجام دینے والے افعال، ایک سے زیادہ پیرامیٹر ہو سکتا ہےarg
. پیرامیٹر کی قسم اور تعدادarg
کے پیرامیٹرز پر منحصربیک وقت عملدرآمد کی تقریب.
ارگ
غلط
string, number, bool, object, array, function, null, and all other types supported by the system string, number, bool, object, array, function, null, and all other types supported by the system string, number, bool, object, array, function, null, and all other types supported by the system string, number, bool, object, array, function, function, null, and all other types supported by the system
function main(){
// The following four operations are concurrently executed asynchronously by multiple threads and do not take time and return immediately
var a = exchange.Go("GetTicker")
var b = exchange.Go("GetDepth")
var c = exchange.Go("Buy", 1000, 0.1)
var d = exchange.Go("GetRecords", PERIOD_H1)
// Call the wait method to wait for the return of the ticker results asynchronously
var ticker = a.wait()
// Returns the depth, or null if it fails
var depth = b.wait()
// return order number, limited to 1 second timeout, if timeout, returns undefined, the object can continue to call wait if the last wait timeout
var orderId = c.wait(1000)
if(typeof(orderId) == "undefined") {
// Timeout, reacquire
orderId = c.wait()
}
var records = d.wait()
}
def main():
a = exchange.Go("GetTicker")
b = exchange.Go("GetDepth")
c = exchange.Go("Buy", 1000, 0.1)
d = exchange.Go("GetRecords", PERIOD_H1)
ticker, ok = a.wait()
depth, ok = b.wait()
orderId, ok = c.wait(1000)
if ok == False:
orderId, ok = c.wait()
records, ok = d.wait()
void main() {
auto a = exchange.Go("GetTicker");
auto b = exchange.Go("GetDepth");
auto c = exchange.Go("Buy", 1000, 0.1);
auto d = exchange.Go("GetRecords", PERIOD_H1);
Ticker ticker;
Depth depth;
Records records;
TId orderId;
a.wait(ticker);
b.wait(depth);
if(!c.wait(orderId, 300)) {
c.wait(orderId);
}
d.wait(records);
}
Exchange.Go()
فنکشن استعمال مثال، کا تعین کرنے کے لئےundefined
استعمال کرناtypeof(xx) === "undefined"
، کیونکہnull == undefined
جاوا اسکرپٹ میں درست ہے۔
function main() {
var d = exchange.Go("GetRecords", PERIOD_H1)
// Waiting for K-line results
var records = d.wait()
// Here waits an asynchronous operation that has been waited and finished, it will return null, and log the error message
var ret = d.wait()
}
def main():
d = exchange.Go("GetRecords", PERIOD_H1)
records, ok = d.wait()
ret, ok = d.wait()
void main() {
auto d = exchange.Go("GetRecords", PERIOD_H1);
Records records;
d.wait(records);
Records ret;
d.wait(ret);
}
بلاتا ہےwait()
ایک متوازی اعتراض پر طریقہ ہے کہ جاری کیا گیا ہے ایک غلطی کی اطلاع دے گا:
function main() {
while(true) {
var beginTS = new Date().getTime()
var arrRoutine = []
var arrTicker = []
var arrName = []
for(var i = 0; i < exchanges.length; i++) {
arrRoutine.push(exchanges[i].Go("GetTicker"))
arrName.push(exchanges[i].GetName())
}
for(var i = 0; i < arrRoutine.length; i++) {
arrTicker.push(arrRoutine[i].wait())
}
var endTS = new Date().getTime()
var tbl = {
type: "table",
title: "ticker",
cols: ["index", "name", "latest-deal-price"],
rows: []
}
for(var i = 0; i < arrTicker.length; i++) {
tbl.rows.push([i, arrName[i], arrTicker[i].Last])
}
LogStatus(_D(), "Total time taken to obtain tickers from multiple exchanges concurrently:", endTS - beginTS, "millisecond", "\n", "`" + JSON.stringify(tbl) + "`")
Sleep(500)
}
}
import time
import json
def main():
while True:
beginTS = time.time()
arrRoutine = []
arrTicker = []
arrName = []
for i in range(len(exchanges)):
arrRoutine.append(exchanges[i].Go("GetTicker"))
arrName.append(exchanges[i].GetName())
for i in range(len(exchanges)):
ticker, ok = arrRoutine[i].wait()
arrTicker.append(ticker)
endTS = time.time()
tbl = {
"type": "table",
"title": "ticker",
"cols": ["index", "name", "latest-deal-price"],
"rows": []
}
for i in range(len(arrTicker)):
tbl["rows"].append([i, arrName[i], arrTicker[i]["Last"]])
LogStatus(_D(), "Total time taken to obtain tickers from multiple exchanges concurrently:", endTS - beginTS, "second", "\n", "`" + json.dumps(tbl) + "`")
Sleep(500)
void main() {
while(true) {
int length = exchanges.size();
auto beginTS = UnixNano() / 1000000;
Ticker arrTicker[length] = {};
string arrName[length] = {};
// Note that to add several exchange objects, several exchanges[n].Go functions have to be executed here, this example is to add four exchange objects, the details can be modified
auto r0 = exchanges[0].Go("GetTicker");
auto r1 = exchanges[1].Go("GetTicker");
auto r2 = exchanges[2].Go("GetTicker");
auto r3 = exchanges[3].Go("GetTicker");
GoObj *arrRoutine[length] = {&r0, &r1, &r2, &r3};
for(int i = 0; i < length; i++) {
arrName[i] = exchanges[i].GetName();
}
for(int i = 0; i < length; i++) {
Ticker ticker;
arrRoutine[i]->wait(ticker);
arrTicker[i] = ticker;
}
auto endTS = UnixNano() / 1000000;
json tbl = R"({
"type": "table",
"title": "ticker",
"cols": ["index", "name", "latest-deal-price"],
"rows": []
})"_json;
for(int i = 0; i < length; i++) {
json arr = R"(["", "", ""])"_json;
arr[0] = format("%d", i);
arr[1] = arrName[i];
arr[2] = format("%f", arrTicker[i].Last);
tbl["rows"].push_back(arr);
}
LogStatus(_D(), "Total time taken to obtain tickers from multiple exchanges concurrently:", format("%d", endTS - beginTS), "millisecond", "\n", "`" + tbl.dump() + "`");
Sleep(500);
}
}
متعدد ایکسچینج ٹکرز تک بیک وقت رسائی:
function main() {
/*
Testing with OKX futures order interface
POST /api/v5/trade/order
*/
var beginTS = new Date().getTime()
var param = {"instId":"BTC-USDT-SWAP","tdMode":"cross","side":"buy","ordType":"limit","px":"16000","sz":"1","posSide":"long"}
var ret1 = exchange.Go("IO", "api", "POST", "/api/v5/trade/order", "", JSON.stringify(param))
var ret2 = exchange.Go("IO", "api", "POST", "/api/v5/trade/order", "", JSON.stringify(param))
var ret3 = exchange.Go("IO", "api", "POST", "/api/v5/trade/order", "", JSON.stringify(param))
var id1 = ret1.wait()
var id2 = ret2.wait()
var id3 = ret3.wait()
var endTS = new Date().getTime()
Log("id1:", id1)
Log("id2:", id2)
Log("id3:", id3)
Log("Concurrent order placement time consumption:", endTS - beginTS, "millisecond")
}
import time
import json
def main():
beginTS = time.time()
param = {"instId":"BTC-USDT-SWAP","tdMode":"cross","side":"buy","ordType":"limit","px":"16000","sz":"1","posSide":"long"}
ret1 = exchange.Go("IO", "api", "POST", "/api/v5/trade/order", "", json.dumps(param))
ret2 = exchange.Go("IO", "api", "POST", "/api/v5/trade/order", "", json.dumps(param))
ret3 = exchange.Go("IO", "api", "POST", "/api/v5/trade/order", "", json.dumps(param))
id1, ok1 = ret1.wait()
id2, ok2 = ret2.wait()
id3, ok3 = ret3.wait()
endTS = time.time()
Log("id1:", id1)
Log("id2:", id2)
Log("id3:", id3)
Log("Concurrent order placement time consumption:", endTS - beginTS, "second")
void main() {
auto beginTS = UnixNano() / 1000000;
json param = R"({"instId":"BTC-USDT-SWAP","tdMode":"cross","side":"buy","ordType":"limit","px":"16000","sz":"1","posSide":"long"})"_json;
auto ret1 = exchange.Go("IO", "api", "POST", "/api/v5/trade/order", "", param.dump());
auto ret2 = exchange.Go("IO", "api", "POST", "/api/v5/trade/order", "", param.dump());
auto ret3 = exchange.Go("IO", "api", "POST", "/api/v5/trade/order", "", param.dump());
json id1 = R"({})"_json;
json id2 = R"({})"_json;
json id3 = R"({})"_json;
ret1.wait(id1);
ret2.wait(id2);
ret3.wait(id3);
auto endTS = UnixNano() / 1000000;
Log("id1:", id1);
Log("id2:", id2);
Log("id3:", id3);
Log("Concurrent order placement time consumption:", endTS - beginTS, "millisecond");
}
متوازی کالز کے لئےexchange.IO("api", ...)
فنکشن:
یہ فنکشن صرف حقیقی تجارت میں چلانے پر ملٹی تھریڈڈ ایگزیکشن ٹاسکس تخلیق کرتا ہے ، بیک ٹسٹنگ ملٹی تھریڈڈ بیک وقت ٹاسک ایگزیکشن کی حمایت نہیں کرتا ہے (بیک ٹسٹنگ دستیاب ہے ، لیکن پھر بھی ترتیب سے عملدرآمد ہوتا ہے) ۔
کے بعدexchange.Go()
تقریب ایک اعتراض، اس کی واپسیwait()
فنکشن اس موضوع کے ذریعے بلایا جاتا ہے تھریڈ کی طرف سے واپس اعداد و شمار حاصل کرنے کے لئے.wait()
تقریب کو خود کار طریقے سے جاری کیا جائے گا اس سے پہلے ڈیٹا حاصل کرنے کے لئے بلایا جانا چاہئے.wait()
اگر آپ کے پاس ایک مخصوص تھریڈ ہے تو ، تھریڈ کو خود بخود جاری نہیں کیا جائے گا یہاں تک کہ اگر ٹائم آؤٹ واقع ہو۔ تھریڈ کا نتیجہ خود بخود جاری ہونے سے پہلے حاصل کیا جانا چاہئے (ایک ہی وقت میں رسائی کے لئے انٹرفیس کال کی کامیابی یا ناکامی سے قطع نظر) ۔ آسان الفاظ میں ، مطلوبہ تھریڈ کوwait()
تقریب چاہے عملدرآمد کامیابی یا ناکامی، اور موضوع کی درخواست کی ہے کہ وسائل کی طرف سےexchange.Go()
فنکشن ڈوکر کی طرف سے خود کار طریقے سے جاری کیا جانا چاہئے.
کےwait()
طریقہ ایک ٹائم آؤٹ پیرامیٹر کی حمایت:
بغیر کسی ٹائم آؤٹ پیرامیٹر کے، یعنی،wait()
، یا 0 کی ایک ٹائم آؤٹ پیرامیٹر کے ساتھ، یعنی،wait(0)
.wait()
فنکشن بلاک کرتا ہے اور انتظار کرتا ہے جب تک کہ ہم آہنگ تھریڈ چلانے کا کام ختم نہ ہو جائے ، جو ہم آہنگ تھریڈ کے عملدرآمد کا نتیجہ واپس کرتا ہے۔
مقرر کریں ٹائم آؤٹ پیرامیٹر - 1، یعنیwait(-1)
.wait()
فنکشن فوری طور پر لوٹتا ہے، مختلف پروگرامنگ زبانوں کے لئے مختلف واپسی کی قیمتوں کے ساتھ، ایک مثال کال کے لئے اس ذیلی سیکشن کو دیکھیں.
مخصوص ٹائم آؤٹ پیرامیٹر مقرر کریں،wait(300)
، اورwait()
فنکشن واپس آنے سے پہلے زیادہ سے زیادہ 300 ملی سیکنڈ انتظار کرے گا.
اگر واپسی کا نتیجہwait()
فنکشن حاصل نہیں کیا جاتا ہے، موضوع کے وسائل کو خود بخود جاری نہیں کیا جائے گا، جس کی وجہ سے مطلوبہ موضوعات جمع ہو جائیں گے، اور 2000 سے زائد غلطی کی اطلاع دیں گے:"too many routine wait, max is 2000"
.
معاون افعال:GetTicker
, GetDepth
, GetTrades
, GetRecords
, GetAccount
, GetOrders
, GetOrder
, CancelOrder
, Buy
, Sell
, GetPositions
, IO
. یہ تمام افعال موجودہ {@var/EXCHANGE تبادلہ} تبادلے اعتراض کی بنیاد پر چلایا جاتا ہے جب بیک وقت بلایا جاتا ہے.
پائیتھون زبان اور جاوا اسکرپٹ زبان کے درمیان فرق یہ ہے کہwait()
پائیتھون زبان میں متوازی اشیاء کی تقریب دو پیرامیٹرز لوٹاتی ہے۔ پہلا پیرامیٹر ایک غیر متزلزل API کال کے ذریعہ واپس آنے والا نتیجہ ہے ، اور دوسرا پیرامیٹر اس بات کی نشاندہی کرتا ہے کہ آیا غیر متزلزل کال مکمل ہوگئی ہے۔
def main():
d = exchange.Go("GetRecords", PERIOD_D1)
# ok will return True definitely, unless the strategy is stopped
ret, ok = d.wait()
# If the wait times out, or if it waits for an instance that has already ended, ok returns False
ret, ok = d.wait(100)
{@fun/Global/Mail_Go Mail_Go}، {@fun/Global/HttpQuery_Go HttpQuery_Go}، {@fun/Global/EventLoop ایونٹ لوپ}
بازار اکاؤنٹ