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

Explicación de la interfaz API extendida

  • La interfaz API ampliada de la plataforma de negociación cuántica FMZ Añadir los parámetros de la consulta (separados por?) de la solicitud inmediatamente despuéshttps://www.fmz.com/api/v1Los siguientes son los parámetros de solicitud expresados utilizandoPython:

    {
        "version"   : "1.0",
        "access_key": "xxx",
        "method"    : "GetNodeList",
        "args"      : [],
        "nonce"     : 1516292399361,
        "sign"      : "085b63456c93hfb243a757366600f9c2"
    }
    
    Campos Direcciones
    versión Número de versión.
    acceso_clave AccessKey, solicítalo en la página de administración de cuentas.
    Método El método específico de llamada.
    las La lista de parámetros del método específico llamado.
    No es La marca de tiempo, en milisegundos, permite un error de 1 hora desde la marca de tiempo estándar.
    el signo Signature.

    Cada nombre de parámetro está separado por el carácter&, y los nombres y valores de los parámetros están relacionados con el símbolo=. La URL completa de la solicitud (tomandomethod=GetNodeListpor ejemplo):

    https://www.fmz.com/api/v1?access_key=xxx&nonce=1516292399361&args=%5B%5D&sign=085b63456c93hfb243a757366600f9c2&version=1.0&method=GetNodeList
    

    Tenga en cuenta quesecret_keyParámetro entre los parámetros de solicitud.

  • Método de firma Elsignel parámetro del parámetro de solicitud se cifrará de la siguiente manera, de acuerdo con el formato:

    version + "|" + method + "|" + args + "|" + nonce + "|" + secretKey
    

    Después de concatenar las cadenas, useMD5algoritmo de cifrado para cifrar la cadena y convertirla en un valor de cadena de datos hexadecimal, referido como el valor del parámetrosignPara la parte de la firma, véase elPythonInterfaz de API de extensión de códigoMétodos de verificación :

    # Parameter
    d = {
        'version': '1.0',
        'access_key': accessKey,
        'method': method,
        'args': json.dumps(list(args)),
        'nonce': int(time.time() * 1000),
    }
    
    # Calculate "sign" signature
    d['sign'] = md5.md5(('%s|%s|%s|%d|%s' % (d['version'], d['method'], d['args'], d['nonce'], secretKey)).encode('utf-8')).hexdigest()
    
  • Error del servicio de interfaz:

    • Parámetros insuficientes:
      {
          "code":0,
          "data":{
              "result":null,
              "error":"Params length incorrect"
          }
      }
      

ObtenerNodeList

ElGetNodeListEl método se utiliza para obtener la lista de los trabajadores portuarios en la cuenta de la Plataforma de Comercio Cuántico FMZ correspondiente a laAPI KEYen la solicitud.

{
    "code": 0,
    "data": {
        "result": {
            "all": 1,
            "nodes": [{
                "build": "3.7",
                "city": "...",
                "created": "2024-11-08 09:21:08",
                "date": "2024-11-08 16:37:16",
                "forward": "...",
                "guid": "...",
                "host": "node.fmz.com:9902",
                "id": 123,
                "ip": "...",
                "is_owner": true,
                "loaded": 0,
                "name": "MacBook-Pro-2.local",
                "online": true,
                "os": "darwin/amd64",
                "peer": "...",
                "public": 0,
                "region": "...",
                "tunnel": false,
                "version": "...",
                "wd": 0
            }]
        },
        "error": null
    }
}

Descripción de los campos de valor devuelto (el significado literal es obvio y no se repetirá):

  • todos: el número de trabajadores portuarios asociados a la cuenta corriente.
  • Nodos: Registra los detalles del nodo del muelle.
    • Edificación: número de versión.
    • Ciudad: la ciudad donde se encuentra.
    • is_owner: verdadero indica un docker privado, falso indica un docker público.
    • Cargado: Carga, el número de instancias de estrategia.
    • público: 0 indica un puerto privado, 1 indica un puerto público.
    • región: ubicación geográfica.
    • versión: información detallada de la versión del docker.
    • wd: Si se habilitará la alarma fuera de línea, 0 significa no habilitada. Los campos comienzan con los prefijosecs_yunit_, que registra la información pertinente del servidor docker de implementación de un solo clic (nombre del operador, configuración, estado, etc.), ciclo de facturación, precio y otra información, que no se repetirá aquí.

No hay parámetro

GetRobotGrupo Lista

GetRobotGroupList()devuelve la lista de agrupación de operaciones en vivo de la cuenta de la Plataforma de Comercio Quant FMZ correspondiente a laAPI KEYen la solicitud.

