En la carga de los recursos... Cargando...

exchange.GetOrders

Elexchange.GetOrders()La función se utiliza para obtener pedidos pendientes.

Elexchange.GetOrders()La función devuelve una matriz de estructuras {@struct/Order Order} si la solicitud de datos tiene éxito, y devuelve valores nulos si la solicitud de datos falla. {@struct/Order Order} matriz, valor nulo

El cambio.GetOrders ((( intercambio.GetOrders (símbolo)

El parámetrosymbolse utiliza para establecer elsímbolo de la transaccióno bienrango de símbolos de transacciónpara ser interrogado. Para los objetos de intercambio al contado, si elsymbolSi no se pasa el parámetro, se solicitarán los datos de pedido incompletos de todos los productos al contado. Para los objetos de cambio de futuros, si elsymbolSi el parámetro no se pasa, el valor predeterminado es solicitar los datos de orden incompletos de todas las variedades en el rango de dimensiones del par de negociación actual y el código del contrato.

el símbolo falsos la cuerda

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

Utilice el objeto de intercambio al contado para realizar órdenes de compra para varios pares de operaciones diferentes a la mitad del precio actual y, a continuación, consultar la información de la orden pendiente.

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

Utilizar objetos de intercambio de futuros para colocar órdenes para múltiples pares de operaciones diferentes y códigos de contrato.

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

Cuando se llama a laexchange.GetOrders()Función, pasar en elSymbolParámetro para solicitar datos de orden para un par de operaciones específico y código de contrato.

En elGetOrdersFunción, los escenarios de uso del parámetro símbolo se resumen de la siguiente manera:

Clasificación de objetos de intercambio símbolo Parámetros Alcance de la consulta No obstante,
Punto No pase el parámetro de símbolo Consulta todos los pares de operaciones al contado Para todos los escenarios de llamada, si la interfaz de intercambio no lo admite, se informará un error y se devolverá un valor nulo.
Punto Especificar el tipo de negociación, el parámetro del símbolo es: BTC_USDT Consultar el par de operaciones BTC_USDT especificado Para los objetos de intercambio al contado, el formato del parámetro del símbolo es: BTC_USDT
Los futuros No pase el parámetro de símbolo Consultar todos los productos de negociación dentro del rango de dimensiones del par de negociación actual y del código del contrato Si el par de negociación actual es BTC_USDT y el código del contrato es swap, todos los contratos perpetuos con margen en USDT serán consultados.GetOrders("USDT.swap")
Los futuros Especifique el tipo de negociación, el parámetro del símbolo es: BTC_USDT.swap Consultar el contrato perpetuo basado en USDT para un BTC especificado Para los objetos de intercambio de futuros, el formato del símbolo del parámetro es:Pares de negociaciónycódigo del contratodefinidas por la plataforma FMZ, separadas por los caracteres"..
Los futuros Especifique el rango de productos de negociación, el parámetro del símbolo es: USDT.swap Consultar todos los contratos perpetuos basados en USDT -
Bolsas de futuros que admiten opciones No pase el parámetro de símbolo Consultar todos los contratos de opción dentro del rango de dimensiones del par de operaciones actual Si el par de operaciones actual es BTC_USDT, el contrato se establece en un contrato de opción, por ejemplo, contrato de opción de Binance: BTC-240108-40000-C
Bolsas de futuros que admiten opciones Especificar los productos comerciales específicos Consultar el contrato de opción especificado Por ejemplo, para Binance Futures Exchange, el parámetro del símbolo es: BTC_USDT.BTC-240108-40000-C
Bolsas de futuros que admiten opciones Especifique la gama de productos de negociación, el parámetro del símbolo es: USDT.option Consultar todos los contratos de opciones basados en USDT -

En elGetOrdersfunción, la consulta del objeto de intercambio de futuros el rango de dimensiones se resume de la siguiente manera:

símbolo Parámetros Definición del rango de solicitud No obstante,
USDT.swap Los tipos de interés de las entidades de crédito incluidas en el anexo I se determinarán de acuerdo con el método de cálculo de la rentabilidad. Para

dimensiones que no sean compatibles con la interfaz de intercambio API, se informará de un error y se devolverá un valor nulo cuando llamando. Un contrato de entrega basado en USDT. USD.swap. Rango de cambio perpetuo basado en moneda Los contratos. USD.futures Rango de entrega basado en moneda Los contratos. Un contrato de opciones basado en USDT. Un contrato de opciones basado en divisas. Conjunto USDT.futures_combo. Rango de combinaciones de CFD. Futures_Deribit Intercambio Un rango de contratos de entrega de margen mixto. Futures_Kraken Intercambio Un conjunto de contratos perpetuos de margen mixto. El futuro es el intercambio Kraken

Cuando la cuenta representada por el objeto de intercambioexchangeno tiene órdenes pendientes dentro de larango de búsquedao bieninstrumentos de negociación específicos(órdenes activas en un estado no cumplido), llamando a esta función devuelve una matriz vacía, es decir:[]¿ Qué pasa? Los siguientes intercambios requieren que el instrumento pase en el parámetro del instrumento al consultar las órdenes actualmente incompletas. Cuando se llama a la función GetOrders con estos intercambios, si no se pasa el parámetro del instrumento, solo se solicitan las órdenes incompletas del instrumento actual, no las órdenes incompletas de todos los instrumentos (porque la interfaz de intercambio no admite esto). Zaif, MEXC, LBank, Korbit, Coinw, BitMart, Bithumb, BitFlyer, BigONE. Es el único que tiene el nombre de la compañía.

Los intercambios que no apoyan laexchange.GetOrders()Función:

Nombre de la función Intercambios al contado sin soporte Exchanges de futuros no respaldados
Obtener órdenes El valor de la inversión se calcula a partir del valor de la inversión

Los datos de las operaciones de compra y venta de los productos de los Estados miembros que se encuentran en el ámbito de aplicación de la presente Directiva son los siguientes: {@struct/Order Order}, {@fun/Trade/exchange.GetOrder exchange.GetOrder}

exchange.GetOrder exchange.GetHistoryOrders