В процессе загрузки ресурсов... загрузка...

exchange.GetOrders


```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;
}

Используя объекты обмена на местах, для оплаты нескольких различных торговых пар, в качестве цены за покупку, которая будет выполнена в течение нескольких дней, используйте половину текущей цены, а затем запросите информацию о незавершенном заказе.

/*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;
}

Использование предметов фьючерсных бирж, размещение заказов на несколько различных торговых пар, разновидности контрактных кодов; размещение заказов вдали от цены дисковых контрагентов, сохранение заказов в неполном состоянии, поиск заказов различными способами.

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);
}

Звонокexchange.GetOrders()Функция при входеSymbolПараметры указывают данные заказа для конкретной транзакционной пары, контрактного кода.

ВGetOrdersВ функциях сценарии использования параметров символа сводятся к:

Классификация объектов бирж параметры symbol Сфера запроса Примечания
Настоящие деньги Не передавать параметры символа Проверьте все пары операций. Все сценарии вызовов, если интерфейс биржи не поддерживает ошибку, возвращает пустое значение, больше не описывает
Настоящие деньги Укажите вид сделки, параметр символа: BTC_USDT Запрос указанной BTC_USDT пары Для объекта обмена на местах параметры символа формата: BTC_USDT
Фьючерсы Не передавать параметры символа Поиск всех видов текущих паров сделок, в пределах размера кода контракта Если текущая торговая пара - BTC_USDT, то код контракта - swap, то есть запрос всех постоянных контрактов на USDT; равное вызову.GetOrders("USDT.swap")
Фьючерсы Укажите вид сделки, параметр символа: BTC_USDT.swap Узнать о постоянных контрактах USDT на BTC Для объектов фьючерсных бирж, параметры символа формата определяются как:Сделка даиКонтрактный кодСочетание, в символах"."Я не хочу, чтобы это происходило.
Фьючерсы 指定交易品种范围,symbol参数为:”USDT.swap” Поиск всех постоянных контрактов USDT -
Фьючерсные биржи, поддерживающие опционы Не передавать параметры символа Поиск всех опционных контрактов, которые сейчас торгуются по диапазону измерений Если текущая торговая пара BTC_USDT, контракт настроен на опционный контракт, например, на опционный контракт Binance: BTC-240108-40000-C
Фьючерсные биржи, поддерживающие опционы Укажите конкретные виды торговли Запрос о контрактах на опционы Например, для фьючерсной биржи Биньян параметры символа: BTC_USDT.BTC-240108-40000-C
Фьючерсные биржи, поддерживающие опционы 指定交易品种范围,symbol参数为:”USDT.option” Поиск всех местных контрактов на USDT -

ВGetOrdersВ функциях диапазон измерений запросов объектов фьючерсных бирж объединяется:

параметры symbol Определение объема запроса Примечания
USDT.swap USDT имеет постоянные контракты. Для измерений, которые не поддерживаются интерфейсом API биржи, призыв возвращает пустое значение.
USDT.futures Приблизительный диапазон USDT. -
USD.swap Например, в Китае существуют многочисленные банковские и финансовые учреждения. -
USD.futures Показатели обмена валюты в целом. -
USDT.option Схема заключения контрактов на USDT. -
USD.option Срок действия контрактов на опционы на местные валюты. -
USDT.futures_combo Срок действия контракта на разницу в цене. Фьючерс_Дербит
USD.futures_ff Приблизительный диапазон смешанных гарантийных платежей. Фьючерс_Кракен
USD.swap_pf Смешанные гарантии в рамках долгосрочных контрактов. Фьючерс_Кракен

Когда объекты обменаexchangeСчета представителейСфера запросаилиУказанные виды торговлиПри отсутствии подвешенного заказа (находящегося в состоянии невыполненного заказа), вызов функции возвращает пустую матрицу, то есть:[]Я не знаю. Интерфейсы, которые запросят текущие незавершенные ордера, должны передавать параметры разновидности, используя эти биржи для вызова функции GetOrders, при которой без параметров символа запросы не выполнены только для текущих разновидностей, а не для всех разновидностей (поскольку интерфейс биржи не поддерживается). Заиф, MEXC, LBank, Korbit, Coinw, BitMart, Bithumb, BitFlyer, BigONE - все они были созданы для того, чтобы привлечь внимание клиентов.

Не поддерживаетexchange.GetOrders()Функция обмена:

Функция Неподдерживаемые биржи Фьючерсные биржи, не поддерживаемые
GetOrders Фьючерсы_Бибокс

{@struct/Order Order}, {@fun/Trade/exchange.GetOrder exchange.GetOrder}, {@fun/Trade/exchange.GetHistoryOrders exchange.GetHistoryOrders}

exchange.GetOrder exchange.GetHistoryOrders