{
    "code": 0,
    "data": {
        "result": {
            "items": [{
                "id": 3417,
                "name": "Test"
            }, {
                "id": 3608,
                "name": "Live trading demo"
            }]
        },
        "error": null
    }
}
  • Se trata de la información sobre el grupo de operaciones en tiempo real.
    • Identificación del grupo de operaciones en vivo.
    • nombre: nombre de la agrupación de operaciones en vivo. ElitemsEl campo sólo registra los grupos recién creados.items.

No hay parámetro

Obtenga la lista de plataformas

GetPlatformList()devuelve la lista de los intercambios que han se ha añadido por la cuenta de la Plataforma de Comercio Cuántico FMZ correspondiente a laAPI KEYen la solicitud.

{
    "code": 0,
    "data": {
        "result": {
            "all": 2,
            "platforms": [{
                "category": "加密货币||Crypto",
                "date": "2023-12-07 13:44:52",
                "eid": "Binance",
                "id": 123,
                "label": "Binance",
                "logo": "...",
                "name": "币安现货|Binance",
                "stocks": ["BTC_USDT", "LTC_USDT", "ETH_USDT", "ETC_USDT", "BTC_TUSD", "ETH_TUSD", "BNB_TUSD"],
                "website": "..."
            }, {
                "category": "通用协议|Custom Protocol",
                "date": "2020-11-09 11:23:48",
                "eid": "Exchange",
                "id": 123,
                "label": "XX Exchange REST Protocol",
                "logo": "...",
                "name": "通用协议|Custom Protocol",
                "stocks": ["BTC_USDT", "ETH_USDT"],
                "website": ""
            }]
        },
        "error": null
    }
}
  • todos: el número de objetos de intercambio añadidos/configurados.
  • plataformas: información relacionada con el intercambio.
    • eid: el identificador del exchange en la plataforma de negociación cuantitativa FMZ,eidSe utilizará en algunas configuraciones y parámetros.

No hay parámetro

GetRobotList es una lista de robots

ElGetRobotListEl método se utiliza para obtener la lista de operaciones realizadas bajo la cuenta de la plataforma de negociación FMZ Quant correspondiente a laAPI KEYen la solicitud.

{
    "code": 0,
    "data": {
        "result": {
            "all": 1,
            "concurrent": 0,
            "robots": [{
                "charge_time": 1731654846,
                "date": "2024-11-12 14:05:29",
                "end_time": "2024-11-15 14:56:32",
                "fixed_id": 4509153,
                "id": 591026,
                "is_sandbox": 0,
                "name": "test",
                "node_guid": "45891bcf3d57f99b08a43dff76ee1ea1",
                "node_id": 4519153,
                "node_public": 0,
                "profit": 0,
                "public": 0,
                "refresh": 1731651257000,
                "start_time": "2024-11-15 14:56:30",
                "status": 3,
                "strategy_id": 411670,
                "strategy_isowner": true,
                "strategy_language": 0,
                "strategy_name": "test",
                "strategy_public": 0,
                "uid": "105ed6e511cc977921610fdbb7e2a1d6",
                "wd": 0
            }]
        },
        "error": null
    }
}
  • Robots: Información de operaciones en vivo
    • group_id: ID del grupo de negociación en vivo. Si la estrategia de negociación en vivo está en el grupo predeterminado, no haygroup_id field.

El ajuste de desplazamiento de la consulta de búsqueda. de desplazamiento falsos Número El ajuste de la longitud de la consulta de búsqueda. longitud falsos Número Especificar el estado de la negociación en vivo a consultar, consultar la interfaz API extendidaCódigo de negociación en vivo, pase-1para obtener todos los intercambios en vivo. robotEstado falsos Número Especifique la etiqueta personalizada del comercio en vivo que desea consultar, y puede filtrar todas las operaciones en vivo de esta etiqueta. etiqueta falsos la cuerda Busca palabras clave. Palabra clave falsos la cuerda

Tome elPythonInterfaz API extendida del lenguajeMétodos de verificaciónPor ejemplo:print(api('GetRobotList'))Obtener toda la información de comercio en vivo.print(api('GetRobotList', 'member2')): imprimir la información de todas las operaciones en vivo con el miembro de la etiqueta personalizada2.print(api('GetRobotList', 0, 5, -1, 'member2')): páginas de 0 a 5 y una lista de hasta 5 robots etiquetados con member2.

ComandoRobot

ElCommandRobotmétodo se utiliza para enviar una interacción el comando de la negociación en vivo en la plataforma de negociación de FMZ Quant cuenta correspondiente a laAPI KEYen la solicitud. de la negociación en vivo que recibe el comando de interacción es la Identificador de negociación especificado por elrobotIdParámetro, y el la orden de interacción es devuelta por elGetCommand()Función llamó a la estrategia para capturarlo.

