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

Descubra las nuevas características del editor de estrategias de FMZ: cómo ChatGPT mejora significativamente su productividad cuantitativa

El autor:Los inventores cuantifican - sueños pequeños, Creado: 2023-04-01 13:07:53, Actualizado: 2023-09-18 20:16:25

[TOC] ¿Qué quieres decir?

img

Descubra las nuevas funciones del editor de estrategias de FMZ

¿Cuál es la mayor dificultad para los principiantes en el aprendizaje de transacciones cuantitativas o programadas?

  • La falta de conocimientos básicos: conceptos básicos, reglas del mercado, conocimientos de transacciones, ideas estratégicas, etc.
  • La base de programación es débil: incluye la expresión lógica, la redacción del diseño del programa, el error de programación.
  • Falta de pensamiento lógico: el proceso de pensar es fácilmente confuso, y cuanto más se piensa, más confuso es.
  • Dificultad de autoaprendizaje: el problema no se resuelve de inmediato y puede que ni siquiera esté claro dónde buscar el problema.

Con el avance de la tecnología de la IA, se pueden encontrar soluciones a estos problemas hasta cierto punto.Hablar con GPTCon una nueva actualización de la plataforma FMZ para el editor de estrategias, además de la incorporación de Chat GPT, se ha mejorado significativamente la productividad de la cuantificación.Nuevas funciones en el editor de estrategias FMZ

Diseño de código con Chat GPT

En la actualidad, aunque el Chat GPT ya es muy potente y tiene una gran comprensión de las preguntas humanas, sus respuestas siguen siendo muy difíciles de encontrar.La integridad de la descripción del problemaLa exactitud de la descripciónLos factores son muy sensibles, y si el escenario descrito, el contenido del problema, etc. no es exacto, Chat GPT no puede dar respuestas perfectas.

A continuación, resolvemos un problema de diseño de código con la función de Chat GPT del editor de políticas de la plataforma FMZ, accediendo a la plataforma FMZ y editando una página de políticas.

1 Cómo llamar a ChatGPT

img

Utilice el menú de teclado derecho en el espacio, seleccione la opción ChatGPT y haga clic para llamarChat GPT¿Qué es esto?Llama a ChatGPT con el botón K

2. Cómo hacer las preguntas

Si ahora fuera un principiante en transacciones cuantificadas, tendría una necesidad: usar K-lines para sintetizar K-lines de datos de ciclo arbitrario. Como principiante, soy un programador débil y no escribiría este tipo de algoritmos, antes solo podía buscar información, pedir ayuda a Dios, ahora tengo Chat GPT para preguntarle directamente si quiere una respuesta.La pieza de datos de la pieza de datos de la pieza de datos de la pieza de datos de la pieza de datos de la pieza de datos de la pieza de datos de la pieza de datos."Es probable que GPT no te dé una respuesta 100% disponible y que necesites describir el problema lo mejor posible". En este ejemplo de necesidad, el editor me ha estado ajustando constantemente y ha preguntado muchas veces para obtener la respuesta disponible y deseada.

在FMZ平台上调用exchange.GetRecords(60)函数可以获取一分钟K线数据,数据结构是:
[{
    Time    : 毫秒时间戳,   // 周期的起始时间  
    Open    : 1000,              
    High    : 1500,              
    Low     : 900,               
    Close   : 1200,              
    Volume  : 1000000            
}, ...]
请设计一个算法,使用一分钟K线数据合成任意分钟的K线数据,对于可以整除60分钟的周期,需要从整点的0分开始统计,使用Javascript语言实现,
这个算法单独写成一个函数,测试在function main()函数中测试,使用$.PlotRecords(KLineData, "name")画图。

Después de invocar ChatGPT, puedes ingresar el contenido de la pregunta optimizado anteriormente.

img

El Chat GPT está funcionando.

img

Esperen hasta que termine de escribir.

img

