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

تجارت

exchange.Buy

کےexchange.Buy()فنکشن خریدنے کے احکامات رکھنے کے لئے استعمال کیا جاتا ہے.Buy()تقریب تبادلہ اعتراض {@var/EXCHANGE تبادلہ} کا ایک رکن تقریب ہے.Buy()فنکشن ایکسچینج آبجیکٹ سے منسلک ایکسچینج اکاؤنٹ پر کام کرتا ہےexchange. رکن کے افعال (طرز) کا مقصدexchangeآبجیکٹ صرف سے متعلق ہےexchange، اور یہ دستاویزات کے بعد دوبارہ نہیں کیا جائے گا.

ایک کامیاب آرڈر آرڈر ID واپس کرتا ہے، ایک ناکام آرڈر null قدر واپس کرتا ہے. صفتIdایف ایم زیڈ پلیٹ فارم کے آرڈر {@struct/Order Order} ڈھانچے میں ایکسچینج پروڈکٹ کوڈ اور ایکسچینج کی اصل آرڈر آئی ڈی شامل ہیں ، جن کو انگریزی کمانڈوں سے الگ کیا گیا ہے۔ مثال کے طور پر ، خاصیتIdاسپاٹ ٹریڈنگ جوڑی کی شکلETH_USDTOKX تبادلہ کا حکم ہے: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

کےexchange.Sell()فروخت کے احکامات دینے کے لئے استعمال کیا جاتا ہے.

ایک کامیاب آرڈر آرڈر آئی ڈی واپس کرتا ہے، ایک ناکام آرڈر null قدر واپس کرتا ہے.Idایف ایم زیڈ پلیٹ فارم کے آرڈر {@struct/Order Order} ڈھانچے میں ایکسچینج پروڈکٹ کوڈ اور ایکسچینج کی اصل آرڈر آئی ڈی شامل ہیں ، جن کو انگریزی کمانڈوں سے الگ کیا گیا ہے۔ مثال کے طور پر ، خاصیتIdاسپاٹ ٹریڈنگ جوڑی کی شکلETH_USDTOKX تبادلہ کا حکم ہے: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

کے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

کے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

کے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()فنکشن کے بقایا احکامات حاصل کرنے کے لئے استعمال کیا جاتا ہے.

کے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 ٹریڈنگ جوڑی سے استفسار کریں اسپاٹ ایکسچینج اشیاء کے لئے علامت پیرامیٹر فارمیٹ ہے: BTC_USDT
مستقبل علامت پیرامیٹر منتقل نہ کریں موجودہ ٹریڈنگ جوڑی اور معاہدے کے کوڈ کے طول و عرض کی حد کے اندر تمام ٹریڈنگ پروڈکٹس کی تلاش کریں اگر موجودہ ٹریڈنگ جوڑی BTC_USDT ہے اور معاہدہ کا کوڈ سویپ ہے تو ، تمام USDT مارجن والے دائمی معاہدوں سے استفسار کیا جائے گا۔ یہ کال کرنے کے برابر ہے۔GetOrders("USDT.swap")
مستقبل تجارت کی قسم بتائیں، علامت پیرامیٹر ہے: BTC_USDT.swap ایک مخصوص بی ٹی سی کے لئے یو ایس ڈی ٹی پر مبنی مستقل معاہدے کی تلاش کریں فیوچر ایکسچینج اشیاء کے لئے پیرامیٹر علامت کی شکل یہ ہے:تجارتی جوڑااورمعاہدہ کا کوڈایف ایم زیڈ پلیٹ فارم کے ذریعہ بیان کیا گیا ہے ، جس میں حروف کے ذریعہ الگ کیا گیا ہے"..
مستقبل تجارتی مصنوعات کی حد کی وضاحت کریں، علامت پیرامیٹر ہے: USDT.swap تمام USDT پر مبنی مستقل معاہدوں کی تلاش کریں -
فیوچر ایکسچینجز جو آپشنز کی حمایت کرتے ہیں علامت پیرامیٹر منتقل نہ کریں موجودہ ٹریڈنگ جوڑی کے طول و عرض کی حد کے اندر تمام آپشن معاہدوں کی تلاش کریں اگر موجودہ ٹریڈنگ جوڑی BTC_USDT ہے، تو معاہدہ ایک آپشن معاہدے پر مقرر کیا جاتا ہے، مثال کے طور پر، بائننس آپشن معاہدہ: BTC-240108-40000-C
فیوچر ایکسچینجز جو آپشنز کی حمایت کرتے ہیں مخصوص تجارتی مصنوعات کی وضاحت کریں مخصوص آپشن معاہدے کی تلاش کریں مثال کے طور پر بائننس فیوچر ایکسچینج کے لئے، علامت پیرامیٹر ہے: BTC_USDT.BTC-240108-40000-C
فیوچر ایکسچینجز جو آپشنز کی حمایت کرتے ہیں تجارتی مصنوعات کی حد کی وضاحت کریں، علامت پیرامیٹر ہے: USDT.option تمام 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()موجودہ ٹریڈنگ جوڑی، معاہدوں کے لئے تاریخی احکامات حاصل کرنے کے لئے استعمال کیا جاتا ہے؛ یہ مخصوص ٹریڈنگ کی اقسام کی وضاحت کی حمایت کرتا ہے.