{
    "code":0,
    "data":{
        "result":true,
        "error":null
    }
}
  • Resultado: Si el comando interactivo se envía con éxito; cuando se envía un comando a un comercio en vivo que no se está ejecutando, el resultado en los datos devueltos es falso.

El parámetrorobotIdSe utiliza para especificar el ID de la el que recibe el comando interactivo. ElGetRobotListmétodo para obtener la información de la vida la operación se realiza bajo la cuenta, que contiene el ID de operación en vivo.

- ¿Qué quieres? verdadero Número El parámetrocmdes el comando interactivo enviado al bot; el comando será capturado por la funciónGetCommand(), que activa la lógica interactiva en la estrategia.GetCommand()La función en elManual de la API de la plataforma de negociación cuántica FMZ.

el CMD verdadero la cuerda

Estrategia de negociación en tiempo real, suponiendo que esta estrategia esté en funcionamiento, el ID de negociación en tiempo real es 123:

function main() {
    while (true) {
        var cmd = GetCommand()
        if (cmd) {
            Log(cmd)
        }
        Sleep(2000)
    }
}

Si utilizamos el script de prueba de Python en este capítulo, acceder a la API extendida de la plataforma de comercio de FMZ Quant:api("CommandRobot", 123, "test command")El comercio en vivo con ID 123 recibirá el comando interactivo:test command, y luego imprimirlo a través de la salida de la función Log.

Detener el robot

StopRobot(RobotId)se utiliza para solicitar elAPI KEYcorrespondiente a la negociación en vivo de la FMZ Quant Trading La cuenta de la plataforma. Identificador de negociación especificado por elrobotId parameter.

{
    "code":0,
    "data":{
        "result":2,
        "error":null
    }
}
  • Resultado: el código de estado de negociación en vivo es 2, lo que significa detenido.

El parámetrorobotIdSe utiliza para especificar el ID de la El comercio en vivo para ser detenido.GetRobotListEl método de obtención de la información de las operaciones en vivo bajo el cuenta, que contiene el ID de negociación en vivo.

- ¿Qué quieres? verdadero Número

Reinicie el robot

ElRestartRobotel método se utiliza para reiniciar la negociación en vivo bajo elAPI KEYEl ID de la negociación en vivo reiniciada es el ID de negociación en vivo especificado por elrobotId parameter.

{
    "code":0,
    "data":{
        "result":1,
        "error":null
    }
}
  • Resultado: Código de estado de negociación en vivo, 1 significa en funcionamiento.

ElrobotIdEl parámetro se utiliza para especificar el ID de la El comercio en vivo puede ser reiniciado.GetRobotListEl método de obtención de la información de las operaciones en vivo bajo el cuenta, que contiene el ID de negociación en vivo.

- ¿Qué quieres? verdadero Número Los parámetros de configuración de operaciones en vivo, los parámetrossettingsel formato es el siguiente:

{
    "appid":"test",
    "args":[],
    "exchanges":[
        {"pair":"SOL_USDT","pid":123},
        {"pair":"ETH_USDT","pid":456}
    ],
    "name":"test",
    "node":123,
    "period":60,
    "strategy":123
}
  • Aplicado: Campos personalizados Las etiquetas se pueden definir.
  • args: Configuración de parámetros de la estrategia La estructura es una matriz, cada elemento es un parámetro.Interval, y usted quiere establecerIntervala 500 al reiniciar la estrategia, entoncesargscontiene:["Interval", 500], es decir:"args": [["Interval", 500]].
  • Bolsa: Configuración del objeto de intercambio para la vinculación de operaciones en vivo La estructura es una matriz, donde cada elemento es una configuración de objeto de intercambio.
    • Puede vincularse al objeto de intercambio que ha sido configurado en la plataforma Es decir, usarpidConfiguración:{"pair":"SOL_USDT","pid":123}; pidSe puede consultar a través de laGetPlatformListinterfaz, y elidcampo en los datos devueltos es el intercambiopid.
    • Podemos pasar directamente en la información de configuración y vincular objetos de intercambio Es decir, usareidConfiguración:{"eid":"Huobi","label":"test Huobi","meta":{"AccessKey":"123","SecretKey":"123"},"pair":"BCH_BTC"}Información sensible como:API KEYSi se utiliza este tipo de configuración, la información debe configurarse cada vez que se crea o reinicia una negociación en vivo.
    • Puede unirseProtocolo aduaneroobjeto de intercambio Puede transmitir información de configuración:{"eid":"Exchange","label":"test exchange","pair":"BTC_USDT","meta":{"AccessKey":"123","SecretKey":"123","Front":"http://127.0.0.1:6666/test"}}. labelatributo es establecer una etiqueta para el objeto de intercambio accesado por el actualProtocolo aduanero, que puede obtenerse mediante elexchange.GetLabel()El objetivo de la estrategia es:
  • nombre: nombre de la estrategia
  • Nodo: ID de la base de datos Especifica en qué docker ejecutarse. Si este atributo no está configurado, se asignará al docker para ejecutarse automáticamente.
  • período: período de línea K por defecto Parámetro de período de la línea K, 60 significa 60 segundos.
  • Estrategia: Identificación de la estrategia Se puede obtener utilizando elGetStrategyList method.

