Peraturanexchange.GetOrders()
Fungsi digunakan untuk mendapatkan pesanan yang belum selesai.
Peraturanexchange.GetOrders()
fungsi mengembalikan pelbagai struktur {@struct/Order Order} jika permintaan data berjaya, dan ia mengembalikan nilai sifar jika permintaan data gagal.
{@struct/Order Order} array, nilai sifar
pertukaran.GetOrders() pertukaran.GetOrders (simbol)
Parametersymbol
digunakan untuk menetapkansimbol transaksiatauJulat simbol transaksiuntuk ditanyakan.
Untuk objek pertukaran spot, jikasymbol
parameter tidak diteruskan, data pesanan yang tidak lengkap untuk semua produk spot akan diminta.
Bagi objek pertukaran niaga hadapan, jikasymbol
Jika parameter tidak diteruskan, lalai adalah untuk meminta data pesanan yang belum selesai dari semua jenis dalam julat dimensi pasangan dagangan semasa dan kod kontrak.
simbol palsu senar
/*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;
}
Gunakan objek pertukaran spot untuk meletakkan pesanan beli untuk beberapa pasangan dagangan yang berbeza pada separuh harga semasa, dan kemudian menyoal maklumat pesanan yang belum selesai.
/*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;
}
Menggunakan objek pertukaran niaga hadapan untuk meletakkan pesanan untuk beberapa pasangan dagangan yang berbeza dan kod kontrak. Letakkan pesanan pada harga yang jauh dari harga rakan kongsi, simpan pesanan dalam keadaan yang tidak dipenuhi, dan permintaan pesanan dengan pelbagai cara.
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);
}
Apabila memanggilexchange.GetOrders()
fungsi, lulus dalamSymbol
parameter untuk meminta data pesanan untuk pasangan dagangan tertentu dan kod kontrak.
DalamGetOrders
fungsi, senario penggunaan parameter simbol diringkaskan seperti berikut:
Klasifikasi Objek Pertukaran | simbol Parameter | Lingkup pertanyaan | Perhatikan |
---|---|---|---|
Spot | Jangan lulus parameter simbol | Bertanya semua pasangan dagangan spot | Untuk semua senario panggilan, jika antara muka pertukaran tidak menyokongnya, satu ralat akan dilaporkan dan nilai sifar akan dikembalikan. |
Spot | Tentukan jenis dagangan, parameter simbol adalah: |
Mencari pasangan dagangan BTC_USDT yang ditentukan | Untuk objek pertukaran spot, format parameter simbol adalah: |
Masa hadapan | Jangan lulus parameter simbol | Mencari semua produk dagangan dalam julat dimensi pasangan dagangan semasa dan kod kontrak | Jika pasangan dagangan semasa adalah BTC_USDT dan kod kontrak adalah swap, semua kontrak kekal dengan margin USDT akan ditanyakan.GetOrders("USDT.swap") |
Masa hadapan | Tentukan jenis dagangan, parameter simbol adalah: |
Mencari kontrak kekal berasaskan USDT untuk BTC tertentu | Untuk objek pertukaran niaga hadapan, format simbol parameter adalah: gabunganPasangan dagangandanKod kontrakditakrifkan oleh platform FMZ, dipisahkan dengan aksara". . |
Masa hadapan | Tentukan julat produk dagangan, parameter simbol adalah: |
Mencari semua kontrak kekal berasaskan USDT | - |
Bursa niaga hadapan yang menyokong opsyen | Jangan lulus parameter simbol | Mencari semua kontrak opsyen dalam julat dimensi pasangan dagangan semasa | Jika pasangan dagangan semasa adalah BTC_USDT, kontrak ditetapkan kepada kontrak opsyen, contohnya, kontrak opsyen Binance: BTC-240108-40000-C |
Bursa niaga hadapan yang menyokong opsyen | Menentukan produk perdagangan tertentu | Mencari kontrak opsyen yang ditentukan | Sebagai contoh, untuk Bursa niaga hadapan Binance, parameter simbol adalah: BTC_USDT.BTC-240108-40000-C |
Bursa niaga hadapan yang menyokong opsyen | Tentukan julat produk dagangan, parameter simbol adalah: |
Mencari semua kontrak opsyen berasaskan USDT | - |
DalamGetOrders
fungsi, permintaan objek pertukaran niaga hadapan
Julat dimensi diringkaskan seperti berikut:
simbol Parameter | Penentuan Julat Permintaan | Perhatikan |
---|---|---|
USDT.swap | Julat kontrak kekal berasaskan USDT. | Untuk |
dimensi yang tidak disokong oleh antara muka API pertukaran, Kesilapan akan dilaporkan dan nilai null akan dikembalikan apabila memanggil. USDT.futures. USDT berasaskan kontrak penghantaran. USD.swap. Rentang mata wang berasaskan kekal kontrak. USD.futures. Rentang penghantaran berasaskan mata wang kontrak. USDT.option.Rentang kontrak pilihan berasaskan USDT. USD.option. Rentang kontrak pilihan berasaskan mata wang. USDT.futures_combo. Pelbagai kombinasi CFD. Futures_Deribit Exchange USD.futures_ff. Pelbagai kontrak penghantaran margin bercampur. Futures_Kraken Exchange. $USD.swap_pf. $USD.swap_pf. ∙ ∙ Futures_Kraken Exchange ∙
Apabila akaun yang diwakili oleh objek pertukaranexchange
tidak mempunyai pesanan yang menunggu dalamJulat pertanyaanatauInstrumen dagangan tertentu(perintah aktif dalam keadaan yang tidak dipenuhi), memanggil fungsi ini mengembalikan array kosong, iaitu:[]
.
Pertukaran berikut memerlukan instrumen untuk lulus dalam parameter instrumen ketika menyoal pesanan yang tidak selesai pada masa ini. Apabila memanggil fungsi GetOrders dengan pertukaran ini, jika parameter instrumen tidak diteruskan, hanya pesanan yang tidak selesai dari instrumen semasa yang diminta, bukan pesanan yang tidak selesai dari semua instrumen (kerana antara muka pertukaran tidak menyokong ini).
Zaif, MEXC, LBank, Korbit, Coinw, BitMart, Bithumb, BitFlyer, BigONE.
Bursa yang tidak menyokongexchange.GetOrders()
fungsi:
Nama Fungsi | Pertukaran Spot yang tidak disokong | Pertukaran niaga hadapan tanpa sokongan |
---|---|---|
GetOrders | – | Futures_Bibox |
{@struct/Order Order}, {@fun/Trade/exchange.GetOrder exchange.GetOrder}, {@fun/Trade/exchange.GetHistoryOrders exchange.GetHistoryOrders}
exchange.GetOrder exchange.GetHistoryOrders