کے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.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

ایکسچینج آبجیکٹ کی موجودہ زر مبادلہ کی شرح مقرر کریں۔

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()تقریب تبادلہ اعتراض سے متعلق دیگر انٹرفیس کالز کے لئے استعمال کیا جاتا ہے.

کے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)
  • httpMethod : پیرامیٹر ایک تار کی قسم ہے، درخواست کی قسم میں بھریں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.

    1. بیک ٹیسٹنگ سسٹم اب ٹریڈنگ کے جوڑوں کو سوئچ کرنے کی حمایت کرتا ہے (صرف ڈیجیٹل کرنسی اسپاٹ ایکسچینج اشیاء کے لئے) ، بیک ٹیسٹنگ کرتے وقت ، آپ کو اس بات پر توجہ دینے کی ضرورت ہے کہ آپ صرف اسی denominated کرنسی کے ساتھ ٹریڈنگ کے جوڑوں پر سوئچ کرسکتے ہیں ، مثال کے طور پر ، موجودہ ٹریڈنگ جوڑی ہےETH_BTCصرف تبدیل کر سکتے ہیںLTC_BTC، نہیں کرناLTC_USDT.
    2. کریپٹوکرنسی فیوچر معاہدوں کے لئے ایکسچینج آبجیکٹ ٹریڈنگ جوڑوں کو سوئچ کرتا ہے اور معاہدے کا کوڈ دوبارہ طے کرنے کی ضرورت ہے کہ کون سا معاہدہ تجارت کیا جائے۔
    3. {@fun/Account/exchange.SetCurrency exchange.SetCurrency} فنکشن کا استعمال کرتے ہوئے ٹریڈنگ کے جوڑوں کو تبدیل کرنے کے لئے بالکل وہی ہے جو استعمال کرتے ہوئے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()فنکشن کا استعمال لاگ کالم کے علاقے میں آرڈر کی جگہ اور انخلا کا لاگ آؤٹ کرنے کے لئے کیا جاتا ہے۔ جب کال کیا جاتا ہے تو ، کوئی آرڈر نہیں دیئے جاتے ہیں ، صرف ٹرانزیکشن لاگ آؤٹ کیا جاتا ہے اور ریکارڈ کیا جاتا ہے۔