ajustes falsos Objeto JSON

Si la API extendida crea una operación en vivo, la API extendidaRestartRobot (RobotId, Settings)Se debe utilizar para reiniciar, y elsettingsEl comercio en vivo creado en la página de la plataforma se puede reiniciar a través de la API extendida o haciendo clic en el botón de la página.settingsParámetro. Si sólo pasa elRobotIdParámetro, iniciar la negociación en vivo de acuerdo con la configuración actual de negociación en vivo.

GetRobotDetail es el nombre de un robot.

ElGetRobotDetailEl método se utiliza para obtener los detalles de la negociación en vivo bajo la cuenta de la plataforma de negociación FMZ Quant correspondiente a laAPI KEYEl ID de la operación en vivo que se desea recuperar es el ID de la operación en vivo especificado por elrobotId parameter.

{
    "code": 0,
    "data": {
        "result": {
            "robot": {
                "charge_time": 1732246539,
                "charged": 5850000,
                "consumed": 5375000000,
                "date": "2018-12-28 14:34:51",
                "favorite": {
                    "added": false,
                    "type": "R"
                },
                "fixed_id": 123,
                "hits": 1,
                "id": 123,
                "is_deleted": 0,
                "is_manager": true,
                "is_sandbox": 0,
                "name": "test",
                "node_id": 123,
                "pexchanges": {
                    "123": "Futures_OKCoin"
                },
                "phash": {
                    "123": "ca1aca74b9cf7d8624f2af2dac01e36d"
                },
                "plabels": {
                    "123": "OKEX futures V5"
                },
                "priority": 0,
                "profit": 0,
                "public": 0,
                "refresh": 1732244453000,
                "robot_args": "[]",
                "start_time": "2024-11-22 11:00:48",
                "status": 1,
                "strategy_args": "[]",
                "strategy_exchange_pairs": "[60,[123],[\"ETH_USDT\"]]",
                "strategy_id": 123,
                "strategy_last_modified": "2024-11-21 16:49:25",
                "strategy_name": "test",
                "strategy_public": "0",
                "uid": "105ed6e51bcc17792a610fdbb7e2a1d6",
                "username": "abc",
                "wd": 0
            }
        },
        "error": null
    }
}
  • tiempo de carga: el siguiente tiempo de deducción es el tiempo de caducidad efectivo después de la deducción actual.
  • Cargado: tiempo ya consumido.
  • Consumido: cantidad consumida (0,125 USD = 12500000 / 1e8).
  • fecha: fecha de creación
  • fixed_id: El ID del docker asignado cuando se está ejecutando el comercio en vivo. Si es automático, el valor es -1.
  • is_manager: Si tiene la autoridad para gestionar esta negociación en vivo.
  • is_sandbox: Si se trata de una operación simulada.
  • nombre: nombre de la operación en vivo.
  • node_id: ID de Docker también.
  • pexchanges: El objeto de intercambio de la negociación en vivo, 123 es el pid, y Futures_OKCoin es el nombre del intercambio.
  • plabels: información de etiqueta del objeto de intercambio configurado en la negociación en vivo.
  • ganancia: datos sobre las ganancias de las operaciones en vivo.
  • público: si la negociación en vivo es pública.
  • actualización: último tiempo activo.
  • estrategia_exchange_pairs: objeto de intercambio configurado, conjunto de información sobre el par de operaciones.
  • wd: Activar o no la alarma fuera de línea.

ElrobotIdEl parámetro se utiliza para especificar el ID de la negociación en vivo para la que se deben obtener los detalles.GetRobotListmétodo para obtener información sobre la negociación en vivo en la cuenta, que contiene el ID de negociación en vivo.

- ¿Qué quieres? verdadero Número

La descripción del atributo destrategy_exchange_pairs, por ejemplo, los siguientes datos:

"[60,[44314,42960,15445,14703],[\"BTC_USDT\",\"BTC_USDT\",\"ETH_USDT\",\"ETH_USDT\"]]"