Algunas vecesChat GPTEn el código se envuelve el símbolo ```, que indica en el marcado que el contenido envuelto es el código. Así que eliminamos la primera y última línea.$.PlotRecords(KLineData, "name")Para dibujar gráficos, la política es consultar la biblioteca de líneas de dibujo para dibujar gráficos, y los gráficos son para verificar si los datos de K-línea de la síntesis de código proporcionada por Chat GPT son correctos. En cuanto a lo que es una biblioteca de clases de plantillas, ya no se trata de una descripción exhaustiva, se puede consultar la documentación de la API de FMZ, que incluye una descripción completa de la biblioteca de clases de plantillas.Dirección de la biblioteca de líneas gráficas

Chat GPTEl código dado es directamente retrotraible, y he configurado el ciclo de línea K predeterminado del sistema de retrotracción en 5 minutos para comparar el gráfico de línea K dibujado con los datos de línea K calculados por el algoritmo de Chat GPT.

img

3 ̊ Re-test Test Chat GPT, el código que fue dado

回测系统画图 ChatGPT给出的算法画图

En primer lugar, parece que el algoritmo de ChatGPT es correcto para la síntesis de 5 líneas K de 1 minuto.

4. Código completo escrito por ChatGPT

/*
合成任意分钟的K线数据
@param {Array} records - 一分钟K线数据
@param {Number} period - 合成的周期,单位为分钟
@return {Array} - 合成后的K线数据
*/
function composeKLineData(records, period) {
  var result = [];
  var index = 0;
  var open = records[0].Open;
  var high = records[0].High;
  var low = records[0].Low;
  var close = records[0].Close;
  var volume = records[0].Volume;
  var time = records[0].Time - records[0].Time % (period * 60 * 1000);
  for (var i = 1; i < records.length; i++) {
    var record = records[i];
    if (record.Time < time + period * 60 * 1000) {
      high = Math.max(high, record.High);
      low = Math.min(low, record.Low);
      close = record.Close;
      volume += record.Volume;
    } else {
      result[index] = {
        Time: time,
        Open: open,
        High: high,
        Low: low,
        Close: close,
        Volume: volume
      };
      index++;
      open = record.Open;
      high = record.High;
      low = record.Low;
      close = record.Close;
      volume = record.Volume;
      time = record.Time - record.Time % (period * 60 * 1000);
    }
  }
  result[index] = {
    Time: time,
    Open: open,
    High: high,
    Low: low,
    Close: close,
    Volume: volume
  };
  return result;
}

function main() {
  var records = exchange.GetRecords(60);
  var kLineData = composeKLineData(records, 5); // 合成5分钟K线数据
  $.PlotRecords(kLineData, "KLineData");
}

Interpretación de código con Chat GPT

El ChatGPT integrado en FMZ no solo te ayuda a escribir el código, sino que también te ayuda a interpretarlo.composeKLineDataEn el menú pop-up de las funciones, haga clic con el botón derecho:

img

img

Recomendar y optimizar el código con Chat GPT

Incluso ChatGPT puede dar sugerencias de optimización, código optimizado.

img


Otras funciones nuevas en el editor

Esta actualización del editor FMZ, además de agregar la gran función de ChatGPT, es más optimizada, mejora la experiencia de uso de la escritura de programas en línea y agrega muchas funciones útiles.

Vea las combinaciones de teclas rápidas

En el espacio en blanco o al seleccionar el código, haga clic con el botón derecho y aparecerá un menú.

img

En la página web de Google se muestra una combinación de teclas de acceso rápido con varias funciones.

img


Modificación del nombre de la cantidad

Rename Symbol, para cambiar el nombre de la variable local.

img

img

Sólo cambia el gráfico.mainNombres de variables en las funcionesrecords


Modificar todo el mismo contenido

Cambiar todas las ocurrencias, seleccionar un nombre de variable, una palabra, y editar todo el mismo contenido en el texto.

img

img


Formato (embellecimiento del código, formato de alineamiento automático)

Format Selection, formato del código seleccionado.

Format Document, todo el código está formateado.

img


Salto a las definiciones, referencias

Ir a la definición, saltar a la definición. Ir a Referencias, saltar a las referencias. Go to Symbol..., salta al nombre de la variable, al nombre de la función, etc.

img


Previsión de definiciones y referencias

Peek Definition, Definition Preview. Ver la definición del código seleccionado sin salir de la línea de código actual. Peek References, una vista previa de referencias, permite ver las referencias a la línea de código actual en otras líneas de código sin salir de la línea de código actual, y puede saltar rápidamente para comprender mejor la lógica y la estructura del código.

img


Relacionados

Más.

¿Qué quieres decir? 666

- ¿ Por qué?Comentarios después, 6.

El banco de datos de la entidadEste número es 666.

17732164739Eso está muy bien, los sueños son muy difíciles.

Los inventores cuantifican - sueños pequeñosGracias por apoyar a los inventores de la cuantificación.