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

La cuantificación del círculo de monedas es algo nuevo - que te acerca al círculo de monedas.

El autor:Los inventores cuantifican - sueños pequeños, Creado: 2021-05-06 11:20:04, Actualizado: 2023-09-21 21:03:14

img

El círculo de monedas cuantificados transacciones de la nueva apariencia que te lleva cerca de la moneda cuantificados (iii)

Información errónea

En los artículos anteriores, hemos aprendido que lo que se conoce como programación, cuantificación de transacciones es un programa de guiones basado en los datos obtenidos de los intercambios, que después de una serie de cálculos, juicios y disparos realiza algunas operaciones para operar las cuentas de los intercambios. Estos actos de obtención de datos, operaciones de cuentas se realizan a través de la interfaz API de los intercambios.

Por supuesto, los programas programados, los sistemas de negociación cuantificados o los programas desarrollados por el propio mercado tendrán una variedad de señales de error y mensajes de error. Estos mensajes de error no se limitan a los mensajes de error de la interfaz API del intercambio. También hay errores de ejecución, errores de configuración, errores de programación, errores de gramática, etc.

En las plataformas de intercambio cuantitativo de inventores, la información errónea también se divide probablemente en dos grandes categorías:

  • El error de gramática estratégica Estos errores son más comunes, generalmente debido a la falta de conocimiento de la programación de los estudiantes, y a errores gramaticales en la redacción de código en la etapa de prueba de aprendizaje.

    img

    El código escribe menos caracteres, como paréntesis. Estos errores generalmente aparecen en las páginas de políticas de edición, y la política también no se ejecuta.

    imgPor lo tanto, después de escribir la política, echa un vistazo a la rutina de edición de la página de política de la plataforma para ver si hay un pequeño XX rojo, si es así, seguramente hay un error obvio.

  • Error de programa en ejecución causado por un programa BUG El programa tiene un BUG, y cuando se ejecuta un programa, el desencadenamiento de una anomalía causa que el programa se detenga de forma inusual, mostrando este tipo de mensajes de error.

    img

    img

    Este tipo de errores pueden causar que el programa se detenga y deje de funcionar.

  • Errores causados por configuración y configuración incorrectas

    En la plataforma FMZ, las transacciones se definen generalmente como:X_YEn este formato, X representa el nombre de la moneda de negociación y Y representa el nombre de la moneda de facturación (por ejemplo, la moneda de facturación de la pareja de contratos de negociación local de divisas se suele representar en USD, como se ha descrito en los artículos anteriores).BTC_USDTSi escribo la transacción por error, escriboBTC-USDT

    img

    En la plataforma FMZ, un error en el sistema de retransmisión:

    img

    En el disco real, el error fue:

    img

    Además, un error que Liu Xiaobo suele cometer:

    https://www.fmz.comimg

    Este tipo de errores son causados por la modificación de la contraseña de la cuenta de la plataforma FMZ, lo que provoca que los objetos de intercambio configurados se encuentren en el servidor.API KEYFallo (la clave de API del usuario está encriptada en el navegador y configurada en la plataforma FMZ), la política no se puede iniciar, por lo que se produce un error).

  • Error de llamada de interfaz

    Los errores de llamada de interfaz son frecuentes en la política de ejecución, y en artículos anteriores aprendimos que las interfaces en la plataforma FMZ se dividen en:Interfaz que genera las solicitudes de redInterfaz que no genera peticiones de redLos informes de errores de interfaz no provocan que el programa de política se detenga, generalmente debido a una excepción de llamada de interfaz, que devuelve datos incorrectos, y luego la política no hace errores tolerados, el error de programa causado por errores causados por errores causados por errores causados por errores (el concepto de tolerancia a errores se mencionó en artículos anteriores).

    Aquí hay una lista de algunos de los mensajes de error de interfaz que generan las solicitudes de red:

    • El tiempo de Internet

      img

      Uno de los mensajes erróneos más frecuentes que los nuevos usuarios encuentran es que utilizan un dispositivo de la red nacional (su propia computadora o servidor nacional). Dado que la mayoría de los intercambios están bloqueados, la mayoría de los intercambios no pueden acceder a la red nacional y los interfaces de acceso reportan retraso.

    • Error en el HTTP 429

      https://www.fmz.comimg

      Uno de los mensajes de error clásicos es que se llama a la interfaz de la bolsa con demasiada frecuencia, más de lo que la bolsa permite. Algunos de mis compañeros novatos pueden decirme que he solicitado más a varias bolsas de valores que a otras.API KEYO bien, si solicito varias cuentas de intercambio, no funciona. Necesitamos saber que los intercambios limitan la frecuencia de acceso a las interfaces, generalmente basadas en la dirección IP, es decir, que el servidor del intercambio rechaza el acceso siempre que las solicitudes enviadas a una dirección IP se estadísticas en esa dirección IP.

    • Error en el nivel de negocio de la interfaz de intercambio

      Los errores mencionados anteriormente son errores a nivel de red. Los errores a nivel de negocio de la interfaz de intercambio también reportan errores, por ejemplo, quiero obtener una transacción al contado, pero establezco un par de transacciones que no existe. Probé en la herramienta de desactivación de la plataforma FMZ, la herramienta de desactivación es una herramienta de prueba muy conveniente, muy adecuada para las necesidades de llamada de funciones de prueba de disco real, obtención de datos, etc.

      img

      El resultado de la ejecución de la herramienta de depuración, la ejecución de la herramienta de depuración y la ejecución en disco real no se distinguen.img

      Huobi	错误	GetTicker: Invalid ticker: {"Info":{"err-code":"invalid-parameter","err-msg":"invalid symbol","status":"error","ts":1620872079355},"High":0,"Low":0,"Sell":0,"Buy":0,"Last":0,"Volume":0,"OpenInterest":0,"Time":0}
      

      El mensaje de error aquí significa que la transacción no es válida."err-msg":"invalid symbol"¿Qué es esto? Hay muchos otros errores relacionados con el negocio, por ejemplo, algunos intercambios no admiten el valor del apalancamiento con fracciones cuando se establece el apalancamiento, en cuyo caso el valor del apalancamiento con fracciones también puede causar errores de llamada de interfaz.

    Enumera una llamada de interfaz que no genera una solicitud de red

    • Configurar el código del contrato de futuros Algunas interfaces son simplemente configuraciones de ciertas variables globales en el sistema que no generan solicitudes de red, por ejemplo:

      img

      Sin embargo, los parámetros se pasan mal o se escriben mal también.

      img

    Sin embargo, independientemente del tipo de error, la información de error que se muestra es la información clave para encontrar el problema y, por lo general, se puede ver el problema en la información de error. Se puede usar herramientas de traducción para traducir la información de error y extraer la información clave."err-msg":"invalid symbol", traducido: err msg: símbolo no válido . Probablemente se sabe que el par de transacciones está mal configurado, ya que generalmente se usa un símbolo en inglés para representar el código de transacción, el par de transacciones. En cuanto a la información de reporte de errores, nos limitamos a esto, y hay una publicación de preguntas comunes que se recopila constantemente para consultas:https://www.fmz.com/bbs-topic/1427