Los primeros datos60representa el conjunto predeterminado de períodos de la línea K por el comercio en vivo es de 1 minuto, es decir, 60 segundos.

[44314,42960,15445,14703]es el objeto de intercambiopidconfigurado para operaciones en vivo (según la orden de adición).

[\"BTC_USDT\",\"BTC_USDT\",\"ETH_USDT\",\"ETH_USDT\"]es el conjunto de pares de operaciones para el objeto de intercambio configurado por live comercio (en orden de suma y en correspondencia uno a uno) conpid).

Obtener Cuenta

ElGetAccountEl método se utiliza para obtener la información de la cuenta correspondiente a laAPI KEYen la solicitud de la cuenta de la plataforma de negociación cuántica FMZ.

{
    "code":0,
    "data":{
        "result":{
            "balance":22944702436,
            "concurrent":0,
            "consumed":211092719653,
            "currency":"USD",
            "email":"123@qq.com",
            "openai":false,
            "settings":null,
            "sns":{"wechat":true},
            "uid":"105ea6e51bcc177926a10fdbb7e2a1d6",
            "username":"abc"
        },
        "error":null
    }
}
  • Saldo de la cuenta El valor aquí es un número entero debido al control de precisión. Para convertirlo en un valor real, debe dividirlo por 1e8 (es decir, 10 a la 8a potencia). El valor real aquí es: 229.44702436

Obtener lista de cambio

ElGetExchangeListEl método se utiliza para obtener la lista de intercambios y la información de configuración requerida soportada por la plataforma de negociación de FMZ Quant.

Cuando elisSummaryel parámetro esfalse, los datos devueltos son:

{
    "code": 0,
    "data": {
        "result": {
            "exchanges": [{
                "category": "加密货币||Crypto",
                "eid": "Futures_Binance",
                "id": 74,
                "logo": "/upload/asset/d8d84b23e573e9326b99.svg",
                "meta": "[{\"desc\": \"Access Key\", \"qr\":\"apiKey\",\"required\": true, \"type\": \"string\", \"name\": \"AccessKey\", \"label\": \"Access Key\"}, {\"encrypt\": true, \"qr\":\"secretKey\",\"name\": \"SecretKey\", \"required\": true, \"label\": \"Secret Key\", \"type\": \"password\", \"desc\": \"Secret Key\"}]",
                "name": "币安期货|Futures_Binance",
                "priority": 200,
                "stocks": "BTC_USDT,ETH_USDT,ETH_USD",
                "website": "https://accounts.binance.com/zh-TC/register?ref=45110270"
            }]
        },
        "error": null
    }
}

Cuando elisSummaryel parámetro estrue, los datos devueltos son:

{
    "code": 0,
    "data": {
        "result": {
            "exchanges": [{
                "category": "加密货币||Crypto",
                "eid": "Futures_Binance",
                "id": 74,
                "logo": "/upload/asset/d8d84b23e573e9326b99.svg",
                "name": "币安期货|Futures_Binance",
                "priority": 200,
                "website": "https://accounts.binance.com/zh-TC/register?ref=45110270"
            }]
        },
        "error": null
    }
}
  • meta: intercambio de metadatos de configuración.

ElisSummaryEl parámetro se utiliza para especificar si los datos devueltos son información resumida.

esResumen verdadero - ¿ Qué?

No se puede eliminar

ElDeleteNode(Nid)método se utiliza para eliminar el nodo de docker correspondiente a laAPI KEYen la solicitud de la cuenta de la plataforma de negociación FMZ Quant.nid parameter.

{
    "code":0,
    "data":{
        "result":true,
        "error":null
    }
}
  • resultado: Si el programa docker asociado se elimina con éxito.

ElnidEl parámetro se utiliza para especificar el ID del docker a eliminar.GetNodeListmétodo para obtener información sobre los doctores de la cuenta.

Ni siquiera verdadero Número

EliminarRobot

ElDeleteRobot(RobotId, DeleteLogs)El método se utiliza para eliminar el comercio en vivo correspondiente a laAPI KEYen la solicitud de la cuenta de la plataforma de negociación FMZ Quant.robotId parameter.

{
    "code":0,
    "data":{
        "result":0,
        "error":null
    }
}
  • Resultado: el resultado de la reacción de la operación de eliminación de operaciones en vivo. 0: borrar normalmente. -2: La eliminación fue exitosa, pero no se pudo contactar con el docker asociado con el comercio en vivo. Por favor, elimine el archivo 123.db3 manualmente!

El parámetrorobotIdSe utiliza para especificar el ID de la Las transacciones en vivo se borrarán.GetRobotListEl método de obtención de la información de las operaciones en vivo bajo el cuenta, que contiene el ID de negociación en vivo.

- ¿Qué quieres? verdadero Número EldeleteLogsEl parámetro se utiliza para establecer si se elimina el registro de operaciones en vivo, si se pasa un valor verdadero (por ejemplo:true), se suprime el registro de operaciones en vivo.

Descargar registros verdadero - ¿ Qué?

Obtener estrategia lista

ElGetStrategyListel método se utiliza para obtener información sobre la estrategia de la plataforma.

{
    "code": 0,
    "data": {
        "result": {
            "all": 123,
            "strategies": [{
                "category": 9,
                "date": "2024-11-10 20:40:04",
                "description": "",
                "forked": 0,
                "hits": 0,
                "id": 123,
                "is_buy": false,
                "is_owner": false,
                "language": 2,
                "last_modified": "2024-11-11 17:23:52",
                "name": "HedgeGridStrategy",
                "profile": {
                    "avatar": "...",
                    "nickname": "abc",
                    "uid": "4ed225440db1eda23fe05ed10184113e"
                },
                "public": 0,
                "tags": "",
                "uid": "4ed225440db1eda23fe05ed10184113e",
                "username": "abc"
            }]
        },
        "error": null
    }
}
  • todos: el número total de estrategias encontradas por la consulta de filtro.
  • Estrategias: se solicita información específica sobre las estrategias.

EloffsetEl parámetro se utiliza para establecer el desplazamiento al hacer la consulta.

de desplazamiento verdadero Número EllengthParámetro se utiliza para establecer la longitud de la consulta.

longitud verdadero Número ElstrategyTypeEl parámetro se utiliza para establecer el tipo de estrategia a consultar.

  • strategyTypeajuste de parámetros0: todas las estrategias.
  • strategyTypeajuste de parámetros1: La estrategia es pública.
  • strategyTypeajuste de parámetros2: la estrategia debe revisarse.

Estrategia Tipo verdadero Número ElcategoryEl parámetro se utiliza para establecer la categoría de estrategia a consultar.

  • categoryajuste de parámetros-1: todas las estrategias.
  • categoryajuste de parámetros0Estrategia personalizada.

Categoría verdadero Número ElneedArgsParámetro se utiliza para establecer si la estrategia a consultar tiene parámetros.

  • needArgsajuste de parámetros0: todas las estrategias.

NecesidadArgs verdadero Número EllanguageParámetro se utiliza para establecer el lenguaje de programación de la estrategia a consultar.

  • languageajustes de parámetros0: lenguaje JavaScript.
  • languageajustes de parámetros1El lenguaje Python.
  • languageajustes de parámetros2: lenguaje C ++.
  • languageajustes de parámetros3Estrategia de visualización.
  • languageajustes de parámetros4Mi lenguaje.
  • languageajustes de parámetros5: lenguaje PINE.

lenguaje verdadero Número ElkwEl parámetro se utiliza para establecer la palabra clave de la estrategia a consultar.

  • Establecer una cadena vacía significa que no se utiliza el filtrado de palabras clave.

el peso verdadero la cuerda

NuevoRobot

ElNewRobotel método se utiliza para crear una negociación en vivo bajo elAPI KEYcorrespondiente a la cuenta de la plataforma de negociación cuántica FMZ en la solicitud.

{
    "code":0,
    "data":{
        "result":591988,
        "error":null
    }
}
  • Resultado: La creación es exitosa y se devuelve el ID de negociación en vivo.

los parámetros de configuración de operaciones en vivo,settingsel formato de los parámetros es el siguiente:

{
    "appid":"test",
    "args":[],
    "exchanges":[
        {"pair":"SOL_USDT","pid":123}
    ],
    "group":123,
    "name":"test",
    "node":123,
    "period":60,
    "strategy":123
}
  • Grupo: especificar el grupo de operaciones en vivo.
  • args: Parámetros de la estrategia, o una matriz vacía si la estrategia no tiene parámetros.
  • intercambio: Para la configuración del objeto de intercambio, consulte elRestartRobot interface.

ajustes verdadero Objeto JSON

En la configuración deeidEn elsettingsParámetro"meta":{"AccessKey": "123", "SecretKey": "123"}Esta información sensible no es almacenada por la plataforma de negociación FMZ Quant. Estos datos se envían directamente al programa docker, por lo que esta información debe configurarse cada vez que se crea o reinicia una negociación en vivo.

Si creamos un objeto de intercambio de comercio en vivo utilizando el protocolo personalizado, al configurar elsettingsParámetro, podemos utilizar las siguientes configuraciones para elexchangesel atributo:

{
    "eid": "Exchange",
    "label": "test",
    "pair": "ETH_BTC",
    "meta": {
        "AccessKey": "123",
        "SecretKey": "123",
        "Front": "http://127.0.0.1:6666/test"
    }
}

labelatributo es establecer una etiqueta para el objeto de intercambio al que accede el protocolo personalizado actual, que se puede obtener mediante elexchange.GetLabel()El objetivo de la estrategia es:

PluginEjecutar

ElPluginRunEl método se utiliza para llamar elherramienta de depuraciónFunción de la plataforma de negociación de FMZ Quant; sólo se admite el lenguaje JavaScript.

{
    "code": 0,
    "data": {
        "result": "{\"logs\":[{\"PlatformId\":\"\",\"OrderId\":\"0\",\"LogType\":5,\"Price\":0,\"Amount\":0,\"Extra\":\"Hello FMZ\",\"Currency\":\"\",\"Instrument\":\"\",\"Direction\":\"\",\"Time\":1732267473108}],\"result\":\"\"}",
        "error": null
    }
}
  • resultado: La herramienta de depuración devuelve los datos del resultado de la prueba después de ejecutar el código JavaScript pasado con éxito.

Los parámetros de configuración en la herramienta de depuración,settingsConfiguración, incluye el código de ensayo en elsourceel atributo.settingsel formato del parámetro es el siguiente:

{
    "exchanges":[{"pair":"SOL_USDT","pid":123}],
    "node":123,
    "period":60,
    "source":"function main() {Log(\"Hello FMZ\")}"
}
  • fuente: código que necesita depuración.
  • nodo: Docker ID, puede especificar en qué docker ejecutar el comercio en vivo.
  • intercambio: Para la configuración del objeto de intercambio, consulte elRestartRobot interface.

ajustes verdadero Objeto JSON

{"eid": "OKEX", "pair": "ETH_BTC", "meta" :{"AccessKey": "123", "SecretKey": "123"}} {"eid": "Huobi", "pair": "BCH_BTC", "meta" :{"AccessKey": "123", "SecretKey": "123"}}

Para elexchangesatributo ensettings, sólo uno necesita ser configurado al llamar a laPluginRunmétodo (sólo se admite un objeto de intercambio cuando se utiliza en la página de la herramienta de depuración). No se reportará ningún error cuando se establezcan 2 objetos de intercambio ensettings, pero se informará de un error cuando se acceda al segundo objeto de intercambio en el código.

GetRobot Registros

ElGetRobotLogsEl método se utiliza para obtener la información del registro de las operaciones en vivo bajo la cuenta de la plataforma de negociación FMZ Quant correspondiente a laAPI KEYEl ID de la plataforma de negociación en vivo a obtener es el ID de la plataforma de negociación en vivo especificado por elrobotId parameter.

{
    "code": 0,
    "data": {
        "result": {
            "chart": "",
            "chartTime": 0,
            "logs": [{
                "Total": 20,
                "Max": 20,
                "Min": 1,
                "Arr": []
            }, {
                "Total": 0,
                "Max": 0,
                "Min": 0,
                "Arr": []
            }, {
                "Total": 0,
                "Max": 0,
                "Min": 0,
                "Arr": []
            }],
            "node_id": 123,
            "online": true,
            "refresh": 1732201544000,
            "status": 4,
            "summary": "...",
            "updateTime": 1732201532636,
            "wd": 0
        },
        "error": null
    }
}
  • Registros: Información del registro: Se encuentran varios elementos de datos del registro en el campo Arr. La primera estructura de datos en los registros es el registro de registro en la tabla de registro de estrategia en la base de datos de operaciones en vivo. La segunda estructura de datos en los registros es el registro de registro en la tabla de registro de estrategia en la base de datos de operaciones en vivo. La tercera estructura de datos en los registros es el registro de registro en la tabla de registro de estrategia en la base de datos de operaciones en vivo.
  • Resumen: Datos de la barra de estado de las operaciones en vivo.

ElrobotIdEl parámetro se utiliza para especificar el ID de la las operaciones en vivo para las que se deba obtener la información del registro. Puedes usar elGetRobotListmétodo para obtener información sobre la negociación en vivo bajo la cuenta, que contiene el Identificación de operaciones en vivo.

- ¿Qué quieres? verdadero Número EllogMinIdel parámetro se utiliza para especificar el ID mínimo del registro.

LogMinId verdadero Número EllogMaxIdel parámetro se utiliza para especificar el Id máximo del Log.

LogMaxId verdadero Número EllogOffsetel parámetro se utiliza para establecer el desplazamiento, después de determinar el rango porlogMinIdylogMaxId, compensado en función de lalogOffset(cuántos registros se saltan). Comience como la posición de partida para recuperar datos.

LogOffset (descenso de registro) verdadero Número El parámetrologLimitse utiliza para establecer el número de registros de datos que se seleccionarán una vez determinada la posición de partida.

LogLimit (Límite de registro) verdadero Número ElprofitMinIdEl parámetro se utiliza para establecer el ID mínimo del registro de beneficios.

Profitos verdadero Número El parámetroprofitMaxIdSe utiliza para establecer el ID máximo del registro de beneficios.

gananciaMaxId verdadero Número El parámetroprofitOffsetse utiliza para establecer el desplazamiento (cuántos registros se saltan) como posición de partida.

ProfitOffset verdadero Número El parámetroprofitLimitse utiliza para establecer el número de registros de datos que se seleccionarán una vez determinada la posición de partida.

ProfitLimit verdadero Número El parámetrochartMinIdse utiliza para establecer el ID mínimo del registro de datos del gráfico.

Cuadro verdadero Número El parámetrochartMaxIdse utiliza para establecer el ID máximo del registro de datos del gráfico.

gráfico MaxId verdadero Número El parámetrochartOffsetse utiliza para establecer el desplazamiento.

gráficoOffset verdadero Número El parámetrochartLimitse utiliza para establecer el número de los registros a obtener.

el gráfico límite verdadero Número El parámetrochartUpdateBaseIdse utiliza para establecer el ID de base después de actualizar la consulta.

Diagrama actualizaciónBaseId verdadero Número El parámetrochartUpdateDatese utiliza para establecer los datos registro de actualización de la marca de tiempo, y se filtrará los registros más grandes que esta marca de tiempo.

Diagrama actualización fecha verdadero Número El parámetrosummaryLimitse utiliza para establecer el número de El parámetro es de Tipo de entero para consultar los datos de la barra de estado de la el comercio. Establecer 0 significa que no hay necesidad de consultar la barra de estado información, y el ajuste a un número diferente de cero indica el número de bytes de la información de la barra de estado a ser consultado (el La interfaz no limita la cantidad de datos, por lo que se puede especificar un más grandesummaryLimitParámetro para obtener toda la barra de estado Los datos de la barra de estado se almacenan en los datos devueltossummary.

Resumen Limitación verdadero Número

  • La tabla de registro de estrategias en la base de datos ElArrvalor de atributo en el primer elemento delLogsel valor del atributo (estructura de matriz) en los datos de retorno (datos de registro) se describe de la siguiente manera:

    "Arr": [
        [3977, 3, "Futures_OKCoin", "", 0, 0, "Sell(688.9, 2): 20016", 1526954372591, "", ""],
        [3976, 5, "", "", 0, 0, "OKCoin:this_week too many positions, long: 2", 1526954372410, "", ""]
    ],
    
    el número de Tipo de registro el día ordenado precio cantidad extra fecha ContratoTipo Dirección
    3977 3 Los futuros_OKCoin "" 0 0 Venda ((688.9, 2): 20016 1526954372591 "" ""
    3976 5 "" "" 0 0 OKCoin:esta_semana demasiadas posiciones, largo: 2 1526954372410 "" ""

    extraes el mensaje adjunto del registro impreso.

    Los tipos específicos de troncos representados por ellogTypelos valores se describen de la siguiente manera:

    Tipo de registro: 0 1 2 3 4 5 6
    Significado de logType: Comprar VENTA Se retirará Error de registro Profitos El mensaje Reinicio
  • Tabla de registro del gráfico de beneficios en la base de datos Los datos de la tabla de registro del gráfico son consistentes con el registro de ganancias de la tabla de registro de la estrategia.

    "Arr": [
        [202, 2515.44, 1575896700315],
        [201, 1415.44, 1575896341568]
    ]
    

    Tomemos como ejemplo uno de los datos de registro:

    [202, 2515.44, 1575896700315]
    

    202es logID; 2515.44es el valor del beneficio;1575896700315es el sello de tiempo.

  • Tabla de registro de gráficos en la base de datos

    "Arr": [
        [23637, 0, "{\"close\":648,\"high\":650.5,\"low\":647,\"open\":650,\"x\":1575960300000}"],
        [23636, 5, "{\"x\":1575960300000,\"y\":3.0735}"]
    ]
    

    Tomemos como ejemplo uno de los datos de registro:

    [23637, 0, "{\"close\":648,\"high\":650.5,\"low\":647,\"open\":650,\"x\":1575960300000}"],
    

    23637es el registroID, 0es el índice de la serie de datos del gráfico, y los últimos datos"{\"close\":648,\"high\":650.5,\"low\":647,\"open\":650,\"x\":1575960300000}"es los datos de registro; estos datos son los datos de la línea K en el gráfico.

Métodos de verificación Terminal de negociación