দ্য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
অনুরোধ আপনাকে এনক্রিপশন, স্বাক্ষর, বা পরামিতি যাচাই করার বিষয়ে চিন্তা করতে হবে না, যা ইতিমধ্যে নীচে FMZ দ্বারা পরিচালিত হয়, যতক্ষণ আপনি সংশ্লিষ্ট পরামিতি পূরণ করুন। আপনি ব্যাচ অর্ডার উদাহরণটি উল্লেখ করতে পারেন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");
}
টিকার ইন্টারফেস এবং ট্রেডিং ইন্টারফেস জন্য বিভিন্ন বেস ঠিকানা সঙ্গে এক্সচেঞ্জ জন্য, উদাহরণস্বরূপ, Bitfinex ফিউচার দুটি ঠিকানা আছে, টিকার ইন্টারফেস জন্য এক এবং ট্রেডিং ইন্টারফেস জন্য অন্য. Bitfinex ফিউচার ব্যবহার করে ব্যক্তিগত ইন্টারফেস বেস ঠিকানা পরিবর্তন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"
স্বাভাবিক স্পট অ্যাকাউন্ট মোডে ফিরে যেতে।স্পট এক্সচেঞ্জ যা লিভারেজযুক্ত অ্যাকাউন্ট মডেলগুলির মধ্যে স্যুইচিং সমর্থন করেঃ
বিনিময় | বিশেষ মন্তব্য |
---|---|
ঠিক আছে | লিভারেজযুক্ত অ্যাকাউন্ট মোডে ট্রেডিং জোড়া স্বাভাবিকগুলির থেকে আলাদা, কিছু ট্রেডিং জোড়া তাদের নাও থাকতে পারে।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") স্বাভাবিক অ্যাকাউন্ট মোডে ফিরে যেতে। |
কয়েন এক্স | ব্যবহারexchange.IO("trade_margin") লিভারেজযুক্ত অ্যাকাউন্ট মোডে স্যুইচ করতে এবংexchange.IO("trade_normal") স্বাভাবিক অ্যাকাউন্ট মোডে ফিরে যেতে। |
IV. অন্যান্য সুইচিং ফাংশনঃদেখুনexchange.IO()
জন্য ফাংশনঅন্যান্য সুইচিং ফাংশনব্যবহারকারীর নির্দেশিকায়।
{@fun/NetSettings/exchange.SetBase exchange.SetBase}, {@fun/Account/exchange.SetCurrency exchange.SetCurrency}, {@var EXCHANGE_OP_IO_CONTROL}
exchange.SetRate exchange.Log