Sistema de detección

El sistema de retrospección también es un punto de referencia en una herramienta de cuantificación, el sistema de retrospección permite prototipos de estrategias de prueba convenientes, errores potenciales en las estrategias de prueba iniciales, problemas de lógica, etc.

A continuación se muestra una simple descripción de los diferentes niveles de lenguaje estratégico que soporta FMZ sobre el sistema de retrospección en la plataforma FMZ.

  • JavaScript también

    La respuesta del navegador, que utiliza los recursos del hardware local.

  • Python

    En la supervisión de los hosts, se puede elegir a qué host se asignará específicamente (tanto el host que se despliegue como el host público de la plataforma FMZ). Dado que la carga de los hosts públicos en la plataforma FMZ es mayor, se recomienda usar la supervisión de los hosts locales (esto también es más rápido, ya que la supervisión de los hosts públicos cancela algunas tareas de supervisión cuando hay más tareas que la carga, lo que causa la interrupción de la supervisión).

  • C++

    A diferencia de los lenguajes de guión, las políticas de C++ requieren ser compiladas antes de ser ejecutadas. Las políticas de C++ se compilarán primero en la plataforma FMZ (servidor) (si el código está escrito con problemas, la compilación puede no pasar, el cuadro de corrección de error indica directamente) (la compilación se repite en la plataforma FMZ (servidor).

  • Lengua maya

    La implementación subyacente es JavaScript, que también se ejecuta en el lado del navegador cuando se retrata.

  • Visualización

    La implementación subyacente es JavaScript, que también se ejecuta en el lado del navegador cuando se retrata.

El sistema de retrospección de la plataforma de negociación cuantificada de los inventores se divide en dos tipos de retrospección (un lenguaje de estrategia sin distinción, un lenguaje de retrospección de configuración, y la retrospección de estrategias de todos los lenguajes es la misma).

img

Las instrucciones sobre el sistema de retroevaluación pueden consultarse en el tutorial de la plataforma:

https://www.fmz.com/bbs-topic/4158#策略回测

  • 1, repetición de nivel analógico La analogía de nivel de retrospección simple es generar datos de precios en cada nodo de tiempo basados en datos de la línea K.

    K线中一根柱子不是有高开低收么,构成了一个价格框架,在这个K线代表的时间范围内,价格都在这个价格框架内,所以只要生成的价格在这个K线高开低收框架范围内,这个模拟出来的价格就是合理的。
    

    En el caso de los bloggers, la situación es similar a la siguiente:https://www.fmz.comimgPor supuesto, la situación es un poco más complicada que en el gráfico, sin profundizar en esto, para entender el mecanismo de retroalimentación a nivel de analogía. Conociendo este principio, es necesario tener en cuenta los inconvenientes de la retrospección a nivel analógico, aunque la retrospección a nivel analógico es rápida (ya que el precio generado por la analogía no es el precio real por segundo emitido por separado), pero si la estrategia se ajusta).Tendencia de cambio de ticks simuladaSi el precio de la moneda se mantiene en el mismo nivel, la estrategia puede funcionar muy bien (pero en la práctica, el precio puede no ser este tipo de movimiento, aunque el precio esté dentro del marco de este pilar K). La línea K que se utiliza para generar datos de ticks analógicos se llama línea K inferior, y el ciclo de esta línea se llama línea K.Ciclo de la línea K inferiorEn la página de configuración de la política, se establece lo siguiente:

    imgSi se establece 1 minuto, esto significa que se utilizan datos de línea K con ciclos de 1 minuto como fuente de datos para generar ticks analógicos.

    Otro punto es que para las estrategias de alta frecuencia, el uso de retrospección a nivel analógico es claramente poco adecuado. Pero para las estrategias de tendencia, el uso de retrospección a nivel analógico puede reflejar el rendimiento de la estrategia hasta cierto punto.

  • 2o, repetición a nivel de disco real Hablando de retrospección a nivel analógico, vamos a hablar de retrospección a nivel real. Simplemente, la retrospección a nivel real es la verdadera liberación de datos de precios por segundo cuando se retrospecta. Permite que la estrategia retrospecte el precio por segundo en el mercado. La desventaja es que el volumen de datos de retraso a nivel de disco real es demasiado grande para retraso en un mayor rango de tiempo (generalmente un rango de menos de un día).Datos de las cuentas, reducir el grado de profundidad de datos (datos transaccionales por letra, datos de profundidad de disco también tienen una instantánea por segundo en la revisión a nivel de disco real, por lo que el volumen de datos de revisión a nivel de disco real es enorme), para aumentar el rango de revisión apropiadamente, como se muestra en la figura:

    img

¿Cuál es la fuente de datos del sistema de retroalimentación de la plataforma de negociación cuantitativa del inventor? El sistema de retroalimentación utiliza por defecto los datos del centro de datos de la plataforma FMZ, que recopila automáticamente los datos de mercado de las diferentes monedas de los intercambios configurados y los proporciona al sistema de retroalimentación de la plataforma.

  • 1, datos de uso predeterminado en el centro de datos FMZ En algunos artículos anteriores se mencionó:https://www.fmz.com/bbs-topic/6857#量化交易平台Los datos de retroalimentación proporcionados por la plataforma solo soportan un número limitado de pares de transacciones (los datos de retroalimentación de todo el mercado, todas las monedas son números astronómicos y no se recopilan en realidad, la plataforma recopila datos de mercado de los intercambios principales, las monedas principales).

  • 2° Usar datos de fuentes de datos personalizados Se puede configurar una fuente de datos personalizada con la opción de la página de retroceso, es decir, si usted tiene datos de un intercambio, puede proporcionar un sistema de retroceso a la plataforma FMZ para su retroceso según los requisitos de formato de la plataforma FMZ.

    img

    También hay algunas instrucciones en la documentación de la API FMZ sobre los recursos de datos personalizados:https://www.fmz.com/api#自定义数据源

    En la biblioteca FMZ también hay algunos programas:img

    Los estudiantes interesados pueden buscar referencias.

Aprender, probar y pensar

La mayoría de las transacciones son programadas y cuantificadas.AprendiendoLas pruebasPensamiento¿Qué es esto? Pensar en un problema no es pensar en el vacío, es ineficaz.Buscar informaciónY luego¿Qué es esto?Pensamiento y análisisSi el problema no ha sido resuelto, haga lo siguiente.

Pero a menudo, cuando se enfrenta a un problema, siente:

¡Oh, qué difícil es programar, cuantificar y escribir estrategias! ¡Me miró durante medio día y me quedó loco! ¡No entraste para renunciar! ¿Qué es esto?

La entrada a la plataforma FMZ es muy sencilla, primero hay que ser bueno en la búsqueda de información. Hay una gran cantidad de información disponible en la plaza, la comunidad y la biblioteca.

img

Luego está la habilidad manual, la prueba con sistemas de retrospección y herramientas de depuración puede ser muy conveniente, no se trata de probar una política completa. De hecho, si eres completamente de base 0, incluso puedes aprender las bases de la programación de JavaScript en el sistema de retrospección cuantificada FMZ.

Este es un sitio web de tutoriales de JS en el que aprendo a menudo:https://www.runoob.com/js/js-loop-for.htmlNo sólo en JS, todo tipo de conocimientos de TI pueden consultarse y aprender aquí. Por ejemplo, mi expresión normal de JS no sabe cómo usarla, ¿qué puedo hacer? Por supuesto, antes de leer la información, puedes probar con tus manos.

Un ejemplo es el siguiente:imgMe gustaría probarlo, e incluso aprender a probarlo con el sistema de retrospección de la plataforma FMZ.

Es fácil configurar un intercambio en el sistema de retrospección.img

Prueba el siguiente código:

function IsEmail(str) {
    var reg=/^\w+@[a-zA-Z0-9]{2,10}(?:\.[a-z]{2,4}){1,3}$/;
    return reg.test(str);
}

function main() {
    var strEmailAddress1 = "13512345678"
    Log(strEmailAddress1, " 是邮件地址么 ? ", " 回答:", IsEmail(strEmailAddress1))
    
    var strEmailAddress2 = "123456789@qq.com"
    Log(strEmailAddress2, " 是邮件地址么 ? ", " 回答:", IsEmail(strEmailAddress2))
}

img

¡Mira, qué buena herramienta de aprendizaje! Por ejemplo, si quiero aprender a escribir la lógica de ciclo en JavaScript, me gustaría intentarlo:

El circuito imprime los elementos de una variable de la matriz en el siguiente orden:

function main() {
    var arr = [{coinName: "BTC", price: 10000}, {coinName: "LTC", price: 100}, {coinName: "ETH", price: 2000}, {coinName: "ETC", price: 500}]
    for (var i = 0 ; i < arr.length ; i++) {
        Log(arr[i])
    }
}

img

¿Es el instante el momento en el que se siente motivado para aprender? De hecho, en FMZ, se puede leer tutoriales de JavaScript y aprender manualmente los fundamentos de JavaScript en el sistema de recuperación. La gramática de JavaScript está casi dominada, para entrar en la siguiente etapa se requiere usar la interfaz de intercambio para obtener datos de prueba, también se puede usar la plataforma FMZ.Herramientas de depuraciónEl usuario puede utilizar la aplicación para realizar pruebas de interfaces reales.

Luego hay que pensar más, hacer una contra tres, probar la verificación, el análisis de contraste, etc. Así se aprende muy rápido.


Relacionados

Más.

el lechugaElogios