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

Explicación detallada de las nuevas características de los parámetros de interfaz de estrategia y los controles interactivos

El autor:FMZ~Lydia, Creado: 2024-07-04 10:40:41, Actualizado: 2024-07-23 17:06:25

img

Explicación detallada de las nuevas características de los parámetros de interfaz de estrategia y los controles interactivos

Cuando se desarrollan estrategias en la Plataforma de Comercio Cuántico de FMZ, es necesario diseñar parámetros de estrategia e interacciones de estrategia. La Plataforma de Comercio Cuántico de FMZ se compromete a proporcionar herramientas cuantitativas de comercio fáciles de usar y poderosas, e iterar continuamente el diseño y las funciones del producto. Al actualizar los parámetros de estrategia y los controles interactivos, se ha aumentado aún más la flexibilidad de diseño de parámetros e interacciones en el diseño de estrategia. Se han mejorado las funciones de los parámetros de estrategia y los controles interactivos, lo que facilita el logro de algunos requisitos de diseño.

Parámetros de la interfaz de estrategia

Los tipos de parámetros de estrategia en FMZ Quant no han aumentado, y siguen siendo los cinco tipos de parámetros con los que estamos familiarizados:

  • Parámetros numéricos
  • Parámetros de la cadena
  • Parámetros booleanos
  • Parámetros del cuadro desplegable
  • Parámetros de cadena cifrados

Entonces definitivamente me preguntará, ¿qué contenido se ha añadido y optimizado en esta actualización de la plataforma?

Esta actualización agrega configuración de componentes para controles de vinculación de parámetros, simplifica las funciones agrupación y dependencia de parámetros, e integra estas dos funciones en configuración de componentes. Para el valor predeterminado del parámetro, se agrega una opción opcional/required para determinar si la estrategia tiene las condiciones para ejecutarse. Si el parámetro está configurado en required pero no se escriben parámetros específicos en el control de parámetros cuando se ejecuta la estrategia, la estrategia no se puede ejecutar en este momento. Ahora que tenemos una comprensión general de los cambios de actualización, vamos a probarlo en detalle.

1. Parámetros numéricos

img

Hemos hablado brevemente sobre las funciones opcional/requeridas antes, así que no entraré en detalles aquí.

Establecer varias propiedades, tipos y reglas del control al que corresponde el parámetro. El control predeterminado vinculado al parámetro numérico (tipo de número) es el cuadro de entrada. Puede establecer las reglas para los datos recibidos por el cuadro de entrada, es decir, utilizar los controles valor mínimo y valor máximo en la figura a establecer.

Además del control predeterminado de la caja de entrada, la plataforma ha añadido:

  • Selector de tiempo En Tipo de componente, seleccione Selector de tiempo, y el control del cuadro de entrada en la interfaz de estrategia correspondiente al parámetro actual se convertirá en un control de selección de tiempo. Estos controles se utilizan generalmente para la configuración del rango de tiempo, la configuración de la fecha de inicio y finalización. Esto es muy conveniente e intuitivo. El valor de la variable del parámetro de interfaz es: valor (que representa la marca de tiempo)
  • Barra de entrada deslizante Si se establece como un control de barra de entrada deslizante, debe especificar el Valor mínimo y el Valor máximo para determinar el rango del control deslizante. La barra de entrada deslizante puede implementar un parámetro para controlar el stop loss y tomar los niveles de ganancia convenientemente. El valor variable del parámetro de interfaz es: valor (que representa la información de posición del control deslizante en el control deslizante)

2. Parámetros booleanos

img

Los parámetros booleanos son especiales porque sólo tienen un control correspondiente, que es el control del interruptor predeterminado.

Debido a que los valores booleanos son verdaderos o falsos, son opciones binarias. Por lo tanto, es muy apropiado usar un control de interruptor para corresponder a este tipo de parámetro.

Por lo general, los parámetros de tipo booleano se utilizan para controlar si ciertas funciones de estrategia están habilitadas en la plataforma.

3. Parámetros de la cadena

img

