Cácexchange.GetOrders()
chức năng được sử dụng để có được các đơn đặt hàng.
Cácexchange.GetOrders()
hàm trả về một mảng cấu trúc {@struct/Order Order} nếu yêu cầu dữ liệu thành công, và nó trả về giá trị không nếu yêu cầu dữ liệu thất bại.
{@struct/Order Order} mảng, giá trị không
trao đổi.GetOrders ((() trao đổi.GetOrders (bản biểu tượng)
Các thông sốsymbol
được sử dụng để thiết lậpbiểu tượng giao dịchhoặcphạm vi ký hiệu giao dịchđể được thẩm vấn.
Đối với các đối tượng trao đổi tại chỗ, nếusymbol
Nếu tham số không được thông qua, dữ liệu đặt hàng chưa hoàn thành của tất cả các sản phẩm tại chỗ sẽ được yêu cầu.
Đối với các đối tượng giao dịch tương lai, nếusymbol
Nếu tham số không được truyền, mặc định là yêu cầu dữ liệu lệnh chưa hoàn thành của tất cả các loại trong phạm vi kích thước của cặp giao dịch hiện tại và mã hợp đồng.
biểu tượng sai chuỗi
/*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;
}
Sử dụng đối tượng giao dịch tại chỗ để đặt lệnh mua cho nhiều cặp giao dịch khác nhau ở một nửa giá hiện tại, và sau đó truy vấn thông tin lệnh đang tồn tại.
/*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;
}
Sử dụng các đối tượng trao đổi tương lai để đặt lệnh cho nhiều cặp giao dịch và mã hợp đồng khác nhau. Đặt lệnh ở mức giá xa với giá đối tác, giữ lệnh trong trạng thái chưa hoàn thành và truy vấn lệnh theo nhiều cách.
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);
}
Khi gọi choexchange.GetOrders()
chức năng, đi vàoSymbol
tham số để yêu cầu dữ liệu lệnh cho một cặp giao dịch cụ thể và mã hợp đồng.
TrongGetOrders
chức năng, các kịch bản sử dụng của tham số biểu tượng được tóm tắt như sau:
Phân loại đối tượng Exchange | biểu tượng Parameter | Phạm vi truy vấn | Nhận xét |
---|---|---|---|
Địa điểm | Không vượt qua tham số biểu tượng | Tìm kiếm tất cả các cặp giao dịch tại chỗ | Đối với tất cả các kịch bản gọi, nếu giao diện trao đổi không hỗ trợ nó, một lỗi sẽ được báo cáo và một giá trị null sẽ được trả về. |
Địa điểm | Xác định loại giao dịch, tham số biểu tượng là: |
Tìm kiếm cặp giao dịch BTC_USDT đã chỉ định | Đối với các đối tượng trao đổi tại chỗ, định dạng tham số biểu tượng là: |
Tiền tương lai | Không vượt qua tham số biểu tượng | Tìm kiếm tất cả các sản phẩm giao dịch trong phạm vi kích thước cặp giao dịch và mã hợp đồng hiện tại | Nếu cặp giao dịch hiện tại là BTC_USDT và mã hợp đồng là swap, tất cả các hợp đồng vĩnh viễn được ký quỹ bằng USDT sẽ được truy vấn.GetOrders("USDT.swap") |
Tiền tương lai | Xác định loại giao dịch, tham số biểu tượng là: |
Tìm kiếm hợp đồng vĩnh viễn dựa trên USDT cho một BTC cụ thể | Đối với các đối tượng giao dịch tương lai, định dạng ký hiệu tham số là: sự kết hợp củacặp giao dịchvàmã hợp đồngđược xác định bởi nền tảng FMZ, được tách bởi các ký tự". . |
Tiền tương lai | Xác định phạm vi các sản phẩm giao dịch, tham số biểu tượng là: |
Tìm kiếm tất cả các hợp đồng vĩnh viễn dựa trên USDT | - |
Các sàn giao dịch tương lai hỗ trợ các tùy chọn | Không vượt qua tham số biểu tượng | Tìm kiếm tất cả các hợp đồng quyền chọn trong phạm vi kích thước cặp giao dịch hiện tại | Nếu cặp giao dịch hiện tại là BTC_USDT, hợp đồng được thiết lập thành hợp đồng quyền chọn, ví dụ, hợp đồng quyền chọn Binance: BTC-240108-40000-C |
Các sàn giao dịch tương lai hỗ trợ các tùy chọn | Xác định các sản phẩm giao dịch cụ thể | truy vấn hợp đồng tùy chọn được chỉ định | Ví dụ, đối với Binance Futures Exchange, tham số biểu tượng là: BTC_USDT.BTC-240108-40000-C |
Các sàn giao dịch tương lai hỗ trợ các tùy chọn | Xác định phạm vi các sản phẩm giao dịch, tham số biểu tượng là: |
Tìm kiếm tất cả các hợp đồng quyền chọn dựa trên USDT | - |
TrongGetOrders
chức năng, các giao dịch tương lai đối tượng truy vấn
phạm vi kích thước được tóm tắt như sau:
biểu tượng Parameter | Định nghĩa phạm vi yêu cầu | Nhận xét |
---|---|---|
USDT.swap | Phạm vi hợp đồng vĩnh viễn dựa trên USDT. | Đối với |
kích thước không được hỗ trợ bởi giao diện API trao đổi, một lỗi sẽ được báo cáo và một giá trị null sẽ được trả về khi gọi. USDT.futures. USDT dựa trên hợp đồng giao hàng. ∙∙ USD.swap ∙ ∙ Dải tiền tệ dựa trên vĩnh cửu hợp đồng. USD.futures. Ranh giới giao hàng dựa trên tiền tệ hợp đồng. USDT.option. USDT-based options contract range. USD.option.Dân tệ dựa trên phạm vi hợp đồng tùy chọn. USDT.futures_combo Một loạt các sự kết hợp CFD. Futures_Deribit Exchange. Một loạt các hợp đồng phân phối ký quỹ hỗn hợp. Futures_Kraken Exchange. Một loạt các hợp đồng vĩnh cửu có biên độ hỗn hợp. Ứng dụng trao đổi tương lai
Khi tài khoản được đại diện bởi đối tượng trao đổiexchange
không có lệnh đang chờ trongphạm vi truy vấnhoặcCác công cụ giao dịch cụ thể(lệnh hoạt động trong trạng thái chưa được thực hiện), gọi hàm này trả về một mảng trống, tức là:[]
.
Các sàn giao dịch sau đây yêu cầu công cụ truyền vào tham số công cụ khi truy vấn các lệnh chưa hoàn thành hiện tại. Khi gọi hàm GetOrders với các sàn giao dịch này, nếu tham số công cụ không được truyền vào, chỉ yêu cầu các lệnh chưa hoàn thành của công cụ hiện tại, chứ không phải là các lệnh chưa hoàn thành của tất cả các công cụ (vì giao diện giao dịch không hỗ trợ điều này).
Zaif, MEXC, LBank, Korbit, Coinw, BitMart, Bithumb, BitFlyer, BigONE.
Các sàn giao dịch không hỗ trợexchange.GetOrders()
chức năng:
Tên chức năng | Không hỗ trợ trao đổi tại chỗ | Giao dịch tương lai không được hỗ trợ |
---|---|---|
GetOrders | – | Futures_Bibox |
{@struct/Order Order}, {@fun/Trade/exchange.GetOrder exchange.GetOrder}, {@fun/Trade/exchange.GetHistoryOrders exchange.GetHistoryOrders}
exchange.GetOrder exchange.GetHistoryOrders