Módulo de visualización para crear una estrategia comercial: primer vistazo

Creado el: 2019-07-08 09:23:59, Actualizado el: 2024-12-23 17:57:33
comments   7
hits   7021

Módulo de visualización para crear una estrategia comercial: primer vistazo

Módulo de visualización para crear una estrategia comercial: primer vistazo

La programación visual siempre ha sido un objetivo deseado para los desarrolladores de herramientas de software, incluso en el campo del comercio cuantitativo. Porque el enfoque de visualización “lo que ves es lo que obtienes” reduce en gran medida el umbral técnico para el desarrollo de programación. Los usuarios ya no tienen que lidiar con un montón de aburridos códigos. Solo necesitan usar su cerebro, su imaginación y su pensamiento lógico, y concentrarse en el negocio en sí. Puedes realizar el programa que quieras, ¿no es increíble?

¡Entremos entonces juntos en el campo de la programación visual de estrategias comerciales cuantitativas!

  • ## Inventor inicial de la programación visual cuantificada

Después de iniciar sesión en https://www.fmz.com, registre una cuenta (si ya se ha registrado, inicie sesión directamente) y haga clic en: Centro de control->Biblioteca de políticas->Nueva política.

Módulo de visualización para crear una estrategia comercial: primer vistazo

Podemos ver una estrategia de visualización inicial. Solo muestra la información de los activos de la cuenta del intercambio configurado de forma predeterminada (el primer objeto de intercambio agregado en la prueba retrospectiva o el robot). (Como se muestra a continuación)

Módulo de visualización para crear una estrategia comercial: primer vistazo

## Antes de comenzar a aprender a utilizar la visualización, primero podemos comprender algunos conceptos de diseño de visualización.

  • 1. Empalme

    Una observación cuidadosa revela que todos los módulos tienen espigas (cóncavas) y mortajas (convexas), lo que significa que los módulos se pueden “conectar” y “conectar”. Si los códigos funcionales representados por dos módulos se pueden conectar, entonces se unirán al acercar la mortaja y la espiga de los dos módulos.

    Módulo de visualización para crear una estrategia comercial: primer vistazo

  • 2. Configuración y ajustes del módulo

    Algunos módulos tienen algunas configuraciones especiales, por ejemplo:

    Módulo de visualización para crear una estrategia comercial: primer vistazo

    Puede arrastrar el módulo “Proyecto” de la izquierda al módulo “Unir”, de modo que pueda agregar una posición de mortaja y espiga, agregando así una posición para unir texto. De esta manera podrás realizar algunos ajustes y configuraciones para el módulo haciendo clic en el pequeño engranaje.

  • 3. Parámetros de entrada predeterminados del módulo

    Algunos módulos requieren parámetros de entrada, que pueden ser valores, cadenas, etc. Si no agrega variables como parámetros de entrada del módulo, el módulo se ejecutará de acuerdo con los parámetros de entrada predeterminados.

    Módulo de visualización para crear una estrategia comercial: primer vistazo Un módulo de cálculo como este para encontrar raíces cuadradas genera los resultados del cálculo de este módulo. Módulo de visualización para crear una estrategia comercial: primer vistazo Como puede ver, si falta el parámetro de entrada, se utiliza el valor predeterminado 9 como parámetro de entrada para calcular la raíz cuadrada de 9. Módulo de visualización para crear una estrategia comercial: primer vistazo

    Por supuesto, si desea utilizar un módulo variable como parámetro de entrada, puede conectar directamente el módulo variable a la posición de mortaja y espiga (hueco). Módulo de visualización para crear una estrategia comercial: primer vistazo

  • 4. Operación

    Se puede hacer clic en el módulo y arrastrarlo con el botón izquierdo del ratón. Los módulos se pueden copiar usando Ctrl + C y pegar usando Ctrl + V, tan convenientemente como copiar y pegar código o texto. El área de operación se puede ampliar o reducir usando la rueda del mouse, y todos los módulos se ampliarán o reducirán. Haga clic y mantenga presionada un área en blanco en el área de operación y arrastre para mover el área de operación. La papelera de la derecha registra los módulos que se eliminaron recientemente. Lo más importante, después de ensamblar la estrategia del módulo, no olvides hacer clic en “Guardar”.

  • Introducción al módulo de herramientas de visualización

Puede ver que hay muchas categorías de módulos en el lado izquierdo del área de edición visual, y hay muchos módulos visuales disponibles en cada categoría.