Además del control predeterminado de la caja de entrada, la plataforma ha añadido:

  • El texto En Tipo de componente, establece: Texto. El control de la caja de entrada en la interfaz de estrategia correspondiente al parámetro actual se cambiará a un cuadro de texto más grande. La diferencia entre el control de texto y el control de cuadro de entrada ordinario es que el texto introducido en el cuadro de texto puede envolverse, y el cuadro de texto puede ajustar el tamaño del control. El valor variable del parámetro de interfaz es: cadena.

  • Selector de tiempo En Tipo de componente, seleccione Selector de tiempo. El control de la caja de entrada en la interfaz de estrategia correspondiente al parámetro actual se convertirá en un control para establecer la hora y la fecha. Time Selector for Component Type of String Parameter es diferente de Time Selector for Component Type of Numeric Parameter. La selección de tiempo del parámetro de tipo de cadena tiene una opción adicional Time Format que puede establecer el formato de selección del control:

  1. Fecha: Cuando Time Format está configurado en Date, el control es un control de selección de tiempo completo para seleccionar año, mes, día, hora, minuto y segundo, y admite la selección de la hora actual con un solo clic.
  2. Tiempo: Cuando Time Format está configurado en Time, el control es un control de selección de tiempo para seleccionar minutos, horas y segundos.
  3. Año y mes: cuando Formato de tiempo está configurado en Año y mes, el control es un control de selección de tiempo para seleccionar año y mes.
  4. Año: cuando Time Format está configurado en Year, el control es un control de selección de tiempo para seleccionar el año. El valor variable del parámetro de interfaz es: cadena (formateada como el tiempo correspondiente).
  • Selector de colores En Tipo de componente, seleccione Selector de color. El control de la caja de entrada en la interfaz de estrategia correspondiente al parámetro actual se convertirá en un control de selección de color. generalmente se utiliza para diseñar parámetros para ajustar colores. El valor variable del parámetro de interfaz es: cadena (el valor de color correspondiente al color seleccionado, por ejemplo: #7e1717).

4. Parámetros de la caja desplegable

img

El control por defecto correspondiente del parámetro de la casilla desplegable es una casilla desplegable, pero esta vez se han hecho muchas actualizaciones a la casilla desplegable anterior simple de selección simple:

  • Soporte para múltiples selecciones Puede seleccionar varias opciones al mismo tiempo en el control del cuadro desplegable correspondiente al parámetro del cuadro desplegable. En este momento, el valor variable del parámetro del cuadro desplegable ya no es el índice de la opción seleccionada, sino una matriz.
  • Apoya valores predeterminados personalizados Cuando esta opción está activada, puede personalizar los valores predeterminados en lugar de tener que seleccionar una opción del cuadro desplegable como valor predeterminado.
  • Se ha añadido la función de vincular valores numéricos y cadenas a las opciones del cuadro desplegable. Al establecer este parámetro, el valor de la variable de la casilla desplegable ya no es el índice de la opción seleccionada, sino la cadena o el valor numérico vinculado a la opción seleccionada.

Además del control de la caja desplegable predeterminada, esta vez la plataforma agrega:

  • Controlador de segmentos En Component type, seleccione Segment controller. El control vinculado al parámetro actual se convierte en un control deslizante de segmento seleccionable, y puede seleccionar un bloque de segmento específico. En general, puede diseñarse de la siguiente manera: usualmente se usa para cambiar entre varias opciones mutuamente exclusivas, a menudo se usa para filtrar contenido por categoría o etiqueta, y elegir entre diferentes modos de operación. El valor variable del parámetro de interfaz es: el índice de la parte seleccionada del controlador de segmentos o los datos vinculados a la parte seleccionada (los datos vinculados admiten valores numéricos y cadenas).

5. Parámetros de la cadena cifrada

img

El parámetro de cadena cifrada también es bastante especial, y tiene un solo control correspondiente, que es el control de caja de entrada cifrada predeterminado.

En la plataforma, los controles de tipo de cadena cifrados se utilizan generalmente para establecer información confidencial, como claves secretas, contraseñas, etc. Estos valores de parámetros de entrada se cifrarán localmente antes de la transmisión.

El valor variable del parámetro de interfaz es: cadena.

Para todos los tipos anteriores de parámetros de interfaz de estrategia, esta actualización integra las funciones anteriores de agrupación de parámetros y dependencia de parámetros en la configuración de componentes.

  • El grupo Puede ingresar la etiqueta que desea agrupar directamente en el control del cuadro desplegable del grupo, y usar la tecla Enter para confirmar la entrada del grupo. El sistema registrará la etiqueta actualmente ingresada en la opción de agrupación. Luego puede especificar un grupo para los parámetros de interfaz actuales. Tras la agrupación, en la interfaz de backtesting de estrategias/transacción en vivo, los parámetros marcados como grupo se mostrarán en un área de agrupación.
  • El filtro Introduzca algunas expresiones en el control del filtro para determinar si el parámetro actual debe ser activado y mostrado. Ejemplo de expresión de filtro:
Filter format: a>b , a==1 , a , !a , a>=1&&a<=10 , a>b

Aquí, tanto a como b representan variables de parámetros de interfaz de estrategia.

Estrategia de prueba de parámetros de interfaz

Si las explicaciones anteriores son un poco poco intuitivas, la mejor manera de entenderlas es realmente usar y probar estas funciones de parámetros:

Tomemos como ejemplo la estrategia del lenguaje JavaScript:

function main() {
    Log("---------------------------Start testing numeric type parameters---------------------------")
    Log("Variable pNum1:", pNum1, ", Variable value type:", typeof(pNum1))
    Log("Variable pNum2:", pNum2, ", Variable value type:", typeof(pNum2))
    Log("Variable pNum3:", pNum3, ", Variable value type:", typeof(pNum3))
    Log("Variable pNum4:", pNum4, ", Variable value type:", typeof(pNum4))
    
    Log("---------------------------Start testing Boolean type parameters---------------------------")
    Log("Variable pBool1:", pBool1, ", Variable value type:", typeof(pBool1))
    Log("Variable pBool2:", pBool2, ", Variable value type:", typeof(pBool2))

    Log("---------------------------Start testing string type parameters---------------------------")
    Log("Variable pStr1:", pStr1, ", Variable value type:", typeof(pStr1))
    Log("Variable pStr2:", pStr2, ", Variable value type:", typeof(pStr2))
    Log("Variable pStr3:", pStr3, ", Variable value type:", typeof(pStr3))
    Log("Variable pStr4:", pStr4, ", Variable value type:", typeof(pStr4))

    Log("---------------------------Start testing the drop-down box type parameters---------------------------")
    Log("Variable pCombox1:", pCombox1, ", Variable value type:", typeof(pCombox1))
    Log("Variable pCombox2:", pCombox2, ", Variable value type:", typeof(pCombox2))
    Log("Variable pCombox3:", pCombox3, ", Variable value type:", typeof(pCombox3))

    Log("---------------------------Start testing encryption string type parameters---------------------------")
    Log("Variable pSecretStr1:", pSecretStr1, ", Variable value type:", typeof(pSecretStr1))
}

img

Estrategia completa de ensayo de parámetros:https://www.fmz.com/strategy/455212

Hay un diseño de dependencia de parámetros oculto en los parámetros anteriores. Muchas estrategias tienen el requisito de habilitar una serie de configuraciones basadas en un determinado parámetro, que se puede lograr con dependencias de parámetros como esta.

Controles interactivos

La Plataforma de Comercio Cuántico FMZ también tiene cinco tipos de controles interactivos de estrategia, que se han optimizado y actualizado esta vez.

1. Número de controles interactivos

img

Los controles interactivos son básicamente los mismos que la configuración de componentes de los parámetros de la interfaz de estrategia.

  • Selector de tiempo El comando interactivo enviado contiene la marca de tiempo de la hora seleccionada.
  • Barra de entrada del cursor El comando interactivo enviado contiene el valor representado por la posición del control deslizante seleccionado.

El uso es el mismo que el de varios tipos de componentes de parámetros de interfaz de estrategia, por lo que no se repetirá aquí.

2. controles interactivos booleanos (verdadero/falso)

img

Los controles interactivos son básicamente los mismos que la configuración de componentes de los parámetros de la interfaz de estrategia.

3. Los controles interactivos de cadena

img

Además del control de caja de entrada predeterminado, el tipo de componente también admite:

  • El texto El comando interactivo enviado contiene el contenido introducido en el cuadro de texto.
  • Selector de tiempo El comando interactivo enviado contiene una cadena de tiempo del tiempo seleccionado, con múltiples formatos para elegir.
  • Seleccionador de colores El comando interactivo enviado contiene una cadena de valor de color para el color seleccionado.

4. Caja desplegable (seleccionado) Control interactivo

img

El cuadro desplegable del control interactivo también se ha actualizado: suporte de múltiples selecciones, valores predeterminados personalizados, opción de vinculación a datos específicos, etc.

Además del componente de caja desplegable predeterminado, se añade lo siguiente:

  • Controlador de segmentos El comando interactivo enviado contiene el índice o datos vinculados del control deslizante seleccionado.

Control interactivo con botón

img

El control interactivo de tipo botón no tiene elementos de entrada. Cuando se activa, el comando interactivo enviado contiene solo el nombre del control del botón.

Estrategia de ensayo de control interactivo

La mejor manera de entenderlo es probarlo manualmente.

Debe tenerse en cuenta que los controles interactivos no pueden probarse en el sistema de backtesting, y solo se pueden crear pruebas en vivo.

function main() {
    var lastCmd = ""
    while (true) {
        var cmd = GetCommand()  // Receive messages generated by interactive controls
        if (cmd) {
            Log(cmd)
            lastCmd = cmd
        }
        LogStatus(_D(), lastCmd)
        Sleep(500)
    }
}

Introduzca información aleatoria, establezca algunas opciones y luego haga clic en el botón de control interactivo para generar mensajes interactivos.

img

img

Estrategia de ensayo de control interactivo completada:https://www.fmz.com/strategy/455231

Actualización

  1. La plataforma FMZ ha actualizado el tipo de cadena y el tipo de caja desplegable de parámetros de interfaz y controles interactivos; se ha añadido soporte para 2 nuevos controles:

img

img

  1. Establecer pruebas de parámetros utilizando controles de divisas y controles de pares de operaciones en los parámetros de la interfaz de estrategia

img

function main() {
Log("After parameter test1 is selected using currency controls, the value of test1 is:", test1)
Log("After parameter test2 is selected using trading pair controls, the value of test2 is:", test2)
}
    1. Cuota de mercado

img

After parameter test1 is selected using currency controls, the value of test1 is: BTC
    1. Pares de negociación

img

After parameter test2 is selected using trading pair controls, the value of test2 is: ETH_USDT.next_quarter
  1. Establecer pruebas interactivas utilizando controles de divisas y controles de pares de operaciones en controles interactivos de estrategia:

img

function main() {
    while (true) {
        var cmd = GetCommand()
        if (cmd) {
            Log(cmd)
        }
        Sleep(2000)
    }
}
    1. Cuota de mercado

img

test1:SOL
    1. Pares de negociación

img

test2:XRP_USDT.swap

Más.