تبادلہ.لاگ ((آرڈرٹائپ ، قیمت ، رقم) 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()فنکشن حساب شدہ ہیش ویلیو کوڈنگ لوٹاتا ہے۔ سٹرنگ

exchange.Encode ((algo، inputFormat، outputFormat، data) exchange.Encode ((algo، inputFormat، outputFormat، data، keyFormat، key)

پیرامیٹرalgoکوڈنگ حساب کتاب کے لئے استعمال کیا جاتا الگورتھم ہے۔ معاون ترتیبات ہیں: raw (کوئی الگورتھم استعمال نہیں کیا جاتا ہے) ، sign، signTx، md4، md5، sha256، sha512، sha1، keccak256، sha3.224، sha3.256، sha3.384، sha3.512، sha3.keccak256، sha3.keccak512، sha512.384، sha512.256، sha512.224، emd160، ripke2b.256، blake2b.512، blake2b.512، blake2s.128، blake2s.256۔algoبھی حمایت کرتا ہے: text.encoder.utf8, text.decoder.utf8, text.encoder.gbk, text.decoder.gbk, کوڈنگ اور کوڈنگ سٹرنگ کے لئے. پیرامیٹرalgoبھی معاون ہے: ed25519 الگورتھم۔ یہ مختلف ہیش الگورتھم کے استعمال کی حمایت کرتا ہے ، مثال کے طور پر پیرامیٹرalgoed25519.md5، ed25519.sha512، وغیرہ کے طور پر لکھا جا سکتا ہےed25519.seedحساب کتاب. کچھ سچ سٹرنگ ڈیٹا فارمیٹ کی وضاحت کرنے کے لئے استعمال کیا جاتا ہےdataپیرامیٹر.inputFormatپیرامیٹر میں سے کسی ایک پر مقرر کیا جا سکتا ہے: raw, hex, base64, اور string. raw کا مطلب ہے کہ اعداد و شمار خام اعداد و شمار ہیں, hex کا مطلب ہے کہ اعداد و شمار ہیںhexکوڈت، base64 کا مطلب ہے کہ ڈیٹا ہےbase64انکوڈ کیا جاتا ہے، اور string کا مطلب ہے کہ ڈیٹا ایک سٹرنگ ہے۔ ان پٹ فارمیٹ سچ سٹرنگ آؤٹ پٹ ڈیٹا کی شکل کی وضاحت کرنے کے لئے استعمال کیا جاتا ہے.outputFormatپیرامیٹر مندرجہ ذیل ترتیبات کی حمایت کرتا ہے: raw, hex, base64, string. raw کا مطلب ہے کہ اعداد و شمار خام اعداد و شمار ہیں, hex کا مطلب ہے کہ اعداد و شمار ہیںhexکوڈت، base64 کا مطلب ہے کہ ڈیٹا ہےbase64انکوڈ کیا جاتا ہے، اور string کا مطلب ہے کہ ڈیٹا ایک سٹرنگ ہے۔ آؤٹ پٹ فارمیٹ سچ سٹرنگ پیرامیٹرdataیہ وہ اعداد و شمار ہیں جن پر کارروائی کی جائے گی۔ اعداد و شمار سچ سٹرنگ ڈیٹا فارمیٹ کی وضاحت کرنے کے لئے استعمال کیا جاتا ہےkeyپیرامیٹر.keyپیرامیٹر میں سے کسی ایک پر مقرر کیا جا سکتا ہے: raw, hex, base64, اور string. raw کا مطلب ہے کہ اعداد و شمار خام اعداد و شمار ہیں, hex کا مطلب ہے کہ اعداد و شمار ہیںhexکوڈت، base64 کا مطلب ہے کہ ڈیٹا ہےbase64انکوڈ کیا جاتا ہے، اور string کا مطلب ہے کہ ڈیٹا ایک سٹرنگ ہے۔ کلیدی فارمیٹ غلط سٹرنگ کے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

ملٹی تھریڈڈ غیر متزلزل سپورٹ افعال تمام معاون افعال کے آپریشنز کو غیر متزلزل بیک وقت عمل میں تبدیل کرسکتے ہیں۔

کے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 ایونٹ لوپ}

بازار اکاؤنٹ