```exchange.GetOrders()```函数请求数据成功时返回{@struct/Order Order}结构数组,请求数据失败时返回空值。
{@struct/Order Order}数组、空值
exchange.GetOrders()
exchange.GetOrders(symbol)
参数```symbol```用于设置所要查询的**交易品种**或者**交易品种的范围**。
对于现货交易所对象,不传```symbol```参数时,请求所有现货品种的未完成订单数据。
对于期货交易所对象,不传```symbol```参数时,默认以当前交易对、合约代码所在维度范围请求所有品种的未完成订单数据。
symbol
false
string
```javascript
/*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) + "`")
// 打印输出一次信息后返回,防止后续回测时订单成交,影响数据观察
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;
}
Usando objetos de trocas instantâneas, pague por vários pares de transações diferentes, com metade do preço atual como preço do pedido abaixo, e consulte informações sobre pedidos não concluídos.
/*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) + "`")
// 打印输出一次信息后返回,防止后续回测时订单成交,影响数据观察
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)); // Order订单结构中的Id属性类型为TId,使用FMZ平台内置的一个C++函数to_string编码
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;
}
Usar objetos de câmbio de futuros, fazer pedidos para vários pares de transações diferentes, variedades de códigos de contrato; fazer pedidos para preços distantes dos preços dos concorrentes no mercado, manter pedidos em estado pendente e consultar pedidos de várias maneiras.
function main() {
var orders = exchange.GetOrders("BTC_USDT") // 现货品种举例
// var orders = exchange.GetOrders("BTC_USDT.swap") // 期货品种举例
Log("orders:", orders)
}
def main():
orders = exchange.GetOrders("BTC_USDT") # 现货品种举例
# orders = exchange.GetOrders("BTC_USDT.swap") # 期货品种举例
Log("orders:", orders)
void main() {
auto orders = exchange.GetOrders("BTC_USDT"); // 现货品种举例
// auto orders = exchange.GetOrders("BTC_USDT.swap"); // 期货品种举例
Log("orders:", orders);
}
Chamadaexchange.GetOrders()
Função de entradaSymbol
Os parâmetros especificam os dados de ordem dos pares de transações específicos solicitados, o código do contrato.
EmGetOrders
Em funções, os cenários de uso dos parâmetros do símbolo são:
Classificação de objetos | Parâmetros de símbolos | Período de consulta | Notas |
---|---|---|---|
Imóveis à vista | Parâmetros de símbolos não transmitidos | Pesquise todas as transações em tempo real | Todos os cenários de chamadas, se a interface do exchange não for suportada, retornará um valor em branco e não mais descreverá |
Imóveis à vista | Especifique o tipo de transação, o parâmetro do símbolo é: |
Consultar o par de transações BTC_USDT indicado | Para objetos de câmbio em tempo real, o formato do símbolo do parâmetro é: |
Futuros | Parâmetros de símbolos não transmitidos | Consultar todas as variedades de transações do par de transações atual, do alcance de código do contrato | Se o par de negociação atual for BTC_USDT, o código do contrato é swap, querendo todos os contratos permanentes em USDT.GetOrders("USDT.swap") |
Futuros | Especifique a variedade de transações, o parâmetro do símbolo é: |
Consultar o contrato de permanência USDT indicado para BTC | Para os objetos de câmbio de futuros, o formato do símbolo do parâmetro é definido como:NegociaçãoeCódigo do contratoCombinações, caracteres"." O que você está fazendo? |
Futuros | 指定交易品种范围,symbol参数为:”USDT.swap” | Consulte todos os contratos permanentes da USDT | - |
As bolsas de futuros que apoiam opções | Parâmetros de símbolos não transmitidos | Consultar todos os contratos de opções de negociação atual para a faixa de dimensões | Se o atual par de negociação for BTC_USDT, o contrato é definido como um contrato de opções, por exemplo, um contrato de opções binárias: BTC-240108-40000-C |
As bolsas de futuros que apoiam opções | Especificar a variedade de transação específica | Consultar contrato de opções designado | Por exemplo, para a troca de futuros de Bitcoin, o parâmetro do símbolo é: BTC_USDT.BTC-240108-40000-C |
As bolsas de futuros que apoiam opções | 指定交易品种范围,symbol参数为:”USDT.option” | Consulte todos os contratos de opções USDT locais | - |
EmGetOrders
Na função, a gama de dimensões de consulta dos objetos da bolsa de futuros é resumida:
Parâmetros de símbolos | Definição do escopo do pedido | Notas |
---|---|---|
USDT.swap | O alcance do contrato de permanência do USDT. | Para as dimensões que não são suportadas pela interface API da bolsa, a chamada retornará um valor em branco. |
USDT.futures | A taxa de troca local do USDT é aproximada. | - |
USD.swap | A área de atuação do Bitcoin é o âmbito do contrato permanente. | - |
USD.futures | A taxa de troca de moeda local é aproximadamente de rango. | - |
USDT.option | O escopo dos contratos de opções de localização USDT. | - |
USD.option | O escopo dos contratos de opções binárias. | - |
USDT.futures_combo | A diferença de preço é o alcance do contrato. | Futures_Deribit |
USD.futures_ff | A taxa de transferência de fundos mixtos é aproximada. | Futures_Kraken |
USD.swap_pf | O âmbito do contrato de garantia mixta é permanente. | Futures_Kraken |
Quando o objeto da trocaexchange
A conta do representante está noPeríodo de consultaOuVariedades negociadas designadasQuando não há um pedido pendente (um pedido de atividades em estado pendente), a função é chamada para retornar um conjunto de arquivos vazios, ou seja:[]
Não, não é.
As seguintes interfaces de intercâmbio para consultas de ordens atualmente pendentes devem passar por parâmetros de variedade, que são usados para chamar a função GetOrders, que solicita apenas ordens pendentes da variedade atual sem passar o parâmetro de símbolo, e não de todas as variedades (porque a interface da bolsa não é suportada).
A empresa também oferece serviços para empresas como Zaif, MEXC, LBank, Korbit, Coinw, BitMart, Bithumb, BitFlyer, BigONE.
Não apoiaexchange.GetOrders()
A função de troca:
Função nome | As trocas em dinheiro não são suportadas | Bolsas de futuros não suportadas |
---|---|---|
GetOrders | – | Futures_Bibox |
{@struct/Order Order}, {@fun/Trade/exchange.GetOrder exchange.GetOrder}, {@fun/Trade/exchange.GetHistoryOrders exchange.GetHistoryOrders}
exchange.GetOrder exchange.GetHistoryOrders