Explore os novos recursos do FMZ Strategy Editor
Qual é a maior dificuldade para iniciantes em negociação quantitativa e negociação programática? Em termos gerais, existem vários.
- Falta de conhecimento básico: incluindo conceitos básicos, regras de mercado, conhecimento de negociação, ideias estratégicas, etc.
- Base de programação fraca: incluindo expressão lógica, design e escrita de programas, além de depuração e solução de problemas de programas.
- Raciocínio lógico fraco: O processo de pensamento facilmente leva à confusão, e quanto mais você pensa, mais confuso fica.
- Dificuldade no autoestudo: Quando surgem problemas, você não sabe por onde começar a resolvê-los e pode até não saber onde procurar o problema.
Com o desenvolvimento da tecnologia de IA, soluções para os problemas acima podem ser encontradas até certo ponto. Popular recentementeChat GPTEle pode ser usado como uma ferramenta para aprender, pesquisar e criar negociações quantitativas. Com a nova atualização do editor de estratégia na plataforma FMZ, o Chat GPT também foi conectado, o que melhorou muito a produtividade quantitativa. Vamos explorar isso juntos.Novos recursos do FMZ Strategy Editor!
Use o Chat GPT para ajudar no design do código
Embora as funções do Chat GPT já sejam muito poderosas e seu nível de compreensão de questões levantadas por humanos já seja muito alto. Mas a resposta que ele dá ainda éCompletude da descrição do problema、Precisão da descriçãoFatores como a entrada e saída do usuário são muito sensíveis. Se o cenário descrito ou o conteúdo da pergunta for impreciso, o Chat GPT ainda não pode dar uma resposta perfeita. Portanto, ao usá-lo para resolver alguns problemas, você precisa tentar expressá-lo correta e completamente.
Em seguida, usaremos a função Chat GPT do editor de estratégia da plataforma FMZ para resolver um problema de design de código. Faça login na plataforma FMZ e vá para uma página de edição de estratégia.
1. Como chamar ChatGPT
Use o menu do botão direito em um espaço em branco, selecione a opção ChatGPT e clique para chamarChat GPT,ouUse ⌘K para invocar ChatGPT。
2. Sobre a maneira de fazer perguntas
Se eu for iniciante em negociação quantitativa agora, tenho um requisito: "Use a linha K de um minuto para sintetizar dados da linha K de qualquer período". Como iniciante, minhas habilidades de programação são fracas e eu realmente não consigo escrever um algoritmo desses. No passado, eu só conseguia procurar informações e buscar ajuda de especialistas. Agora, com o Chat GPT, posso perguntar diretamente a ele a resposta. Claro, como mencionado acima, descreva diretamente esse requisito:"Use a linha K de um minuto para sintetizar dados da linha K de qualquer período". É muito provável que o GPT não lhe dê uma resposta 100% utilizável, e você precisa descrever o problema da forma mais completa possível. Tomando esse requisito como exemplo, continuei ajustando minhas perguntas e perguntei muitas vezes antes de obter a resposta útil que eu queria. Então vamos descrever esse requisito um pouco mais completamente:
在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")画图。
Depois de chamar o ChatGPT, você pode preencher o conteúdo da pergunta otimizada acima.
O ChatGPT começa a funcionar.
Espere até terminar.
às vezesChat GPTEnrole o código```Símbolo que indica em markdown que o conteúdo incluso é código. Então, apenas excluímos a primeira e a última linha. Porque a pergunta que fiz foi para usar$.PlotRecords(KLineData, "name")Desenho, então a estratégia deve referenciar a biblioteca de desenho de linha para desenhar. O desenho é para verificar se os dados da K-line sintetizados pelo código dado pelo Chat GPT estão corretos.
Quanto ao que é a biblioteca de modelos, não entrarei em detalhes aqui. Você pode verificar a documentação da API do FMZ.Endereço da biblioteca de desenho de linha
Chat GPTO código fornecido pode ser backtestado diretamente. Eu configurei o período K-line padrão do sistema de backtesting para 5 minutos para comparar o gráfico K-line desenhado pelos dados K-line calculados pelo algoritmo fornecido pelo Chat GPT.
3. Backtest do código fornecido pelo Chat GPT


À primeira vista, o algoritmo fornecido pelo ChatGPT para usar a linha K de 1 minuto para sintetizar a linha K de 5 minutos está correto.
4. Código completo escrito por ChatGPT
javascript
/*
合成任意分钟的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");
}
Explique o código usando o Chat GPT
O ChatGPT integrado ao FMZ não só ajudará você a escrever código, mas também a explicar o código. Selecione o código que o ChatGPT acabou de escrever.composeKLineDataFunção, clique com o botão direito para abrir o menu:
Use o Chat GPT para dar sugestões e otimizar o código
O ChatGPT pode até dar sugestões de otimização e código otimizado.
Outros novos recursos adicionados ao editor
Esta atualização do editor FMZ adiciona o recurso ChatGPT. Ele otimiza e melhora ainda mais a experiência do usuário na escrita de programas online e adiciona muitas funções convenientes.
Ver combinações de teclas de atalho
Clique com o botão direito em um espaço em branco ou quando o código for selecionado para abrir um menu.
Exibe combinações de teclas de atalho para várias funções.
Modificar nome da variável
Renomear símbolo, modificar o nome da variável local.
Somente a imagem acima será modificadamainNomes de variáveis em funçõesrecords。
Modificar todo o conteúdo idêntico
Alterar todas as ocorrências, selecionar um nome de variável ou palavra e editar todos os mesmos conteúdos no texto ao mesmo tempo.
Formatação (embelezamento de código, formato de alinhamento automático)
Seleção de formato, formata o código selecionado.
Formatar documento, formatar todos os códigos.
Ir para definição, referência
Vá para Definição, pule para a definição.
Vá para Referências, pule para referências.
Vá para Símbolo..., pule para o nome da variável, nome da função, etc.
Pré-visualização de definição, pré-visualização de referência
Definição de Peek, prévia da definição. Visualize a definição do código selecionado sem sair da linha de código atual.
Dê uma olhada nas referências, visualize a referência, visualize as referências à linha de código atual em outras linhas de código sem sair da linha de código atual e avance rapidamente para entender melhor a lógica e a estrutura do código.
- 1




















