Peraturanexchange.GetOrders()
Fungsi digunakan untuk mendapatkan pesanan yang belum selesai.
Peraturanexchange.GetOrders()
fungsi mengembalikan array struktur {@struct/Order Order} jika permintaan data berhasil, dan mengembalikan nilai nol jika permintaan data gagal.
{@struct/Order Order} array, nilai nol
pertukaran.GetOrders ((() exchange.GetOrders (simbol)
Parametersymbol
digunakan untuk mengaturSimbol transaksiataurentang simbol transaksiuntuk diinterogasi.
Untuk obyek pertukaran spot, jikasymbol
parameter tidak dilewati, data pesanan yang belum selesai dari semua produk spot akan diminta.
Untuk obyek pertukaran futures, jikasymbol
parameter tidak diteruskan, default adalah untuk meminta data order yang belum selesai dari semua varietas dalam kisaran dimensi pasangan perdagangan saat ini dan kode kontrak.
lambang palsu string
/*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 menempatkan pesanan beli untuk beberapa pasangan perdagangan yang berbeda pada setengah harga saat ini, dan kemudian menanyakan informasi 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 berjangka untuk menempatkan pesanan untuk beberapa pasangan perdagangan yang berbeda dan kode kontrak. Tempatkan pesanan dengan harga yang jauh dari harga mitra, simpan pesanan dalam keadaan yang belum terpenuhi, dan kueri pesanan dengan berbagai 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);
}
Saat meneleponexchange.GetOrders()
fungsi, lulus diSymbol
parameter untuk meminta data order untuk pasangan perdagangan tertentu dan kode kontrak.
DalamGetOrders
fungsi, skenario penggunaan parameter simbol diringkas sebagai berikut:
Klasifikasi Objek Exchange | simbol Parameter | Ruang lingkup kueri | Pernyataan |
---|---|---|---|
Tempat | Jangan lulus parameter simbol | Pertanyaan semua pasangan perdagangan spot | Untuk semua skenario panggilan, jika antarmuka pertukaran tidak mendukungnya, kesalahan akan dilaporkan dan nilai nol akan dikembalikan. |
Tempat | Tentukan jenis perdagangan, parameter simbol adalah: |
Menanyakan pasangan perdagangan BTC_USDT yang ditentukan | Untuk objek pertukaran spot, format parameter simbol adalah: |
Masa Depan | Jangan lulus parameter simbol | Mencari semua produk perdagangan dalam kisaran dimensi pasangan perdagangan saat ini dan kode kontrak | Jika pasangan perdagangan saat ini adalah BTC_USDT dan kode kontraknya adalah swap, semua kontrak abadi dengan margin USDT akan ditanyakan.GetOrders("USDT.swap") |
Masa Depan | Tentukan jenis perdagangan, parameter simbol adalah: |
Mencari kontrak abadi berbasis USDT untuk BTC tertentu | Untuk obyek pertukaran berjangka, format simbol parameter adalah: kombinasi daripasangan perdagangandankode kontrakdidefinisikan oleh platform FMZ, dipisahkan oleh karakter". . |
Masa Depan | Tentukan rentang produk perdagangan, parameter simbol adalah: |
Mencari semua kontrak abadi berbasis USDT | - |
Bursa berjangka yang mendukung opsi | Jangan lulus parameter simbol | Mencari semua kontrak opsi dalam kisaran dimensi pasangan perdagangan saat ini | Jika pasangan perdagangan saat ini adalah BTC_USDT, kontrak ditetapkan sebagai kontrak opsi, misalnya, kontrak opsi Binance: BTC-240108-40000-C |
Bursa berjangka yang mendukung opsi | Tentukan produk perdagangan tertentu | Mencari kontrak opsi yang ditentukan | Misalnya, untuk Binance Futures Exchange, parameter simbol adalah: BTC_USDT.BTC-240108-40000-C |
Bursa berjangka yang mendukung opsi | Tentukan rentang produk perdagangan, parameter simbol adalah: |
Mencari semua kontrak opsi berbasis USDT | - |
DalamGetOrders
fungsi, permintaan objek bursa berjangka
kisaran dimensi diringkas sebagai berikut:
simbol Parameter | Definisi Jangkauan Permintaan | Pernyataan |
---|---|---|
USDT.swap | Rentang kontrak abadi berbasis USDT. | Untuk |
dimensi yang tidak didukung oleh antarmuka API pertukaran, kesalahan akan dilaporkan dan nilai nol akan dikembalikan ketika Menelpon. USDT.futures. USDT berbasis rentang kontrak pengiriman. {\cH00FFFF}$USD.swap {\cH00FFFF}Rentang mata uang berbasis abadi kontrak. {\cH00FFFF}USD.futures {\cH00FFFF}Rentang pengiriman berdasarkan mata uang kontrak. {\cH00FFFF}$USDT.option {\cH00FFFF}$USDT-based options contract range {\cH00FFFF}$USDT.option {\cH00FFFF}$USDT.option {\cH00FFFF}$USDT.option {\cH00FFFF}$USDT.option {\cH00FFFF}$USDT.option {\cH00FFFF}$USDT-based options contract range {\cH00FFFF}$USDT.option {\cH00FFFF}$USDT.option {\cH00FFFFFF}$USDT.option {\cH00FFFF}$USDT.option {\cH00FFFFFF}$USDT-based options contract range {\cH00FFFFFF}$USDT.option range. USD.option Rentang kontrak opsi berbasis mata uang. USDT.futures_combo Rentang kombinasi CFD. Futures_Deribit Exchange USD.futures_ff Rangkaian kontrak pengiriman margin campuran. Futures_Kraken Exchange {\cH00FFFF}$USD.swap_pf {\cH00FFFF}Rangkaian kontrak abadi margin campuran. ♫ Futures_Kraken Exchange ♫
Ketika akun yang diwakili oleh objek pertukaranexchange
tidak memiliki perintah yang menunggu dalamrentang kueriatauInstrumen perdagangan tertentu(perintah aktif dalam keadaan tidak terpenuhi), memanggil fungsi ini mengembalikan array kosong, yaitu:[]
Aku tidak tahu.
Pertukaran berikut mengharuskan instrumen untuk lulus dalam parameter instrumen saat menanyakan pesanan yang saat ini belum selesai. Ketika memanggil fungsi GetOrders dengan pertukaran ini, jika parameter instrumen tidak diteruskan, hanya pesanan yang belum selesai dari instrumen saat ini yang diminta, bukan pesanan yang belum selesai dari semua instrumen (karena antarmuka pertukaran tidak mendukung ini).
Zaif, MEXC, LBank, Korbit, Coinw, BitMart, Bithumb, BitFlyer, BigONE.
Bursa yang tidak mendukungexchange.GetOrders()
Fungsi:
Nama Fungsi | Pertukaran Spot yang tidak didukung | Pertukaran Futures Tanpa Dukungan |
---|---|---|
GetOrders | – | Futures_Bibox |
{@struct/Order Order}, {@fun/Trade/exchange.GetOrder exchange.GetOrder}, {@fun/Trade/exchange.GetHistoryOrders exchange.GetHistoryOrders}
exchange.GetOrder exchange.GetHistoryOrders