Módulo de visualización para crear una estrategia comercial: primer vistazo Hay 11 categorías en total.

  • Módulo de herramientas:

    Módulo de visualización para crear una estrategia comercial: primer vistazo


    • ### 1. Información de salida:

    Este módulo se suele utilizar en combinación con módulos de texto, como se muestra a continuación: Módulo de visualización para crear una estrategia comercial: primer vistazo Puede ingresar una cadena en el módulo de clase de texto, de modo que cuando ejecute el módulo “información de salida”, se imprimirá el contenido de la cadena en el módulo de texto. Módulo de visualización para crear una estrategia comercial: primer vistazo Prueba retrospectiva: Módulo de visualización para crear una estrategia comercial: primer vistazo

    Como el código del lenguaje JavaScript:

      function main(){
          Log("你好,可视化编程!")
      }
    

    • ### 2. Notificación push de WeChat:

    Este módulo parece igual que “Información de salida”, excepto que genera información y la envía a la cuenta de WeChat vinculada a la cuenta actual. Módulo de visualización para crear una estrategia comercial: primer vistazo Módulo de visualización para crear una estrategia comercial: primer vistazo

    Como el código del lenguaje JavaScript:

      function main () {
          Log("微信推送!@")
      }
    

    • ### 3. Lanzar una excepción

    El módulo de lanzamiento de excepción permite que el programa genere un error y luego detenga la ejecución del programa (sin escribir código de manejo de excepciones). Módulo de visualización para crear una estrategia comercial: primer vistazo

    Esto es similar a la estrategia de JavaScript donde la función throw “string to be output” se ejecuta directamente en la función principal.

      function main () {
          throw "第一句就抛出异常,让程序停止!"
      }
    

    Resultados del backtesting: Módulo de visualización para crear una estrategia comercial: primer vistazo Generalmente se utiliza con mayor frecuencia durante la depuración, por ejemplo, cuando se desea que el programa se detenga bajo una determinada condición e imprima algunos datos en ese momento para facilitar la observación. O puede colocar un módulo que lance excepciones en el flujo de código donde puedan ocurrir problemas, para que el programa pueda informar errores y descubrir algunos errores.


    • ### 4. Hibernación

    Módulo de hibernación Módulo de visualización para crear una estrategia comercial: primer vistazo Como en la estrategia de JavaScript:

      function main () {
          Sleep(1000 * 5)
      }
    

    Pruebe el módulo de hibernación: Módulo de visualización para crear una estrategia comercial: primer vistazo Resultados del backtesting: Módulo de visualización para crear una estrategia comercial: primer vistazo


    • ### 5. Ingresos por impresión

    Módulo de visualización para crear una estrategia comercial: primer vistazo

    Este módulo es similar a la función LogProfit de la API de la plataforma de comercio cuantitativo de Inventor, que imprime el registro de ganancias y dibuja automáticamente la curva de ganancias en función de los parámetros de entrada.

    Por ejemplo: Módulo de visualización para crear una estrategia comercial: primer vistazo La ejecución de la prueba retrospectiva se muestra a continuación: Módulo de visualización para crear una estrategia comercial: primer vistazo El código de política de JavaScript correspondiente es el siguiente:

      function main () {
          LogProfit(1)
          Sleep(1000 * 5)
          LogProfit(2)
          Sleep(1000 * 5)
          LogProfit(3)
          Sleep(1000 * 5)
          LogProfit(2)
          Sleep(1000 * 5)
          LogProfit(5)
      }
    

    Se puede empalmar en cualquier ubicación donde desee generar información de ingresos.


    • ### 6. Bucle

    Módulo de visualización para crear una estrategia comercial: primer vistazo El módulo de bucle puede envolver una serie de combinaciones de módulos empalmados y dejar que esta combinación de módulos se ejecute en un bucle.

    prueba: Módulo de visualización para crear una estrategia comercial: primer vistazo Resultados del backtesting: Módulo de visualización para crear una estrategia comercial: primer vistazo Se puede observar que después de que el módulo de bucle envuelve la combinación de módulos que consta de Print Profit y Sleep, la combinación de módulos se ejecutará de forma continua.


    • ### 7. Ejecución de bucle cada N segundos

    Módulo de visualización para crear una estrategia comercial: primer vistazo El uso de este módulo es básicamente el mismo que el del módulo de bucle, la única diferencia es que este módulo tiene una función de suspensión incorporada. Módulo de visualización para crear una estrategia comercial: primer vistazo


    • ### 8. Procesamiento de precisión

    Módulo de visualización para crear una estrategia comercial: primer vistazo Este módulo se puede utilizar cuando se necesita controlar con precisión módulos variables o valores numéricos. El valor numérico de la parte del parámetro de entrada se emitirá como el valor numérico de los decimales especificados según la configuración.

    Por ejemplo, el número 3,1415926535897 se procesa con precisión. Módulo de visualización para crear una estrategia comercial: primer vistazo

    Las pruebas retrospectivas muestran: Módulo de visualización para crear una estrategia comercial: primer vistazo


    • ### 9. Limpiar el registro

    Módulo de visualización para crear una estrategia comercial: primer vistazo

    Se utiliza para borrar registros. Según los parámetros de entrada, se puede conservar una parte de los registros. Como en la documentación de la API:

      LogReset()
    

    • ### 10. Limpiar el registro de ingresos

    Módulo de visualización para crear una estrategia comercial: primer vistazo

    Se utiliza para borrar el registro de ingresos. Según los parámetros de entrada, se puede conservar una parte del registro. Como en la documentación de la API:

      LogProfitReset()
    

    Los siguientes son algunos módulos de herramientas utilizados con frecuencia

    • ### 11. Módulo funcional para la obtención de un determinado atributo del mercado

    Módulo de visualización para crear una estrategia comercial: primer vistazo

    Este módulo de herramienta debe utilizarse junto con el módulo de mercado en el “Tipo de módulo de trading”, como se muestra en la figura: Módulo de visualización para crear una estrategia comercial: primer vistazo

    Utilice el módulo de información de salida para generar el último precio de transacción del último mercado de tickers: Módulo de visualización para crear una estrategia comercial: primer vistazo

    Las pruebas retrospectivas muestran: Módulo de visualización para crear una estrategia comercial: primer vistazo

    Al igual que el código de estrategia de JavaScript:

      function main () {
          Log(exchange.GetTicker().Last)
      }
    
    • ### 12. Módulo para obtener los atributos de una determinada barra de datos de K-line

    Módulo de visualización para crear una estrategia comercial: primer vistazo

    Este módulo también debe utilizarse junto con el módulo de adquisición de datos de línea K en el “Tipo de módulo comercial”.

    Primero crea un módulo variable y nómbralo: K-line. Módulo de visualización para crear una estrategia comercial: primer vistazo Luego obtenga los datos de la línea K, utilice el módulo de datos de la línea K para obtenerlos y asígnelos al módulo variable: “Línea K”. Módulo de visualización para crear una estrategia comercial: primer vistazo Luego, utilice el módulo de longitud de lista en el “Tipo de módulo de lista” para obtener la longitud del módulo variable de la línea K, que se utiliza para especificar de qué barra de la línea K se obtendrán los datos. Módulo de visualización para crear una estrategia comercial: primer vistazo Coser juntos, como se muestra: Módulo de visualización para crear una estrategia comercial: primer vistazo Cuando se ejecuta la prueba retrospectiva, se imprime la marca de tiempo de la última barra de la línea K. Módulo de visualización para crear una estrategia comercial: primer vistazo

    • ### 13. Módulo para la obtención de datos de pedidos en el libro de pedidos

    Módulo de visualización para crear una estrategia comercial: primer vistazo

    También debe utilizarse junto con el módulo Obtener datos de profundidad en el “Tipo de módulo de transacción”.

    Módulo de visualización para crear una estrategia comercial: primer vistazo

    Establezca el índice en 0, establezca una orden de venta y obtenga la información de la orden de venta.

    Módulo de visualización para crear una estrategia comercial: primer vistazo

    Al igual que el código de estrategia de JavaScript:

      function main () {
          Log(exchange.GetDepth().Asks[0])
      }
    
    • ### 14. Módulo para obtener un determinado atributo en la información de activos

    Módulo de visualización para crear una estrategia comercial: primer vistazo Este módulo debe utilizarse junto con el módulo Obtener información de activos. Módulo de visualización para crear una estrategia comercial: primer vistazo

    Por ejemplo: imprimir el número de monedas disponibles en la cuenta corriente Módulo de visualización para crear una estrategia comercial: primer vistazo

    Las pruebas retrospectivas muestran: Módulo de visualización para crear una estrategia comercial: primer vistazo

    Como en la estrategia de JavaScript:

      function main () {
          Log(exchange.GetAccount().Stocks)
      }
    
    • ### 15. Módulo para obtener un determinado atributo en los datos del pedido

    Módulo de visualización para crear una estrategia comercial: primer vistazo

    Este módulo se utiliza para obtener el valor de un determinado atributo en los datos de la orden, como el precio o la cantidad de la primera venta en el libro de órdenes (ejemplo número 13). Módulo de visualización para crear una estrategia comercial: primer vistazo

    Resultados del backtesting: Módulo de visualización para crear una estrategia comercial: primer vistazo Como en la estrategia de JavaScript:

      function main () {
          Log(exchange.GetDepth().Asks[0].Price)
      }
    

    También se puede utilizar para obtener un determinado atributo en la información del pedido devuelta por el “Módulo de consulta de detalles del pedido” (que se explicará en la sección avanzada).

    • ### 16. Módulo para obtener los atributos de un determinado puesto en la información de puestos

    Módulo de visualización para crear una estrategia comercial: primer vistazo

    De manera similar, se debe utilizar junto con el módulo “Obtener posición de futuros”. Cabe señalar que los datos de posición que devuelve el módulo Obtener posición de futuros son una matriz (lista), que es una estructura de datos que contiene posiciones de diferentes contratos y direcciones. . Por lo tanto, debe especificar el índice al utilizarlo.

    Después de aprender tanto, combinemos una operación de cobertura, es decir, cubramos contratos a corto y largo plazo al mismo tiempo. Hacemos una cobertura de arbitraje positiva, es decir, abrimos un contrato forward corto, 1 contrato, y abrimos un contrato largo en el corto plazo.

    Módulo de visualización para crear una estrategia comercial: primer vistazo

    Resultados del backtesting: Módulo de visualización para crear una estrategia comercial: primer vistazo

Ejemplo de estrategia de visualización:

Hay más estrategias disponibles en: https://www.fmz.com/square

Otros artículos de esta serie

La programación aburrida se puede completar fácilmente utilizando bloques de construcción. ¡Pruébalo, es muy interesante!