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.
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:
Entonces definitivamente me preguntará, ¿qué contenido se ha añadido y optimizado en esta actualización de la plataforma?
Esta actualización agrega
Hemos hablado brevemente sobre las funciones
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:
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.
Además del control predeterminado de la caja de entrada, la plataforma ha añadido:
El texto
En
Selector de tiempo
En
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:
Además del control de la caja desplegable predeterminada, esta vez la plataforma agrega:
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.
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.
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))
}
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.
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.
Los controles interactivos son básicamente los mismos que la
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í.
Los controles interactivos son básicamente los mismos que la
Además del control de caja de entrada predeterminado, el tipo de componente también admite:
El cuadro desplegable del control interactivo también se ha actualizado:
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.
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.
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.
Estrategia de ensayo de control interactivo completada:https://www.fmz.com/strategy/455231
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)
}
After parameter test1 is selected using currency controls, the value of test1 is: BTC
After parameter test2 is selected using trading pair controls, the value of test2 is: ETH_USDT.next_quarter
function main() {
while (true) {
var cmd = GetCommand()
if (cmd) {
Log(cmd)
}
Sleep(2000)
}
}
test1:SOL
test2:XRP_USDT.swap