Peraturanexchange.IO()
fungsi digunakan untuk panggilan antara muka lain yang berkaitan dengan objek pertukaran.
Peraturanexchange.IO()
fungsi memanggil antara muka lain yang berkaitan dengan objek pertukaran, mengembalikan data tindak balas yang diminta pada panggilan yang berjaya dan ia mengembalikan null pada panggilan yang gagal.
string, nombor, bool, objek, array, null, dan mana-mana jenis lain yang disokong oleh sistem
exchange.IO(k,... args)
Peraturank
Parameter digunakan untuk menetapkan jenis panggilan, dengan nilai pilihan"api"
, "currency"
, "base"
, "trade_margin"
, "trade_normal"
, "public_base"
, "mbase"
, selfTradePreventionMode
, simulate
, cross
, dual
, unified
dan seterusnya.
k
betul
senar
Parameter yang diperluaskan, lulus mengikut senario panggilan tertentu,arg
Oleh kerana mekanisme polimorfik dariexchange.IO()
fungsi, tetapan parameter yang berbeza sepadan dengan fungsi yang berbeza.exchange.IO()
Fungsi tidak pasti.
arg
betul
rentetan, nombor, bool, objek, susunan, sifar dan mana-mana jenis lain yang disokong oleh sistem
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);
}
Menggunakanexchange.IO("api", httpMethod, resource, params, raw)
Borang panggilanexchange.IO()
fungsi, adalah perlu untuk memahami antara muka API pertukaran dan memeriksa dokumentasi yang berkaitan terlebih dahulu. ini akan membolehkan anda untuk memperluaskan fungsi yang tidak ditambah kepada platform FMZ.POST
permintaan tidak memerlukan anda untuk bimbang tentang penyulitan, menandatangani, atau mengesahkan parameter, yang sudah dikendalikan oleh FMZ di bahagian bawah, selagi anda mengisi parameter yang sepadan.OKX Exchangekontrak niaga hadapan, dan menggunakan parameterraw
untuk lulus parameter perintah:
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);
}
Jika nilai kunci dalamparams
parameter (iaitu, parameter permintaan HTTP) adalah rentetan, ia perlu ditulis dalam tanda petik tunggal (iaitu, simbol ') di sekitar nilai parameter untuk membungkus nilai parameter.
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);
}
Ia menyokong lulus dalam parameter url lengkap yang boleh mengabaikan operasi menukar alamat pangkalan (menyebutexchange.SetBase()
fungsi).
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);
}
Contoh panggilan tanpa parameterraw
:
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());
}
Bertukar pasangan dagangan bursa semasa, supaya ia akan menukar pasangan dagangan yang dikonfigurasi oleh kodpada penciptaan perdagangan langsungataupada backtest.
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");
}
Untuk pertukaran dengan alamat asas yang berbeza untuk antara muka ticker dan antara muka perdagangan, misalnya, Bitfinex Futures mempunyai dua alamat, satu untuk antara muka ticker dan yang lain untuk antara muka perdagangan.exchange.SetBase("xxx")
. Bitfinex niaga hadapan menukar alamat asas antara muka awam menggunakanexchange.IO("mbase", "xxx")
.
I. Untuk pertukaran berpusat pada mata wang kripto panggilan antara muka API lain yang tidak disatukan secara seragam, dengan parameterk
ditetapkan kepada"api"
:
exchange.IO("api", httpMethod, resource, params, raw)
POST
, GET
, dan lain-lainURL
.Peraturanexchange.IO("api", httpMethod, resource, params, raw)
panggilan fungsi akan mengakses antara muka pertukaran dan mengembalikan null jika panggilan gagal dan ralat berlaku.
Hanya perdagangan sebenar menyokong memanggilexchange.IO("api", httpMethod, resource, params, raw)
function.
Untuk menukar pasangan dagangan, parameterk
ditetapkan kepada"currency"
:
exchange.IO("currency", currency)
mata wang: Parameter adalah jenis rentetan dengan format huruf besar seragam, menggunakan garis bawah untuk memisahkanbaseCurrency
daripadaquoteCurrency
, sepertiBTC_USDT
.
ETH_BTC
hanya boleh beralih keLTC_BTC
, bukan untukLTC_USDT
.exchange.IO("currency", currency)
untuk menukar pasangan dagangan.III. Digunakan untuk menukar mod akaun leveraged objek pertukaran mata wang kripto spot:
k
ditetapkan kepada"trade_margin"
untuk beralih ke mod akaun leverage spot. meletakkan pesanan dan mendapatkan aset akaun akan mengakses antara muka leveraged spot bursa.
Jika bursa membezakan antara margin penuh dan margin terpencil dalam leverage spot, gunakan:exchange.IO("trade_super_margin")
untuk beralih kepada margin penuh untuk akaun leveraged, danexchange.IO("trade_margin")
untuk beralih kepada margin terpencil untuk akaun leveraged.k
ditetapkan kepada"trade_normal"
untuk beralih semula ke mod akaun spot biasa.Bursa spot yang menyokong beralih antara model akaun leveraged:
Pertukaran | Nota khas |
---|---|
OKX | Pasangan perdagangan dalam mod akaun leveraged berbeza dari yang biasa, beberapa pasangan perdagangan mungkin tidak memilikinya.exchange.IO("trade_super_margin") untuk beralih kepada kedudukan penuh untuk akaun leveraged dan penggunaanexchange.IO("trade_margin") untuk beralih ke kedudukan oleh kedudukan.trade_normal untuk beralih ke mod spot biasa.exchange.IO("tdMode", "cross") untuk menentukan secara langsung mod leverage. |
Huobi | Pasangan dagangan mod akaun leveraged berbeza dari yang biasa, beberapa pasangan dagangan mungkin tidak memilikinya.trade_margin untuk beralih ke kedudukan akaun leverage mengikut kedudukan, menggunakantrade_super_margin untuk beralih ke kedudukan penuh akaun leverage.trade_normal untuk beralih ke mod mata wang-mata wang biasa. |
Binance | Mod akaun leveraged dibahagikan kepada kedudukan mengikut kedudukan dan kedudukan penuh, penggunaantrade_margin untuk beralih ke kedudukan oleh kedudukan, menggunakantrade_super_margin untuk beralih ke kedudukan penuh, gunakantrade_normal untuk beralih ke mod mata wang-mata wang biasa. |
GateIO | Mod akaun leveraged dibahagikan kepada kedudukan mengikut kedudukan dan kedudukan penuh, penggunaantrade_margin untuk beralih ke kedudukan oleh kedudukan, menggunakantrade_super_margin untuk beralih ke kedudukan penuh, gunakantrade_normal untuk beralih ke mod mata wang-mata wang biasa. |
AscendEx | Penggunaanexchange.IO("trade_margin") untuk beralih ke mod akaun leverage danexchange.IO("trade_normal") untuk beralih semula ke mod akaun biasa. |
WOO | Penggunaanexchange.IO("trade_margin") untuk beralih ke mod akaun leverage danexchange.IO("trade_normal") untuk beralih semula ke mod akaun biasa. |
CoinEx | Penggunaanexchange.IO("trade_margin") untuk beralih ke mod akaun leveraged danexchange.IO("trade_normal") untuk beralih semula ke mod akaun biasa. |
IV. Fungsi suis lain:Lihatlahexchange.IO()
fungsi untukFungsi suis laindalam Panduan Pengguna.
{@fun/NetSettings/exchange.SetBase exchange.SetBase}, {@fun/Account/exchange.SetCurrency exchange.SetCurrency}, {@var EXCHANGE_OP_IO_CONTROL}
exchange.SetRate exchange.Log